Cloud Development Kit for Kubernetes
cdk8s is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs. cdk8s apps synthesize into standard Kubernetes manifests which can be applied to any Kubernetes cluster.
Why should you use CDK for Kubernetes?

Harness the power of code
Utilize code completion, loops, conditionals and testing for manifests, in your preferred programming language!

Simplify application workflows
Use the same programming language to build your application and its configuration

Define best practices
Deliver faster by composing and sharing reusable components through code libraries
Features
Works with Kubernetes everywhere
You can use cdk8s to define applications for any Kubernetes cluster running anywhere, including any cloud or on-premises. cdk8s runs locally in your development environment and produces standard Kubernetes YAML that can be applied to any cluster.
Language support
cdk8s lets you define applications using Typescript, JavaScript, Python, Java, and Go. Support for more languages is coming soon.
Supports core Kubernetes objects and custom resources
You can import objects from any Kubernetes API version and custom resource definitions to use with cdk8s. This makes it easy to use cdk8s to easily write entire Kubernetes applications and keep them up to date as applications change.
Deploy through GitOps
cdk8s works great with a GitOps workflow, making it easy to see changes as you modify your configuration and between API versions. Simply use the cdk8s to synthesize new YAML configuration files and commit them to your git repo.
Community-driven
We are building cdk8s for any developer who uses Kubernetes to define their applications. We encourage contributions of any type, from fixing typos to building new features.
Go from code to config
Easily define Kubernetes applications for any cluster
Get started