Skip to main content

A compatibility layer for using cdk8s constructs within Terraform CDK.

Project description

CDKTF CDK8s

Status: Tech Preview Releases LICENSE build

A compatibility layer for using cdk8s constructs within Terraform CDK.

The cdk8s adapter is in technical preview, which means it's a community supported project. It still requires extensive testing and polishing to mature into a HashiCorp officially supported project. Please file issues generously and detail your experience while using the library. We welcome your feedback.

By using the software in this repository, you acknowledge that:

  • The cdk8s adapter is still in development, may change, and has not been released as a commercial product by HashiCorp and is not currently supported in any way by HashiCorp.
  • The cdk8s adapter is provided on an "as-is" basis, and may include bugs, errors, or other issues.
  • The cdk8s adapter is NOT INTENDED FOR PRODUCTION USE, use of the Software may result in unexpected results, loss of data, or other unexpected results, and HashiCorp disclaims any and all liability resulting from use of the cdk8s adapter.
  • HashiCorp reserves all rights to make all decisions about the features, functionality and commercial release (or non-release) of the cdk8s adapter, at any time and without any obligation or liability whatsoever.

Compatibility

  • cdktf >= 0.20.0
  • cdk8s >= 2.8.0
  • constructs >= 10.3.0

Usage

import { App, TerraformStack } from "cdktf";
import { App as CDK8sApp, Chart } from "cdk8s";
import { CDK8sProvider } from "cdktf-cdk8s";

import { MyCdk8sChart } from "./my-cdk8s-chart";

export class MyKubernetesStack extends TerraformStack {
  constructor(scope: Construct, name: string) {
    super(scope, name);

    const cdk8sApp = new CDK8sApp();

    // Configure your cdk8s application like usual
    new HelloKube(cdk8sApp, "my-chart");

    // For properties see https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs
    // Extends on the Provider class from @cdktf/provider-kubernetes
    new CDK8sProvider(this, "cdk8s-dev", {
      configPath: "./kubeconfig.yaml",
      configContext: "my-dev-cluster",

      // Only the cdk8sApp property is added
      // There is no need to run synth on the cdk8sApp, this is done by the provider
      cdk8sApp,
    });
  }
}

const app = new App();
new MyStack(app, "cdktf-cdk8s");
app.synth();

Contributing

We welcome your contribution. Please understand that the experimental nature of this repository means that contributing code may be a bit of a moving target. If you have an idea for an enhancement or bug fix, and want to take on the work yourself, please first create an issue so that we can discuss the implementation with you before you proceed with the work.

You can review our contribution guide to begin.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdktf_cdk8s-0.10.40.tar.gz (140.0 kB view details)

Uploaded Source

Built Distribution

cdktf_cdk8s-0.10.40-py3-none-any.whl (137.9 kB view details)

Uploaded Python 3

File details

Details for the file cdktf_cdk8s-0.10.40.tar.gz.

File metadata

  • Download URL: cdktf_cdk8s-0.10.40.tar.gz
  • Upload date:
  • Size: 140.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for cdktf_cdk8s-0.10.40.tar.gz
Algorithm Hash digest
SHA256 98ba0d7dc6c9e7d0eb3bbe2461c4ceba7520205ff32f03607e56a995fb26c893
MD5 1fd91144061a4f8c0ff3d64ced6a84dc
BLAKE2b-256 f8f4b9c598ab4d8c5de7f4a4b37911aa6883e51368c1f495567de9b7e2193cc1

See more details on using hashes here.

File details

Details for the file cdktf_cdk8s-0.10.40-py3-none-any.whl.

File metadata

File hashes

Hashes for cdktf_cdk8s-0.10.40-py3-none-any.whl
Algorithm Hash digest
SHA256 15a8c7236edb2bcaa807dfaa3d4a5b201467f266a6d8ff35e88e2eb9e31a2e5d
MD5 6c0c4be6716328efc374b0a2e57b4438
BLAKE2b-256 4dba8db3cf03cb040a2e35de6c00919a1d432aec712c3531ea4fe9d9f0e94ea0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page