No description
  • TypeScript 92%
  • Go 1.7%
  • JavaScript 1.7%
  • Python 1.5%
  • Java 1.1%
  • Other 1.8%
Find a file
2025-12-10 19:07:02 +05:00
.github chore(docs): remove documentation that has been moved to hashicorp/web-unified-docs 2025-08-13 18:32:07 +02:00
.husky chore: Remove lines as recommended by husky warning 2025-03-17 11:53:41 +01:00
.vscode fix: list rendering for blocks. For now ignore metadata 2024-01-09 19:02:26 +00:00
cdk.tf feat(provider-generator): Ensure we have unique names for modules (#3439) 2024-01-18 17:12:27 +01:00
docs Update docs/README.md 2022-03-23 12:03:34 -07:00
examples chore: Use the minimum LTS version 2025-06-02 13:54:38 +02:00
packages chore: Skip mapping for no reason 2025-06-02 13:55:05 +02:00
test chore: Update test snapshot 2025-05-15 20:47:09 +00:00
tools chore(docs): remove documentation that has been moved to hashicorp/web-unified-docs 2025-08-13 18:32:07 +02:00
website chore(docs): remove documentation that has been moved to hashicorp/web-unified-docs 2025-08-13 18:32:07 +02:00
.copywrite.hcl fix: use local NPM registry for running integration tests on unix systems 2023-07-26 09:12:56 +00:00
.devcontainer.json Remove jfrog references 2021-02-17 15:40:20 -08:00
.dockerignore Terraform 0.13 Compatibility (#285) 2020-08-07 17:05:11 -07:00
.gitattributes chore: ensure GitHub treats us as a TypeScript project 2023-08-18 12:00:03 +02:00
.gitignore chore(docs): remove documentation that has been moved to hashicorp/web-unified-docs 2025-08-13 18:32:07 +02:00
.mise.toml add mise en place config 2024-07-29 11:56:17 +02:00
.npmignore Ignore terraform-cdk.github-issues 2020-10-05 10:25:57 +02:00
.prettierignore chore(docs): remove documentation that has been moved to hashicorp/web-unified-docs 2025-08-13 18:32:07 +02:00
.prettierrc.json chore(cli): add prettier 2021-06-28 17:17:36 +02:00
.terraform.versions.json chore: update CI to run against TF 1.6.5 and 1.5.5 2023-12-07 10:55:10 +00:00
.versionrc.json chore(release): Revert "Merge pull request #1277 from hashicorp/revert-1257" 2021-11-08 23:06:05 +01:00
.yarnrc.yml chore: add required copyright headers 2025-03-17 11:53:41 +01:00
BUGPROCESS.md chore: format BUGPROCESS.md using prettier 2021-07-07 13:15:20 +02:00
CHANGELOG.md chore: Update changelog 2025-06-04 13:59:41 +02:00
CONTRIBUTING.md chore(docs): remove documentation that has been moved to hashicorp/web-unified-docs 2025-08-13 18:32:07 +02:00
Dockerfile chore: Upgrade base image for docker image used in building CDKTF 2025-05-23 12:10:20 +02:00
eslint.config.mjs fix: Prettier version, eslint config, run prettier, solve errors 2025-03-17 11:53:41 +01:00
go.work revert: example versions to 1.18 since the JSII superchain container we use is go 1.18.5, and we cannot upgrade it yet 2025-02-04 11:25:12 +00:00
go.work.sum chore: Run generate-docs 2025-03-18 11:28:49 +00:00
lerna.json chore: Upgrade JSII Pacmak and lock react versions 2025-03-17 11:53:41 +01:00
LICENSE chore: update LICENSE 2022-11-11 14:06:40 +01:00
nx.json chore: use nx feature for parallelizing and caching 2023-04-14 17:11:48 +02:00
package.json chore(docs): remove documentation that has been moved to hashicorp/web-unified-docs 2025-08-13 18:32:07 +02:00
README.md Add Banner to README.md 2025-12-10 19:07:02 +05:00
yarn.lock chore(deps): bump tar-fs from 2.1.2 to 2.1.3 2025-06-04 12:43:48 +02:00

The Future of Terraform CDK

Sunset Notice

Terraform CDK (CDKTF) will sunset and be archived on December 10, 2025. HashiCorp, an IBM Company, will no longer maintain or develop the project after that date. Unfortunately, Terraform CDK did not find product-market fit at scale. HashiCorp, an IBM Company, has chosen to focus its investments on Terraform core and its broader ecosystem.

As of December 10, 2025, Terraform CDK will be archived on GitHub, and the documentation will reflect its deprecated status. The archived code will remain available on GitHub, but it will be read-only. No further updates, fixes, or improvements (including compatibility updates) will be made.

You will be able to continue to use Terraform CDK at your own risk. Terraform CDK is licensed under the Mozilla Public License (MPL). HashiCorp, an IBM Company, does not apply any additional restrictions. We encourage community forks if theres interest in continuing development independently.

Migration to HCL

You can use the following command to generate Terraform-compatible .tf files directly from your Terraform CDK project:

cdktf synth --hcl

This will produce readable HCL configuration files, making it easier to migrate away from Terraform CDK. After running the command, you can use standard Terraform CLI commands (terraform init, terraform plan, terraform apply) to continue managing your infrastructure. Please note that while this helps bootstrap your configuration, you may still need to review and adjust the generated files for clarity, organization, or best practices.

Note on AWS CDK

If your infrastructure is defined in Terraform CDK but also tightly integrated with AWS CDK, you may find it more consistent to migrate directly to the AWS CDK ecosystem. If you are not using AWS CDK, we highly recommend migrating to standard Terraform and HCL for long-term support and ecosystem alignment.

FAQ

Q: Is CDKTF still being developed?

A: No. CDKTF will sunset and be archived on December 10, 2025. HashiCorp, an IBM Company, will no longer maintain or develop the project after that date.

Q: Why is CDKTF being sunset?

A: CDKTF did not find product-market fit at scale. Weve chosen to focus our investments on Terraform core and its broader ecosystem.

Q: Will CDKTF be removed from GitHub?

A: CDKTF will be archived on GitHub, and documentation will reflect its deprecated status.

Q: Can I still use CDKTF after it's sunset?

A: Yes, the archived code will remain available on GitHub, but it will be read-only. No further updates, fixes, or improvements will be made.

Q: Will CDKTF continue to support new versions of Terraform or providers?

A: No. Compatibility updates will not be made after the EOL date.

Q: Can I fork CDKTF and maintain it myself?

A: Yes. CDKTF is open source, and we encourage community forks if theres interest in continuing development independently.

Q: Can I keep using CDKTF?

A: You may continue to use it at your own risk. HashiCorp, an IBM Company, will no longer be maintaining it.

Q: Is there a migration tool?

A: You can use the following command to generate Terraform-compatible .tf files directly from your CDKTF project:

cdktf synth --hcl

This will produce readable HCL configuration files, making it easier to migrate away from CDKTF. After running the command, you can use standard Terraform CLI commands (terraform init, terraform plan, terraform apply) to continue managing your infrastructure. Please note that while this helps bootstrap your configuration, you may still need to review and adjust the generated files for clarity, organization, or best practices.

Q: What migration guidance can we provide to customers?

A: For users looking to migrate away from CDKTF:

If your infrastructure is defined in CDKTF but also tightly integrated with AWS CDK, you may find it more consistent to migrate directly to the AWS CDK ecosystem.

If you are not using AWS CDK, we highly recommend migrating to standard Terraform and HCL for long-term support and ecosystem alignment.


npm version PyPI version NuGet version Maven Central

CDK for Terraform

Cloud Development Kit for Terraform (CDKTF) allows you to use familiar programming languages to define cloud infrastructure and provision it through HashiCorp Terraform. This gives you access to the entire Terraform ecosystem without learning HashiCorp Configuration Language (HCL) and lets you leverage the power of your existing toolchain for testing, dependency management, etc.

We currently support TypeScript, Python, Java, C#, and Go.

terraform platform

CDKTF includes two packages:

  • cdktf-cli - A CLI that allows users to run commands to initialize, import, and synthesize CDK for Terraform applications.
  • cdktf - A library for defining Terraform resources using programming constructs.

Get Started

Choose a language:

Hands-on: Try the tutorials in the CDK for Terraform collection on HashiCorp Learn.

Documentation

Refer to the CDKTF documentation for more detail about how to build and manage CDKTF applications, including:

  • Application Architecture: Learn the tools and processes that CDKTF uses to leverage the Terraform ecosystem and convert code into Terraform configuration files. It also explains the major components of a CDKTF application and how those pieces fit together.

  • Project Setup: Learn how to create a new CDKTF project from a pre-built or custom template. Also learn how to convert an existing HCL project into a CDKTF application.

  • Unit Tests: Learn how to test your application in Typescript with jest.

  • Examples: Reference example projects in every supported language and review explanatory videos and other resources.

Community

The development team would love your feedback to help guide the project.

Build

For prerequisites, refer to the following.

Clone the project repository.

git clone https://github.com/hashicorp/terraform-cdk.git

Download dependencies.

cd terraform-cdk/
yarn install

Build the project and packages.

yarn build