What is Kittyhawk?
Kittyhawk is the automated Kubernetes YAML generator for Penn Labs. With Kittyhawk, you can define an application’s deployment configuration in TypeScript using objects called constructs. Instead of manually writing and maintaining complex YAML files, Kittyhawk allows you to:- Define infrastructure as code using TypeScript
- Leverage type safety to catch configuration errors before deployment
- Reuse common patterns through custom constructs
- Simplify deployments with higher-level abstractions
Why Kittyhawk?
Kubernetes YAML files are notoriously verbose and error-prone. Kittyhawk solves this by:- Providing a programmatic interface to define deployments
- Offering pre-built constructs for common Penn Labs use cases
- Automatically generating valid Kubernetes YAML from TypeScript code
- Integrating seamlessly with CDK8s and Penn Labs’ CI/CD pipeline
Key Features
- Built on CDK8s: Leverages the CDK8s framework for Kubernetes configuration
- Custom Constructs: Includes specialized constructs for Penn Labs applications:
ReactApplication- Deploy React frontendsDjangoApplication- Deploy Django backends with ASGI/WSGI supportRedisApplication- Deploy Redis instancesCronJob- Schedule automated tasks
- Type-Safe Configuration: Full TypeScript support catches errors at compile time
- Automated YAML Generation: Generates production-ready Kubernetes YAML automatically
- CI/CD Integration: Works seamlessly with Penn Labs’ deployment pipeline via Kraken
Learn More
For detailed API documentation and advanced usage, visit the Kittyhawk documentation site.Next Steps
Installation
Set up Kittyhawk in your project
Quickstart
Deploy your first application with Kittyhawk