Skip to content

Adoption & Ecosystem ​

Who uses it ​

Neither the cdk8s-core repository nor the umbrella cdk8s-team/cdk8s repository ships an ADOPTERS file, and no public case study, talk, or engineering blog naming a specific production user was found during this research. Rather than invent adopters, this page reports measurable signals only.

What can be stated with a citation is the origin and governance: cdk8s came out of AWS, which has continued to publish about it on its official blogs (AWS containers blog), and it is a CNCF Sandbox project (CNCF project page).

Adoption signals ​

Measured 2026-06-26 via the GitHub API. Note that stars accrue to the umbrella repository, while contributions land on the implementation repository.

RepositoryStarsForksNotes
cdk8s-team/cdk8s (umbrella)4830313website, docs, cross cutting issues
cdk8s-team/cdk8s-core (engine)8633~59 contributors (including anonymous)

Release cadence is high: the engine reached v2.70.80 by 2026-06-23, indicating frequent automated releases. The package is distributed on npm as cdk8s (npm) and, through jsii (JavaScript Interop Interface), on PyPI, Maven Central, NuGet, and as a Go module.

Ecosystem ​

The project is split into several repositories under the cdk8s-team organization:

  • cdk8s-plus: a higher level intent based API with typed classes such as Pod and Deployment built on top of the raw ApiObject layer.
  • cdk8s-cli: the command line tool providing cdk8s init (scaffold a project), cdk8s import (generate typed constructs from CRDs or the Kubernetes API), and cdk8s synth.
  • cdk8s-cdktf-resolver: integration that lets cdk8s reference CDKTF (CDK for Terraform) outputs.
  • cdk8s-operator: runs cdk8s code as a Kubernetes operator.

CDK8s also integrates with Helm: src/helm.ts in the core engine can pull a Helm chart into the construct tree. Because cdk8s sits on the same constructs library as AWS CDK and CDKTF, abstractions and patterns carry across those tools.

Alternatives ​

AlternativeDiffers by
HelmRenders YAML from Go templates over a values file. cdk8s uses a real programming language with types and control flow instead of template strings.
KustomizeOverlays patches onto existing base YAML. cdk8s synthesizes YAML from scratch in code.
jsonnet / ytt (Carvel)Purpose built data templating languages. cdk8s uses general purpose languages (TypeScript, Python, Java, Go, C#).
PulumiAlso defines infrastructure in general purpose languages, but applies changes to the cluster itself. cdk8s only synthesizes manifests and leaves apply to kubectl or a GitOps controller.

Pick cdk8s when you want typed, testable, composable manifests in a language your team already uses and you are happy to apply the output separately. Pick Helm or Kustomize when you want a packaging or overlay format with no programming language build step. Pick Pulumi when you want one tool that both defines and applies cluster state.