Releases: Alegrowin/cdk8s-cli
v2.0.2
v2.0.1
v2.0.0
2.0.0 (2025-03-26)
⚠ BREAKING CHANGES
- lib: the deprecated API
Duration.toISOString()has been removed. UseDuration.toIsoString()instead. - lib: CAUTION! Auto-generated resource names will change with this release. Resource names in manifests synthesized by a previous version of the CDK8s will be invalidated. Deploying new manifests will cause resources to be replaced. Temporarily, you can opt to use the legacy hashing mechanism by setting the environment variable
CDK8S_LEGACY_HASH=1. - lib:
Names.toDnsLabel()now accepts a construct scope instead of a string path, and a set of options instead ofmaxLen. - lib:
Names.toLabelValue()now accepts a construct scope instead of a string path, and a set of options instead ofmaxLen.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
- plus-17: All L2 resource names will undergo a name change (e.g
test-chart-config-configmap-233db8e7->test-chart-config-c3f7d3c0)
Resolves cdk8s-team/cdk8s#373
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
- Construct input types generated by
cdk8s importare now calledXxxPropsinstead ofXxxOptionsto conform with the CDK ecosystem. - core:
ApiObjectOptionsis now calledApiObjectProps - core:
AppOptionsis now calledAppProps - core:
ChartOptionsis now calledChartProps - core:
HelmOptionsis now calledHelmProps - core:
IncludeOptionsis now calledIncludeProps - cli: when importing k8s api objects using
cdk8s import, non-stable APIs will be have an API level postfix. For example, [email protected] will have anIngressV1Beta1API object. - cli: The
--includeCLI option has been removed since all API objects are always imported. - cli: When using the CLI to import the core Kubernetes API objects, the imported classes will now have a
Kubeprefix in order to make it easier to differentiate them from the classes offered by the high-level APIs in CDK8s+ (e.g.k8s.Deploymentis nowk8s.KubeDeployment). You can disable through the--no-class-prefixoption:cdk8s import --no-class-prefix k8s. - plus: Containers now need to be inputed as interfaces rather than classes. Instead of passing
new kplus.Container(props), simply pass inprops.
Resolves cdk8s-team/cdk8s#365
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
-
lib:
EnvValue.fromSecret(secret, key)has been removed in favor ofEnvValue.fromSecretValue({ secret, key }). -
plus:
specwas removed from all cdk8s+ constructs and that now have a flat structure. See Example for new usage. -
plus: Construct id's for deployment will change due to a latent bug that appended the word
podto them.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
- plus:
deployment.expose()now takesportas a positional argument (before:deployment.expose({ port }), now:deployment.expose(port)).
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
- lib: auto-generated resource names that included duplicate hyphens will change will be replaced when applied.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
- lib: cdk8s-plus's value of a label
cdk8s.deploymentof Pods are changed
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
- lib: resource names will now be rendered differently, omitting adjacent duplicate components.
Signed-off-by: campionfellin [email protected]
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
- lib:
cdk8sdiscontinues support for theonPrepareandonSynthesisconstruct hooks. These methods will eventually be removed from theconstructsprogramming model. - cli: enum string values are now proper enums instead of just
strings.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
- cli: the generated module names of imported CRDs now include the resource's group and not just its kind in order to ensure uniqueness. For example, when importing the Jenkins CRD, instead of 'imports/jenkins.ts
, we now haveimports/jenkins.io/jenkins.ts`.
- cli: class names are now normalized to
PascalCase.
-
please upgrade your dependency requirement for "constructs" to ^2.0.0
-
cli:
cdk8s genis nowcdk8s import k8sand output goes toimports/k8s.tsinstead of.gen/index.ts. -
cli:
cdk8s importnow generates a single file with all types, which means you will have to modify TypeScript code toimport { Deployment, Pod, ... } from './imports/k8s'instead of importing multiple files. -
plus: Remove the
specnesting level on both input and output (#347) (5e34850)
Features
- 1.0 🚀 (#91) (ebdaba1)
- add contributor instructions about using jsii docker image (#397) (bb0a5cc)
- add flag to control upgrade check (#12) (586fe28)
- added a way to import a single/multiples manifest(s) as Constructor with defaults props (de4ef21)
- allow arbitrary construct names (#64) (1309960), closes #48
- cdk8s website (#89) (430d9b7)
- cdk8s: k8s-compatible object names from construct path (1aaf8c1)
- cdk8s: k8s-compatible object names from construct path (2f3df34)
- cdk8s: the App root construct (#15) (c595240)
- chart-level labels (#355) (c545c1e)
- chart.generateObjectName (03a1d26)
- Chart.of(node) (d6a9dc0)
- chart.toJson() and apiObject.toJson() (#63) (80e8402), closes #48
- cli: "cdk8s gen" is now "cdk8s import k8s" (#43) (fb9e0b5), closes #31 #40
- cli: cdk8s import crd.yaml (#70) (5d1c278), closes #27
- cli: cdk8s init template for java (#245) (2bec62a)
- cli: cdk8s synth (#44) (d457ea9), closes #41
- cli: cdk8s.yaml (#52) (e6834d3), closes #42
- cli: class prefix for imported constructs (#370) (0b18df3), closes #140
- cli: enable using imported resources as raw manifests (#447) (aa2422e)
- cli: ignore hidden files in "cdk8s init" (#99) ([5681e14](https://g...