Important
This is a work in progress and details on this README will be updated as work progresses. Refer to the FAQ for clarifications
CDK Terrain (CDKTN) is a community fork of the Cloud Development Kit for Terraform (CDKTF). CDKTF/CDKTN allows you to use familiar programming languages to define cloud infrastructure and provision it through HashiCorp Terraform or OpenTofu. This gives you access to the entire Terraform/OpenTofu 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 and Go.
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.
Choose a language:
Hands-on: Try the tutorials in the CDK for Terraform collection on HashiCorp Learn.
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.
The development team would love your feedback to help guide the project.
- Contribute using the CONTRIBUTING.md guide.
- Ask a question on the HashiCorp Discuss using the terraform-cdk category.
- Report a bug or request a new feature.
- Browse all open issues.
For prerequisites, refer to the following.
Clone the project repository.
git clone https://github.com/open-constructs/cdk-terrain.gitDownload dependencies.
cd terraform-cdk/
yarn installBuild the project and packages.
yarn build