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.
Image

Why should you use CDK for Kubernetes?

Image

Harness the power of code

Utilize code completion, loops, conditionals and testing for manifests, in your preferred programming language!
Image

Simplify application workflows

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

Define best practices

Deliver faster by composing and sharing reusable components through code libraries

Features

Image

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.
Image Image Image Image
Image

Language support

cdk8s lets you define applications using Typescript, JavaScript, Python, Java, and Go. Support for more languages is coming soon.
Image Image Image Image Image
Image

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.
Image

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.
Image

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

cdk8s is a Cloud Native Computing Foundation Sandbox Project