Important
CDK Terrain migration guides available at migrating to v0.23 Refer to the FAQ for clarifications about this fork
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 OpenTofu or Terraform. This gives you access to the entire OpenTofu/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.
CDKTN includes two packages:
- cdktn-cli - A CLI that allows users to run commands to initialize, import, and synthesize CDK Terrain applications.
- cdktn - A library for defining Terraform resources using programming constructs.
- Overview
- Examples and Guides covering Typescript, Python, Java, C# and Go
Hands-on: Try the tutorials in the Tutorials section.
Refer to the documentation for more detail about how to build and manage CDKTN applications, including:
-
Application Architecture: Learn the tools and processes that CDKTN uses to leverage the Terraform ecosystem and convert code into Terraform configuration files. It also explains the major components of a CDKTN application and how those pieces fit together.
-
Project Setup: Learn how to create a new CDKTN project from a pre-built or custom template. Also learn how to convert an existing HCL project into a CDKTN 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 the cdk.dev - #cdk-terrain channel).
- 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 cdk-terrain/
yarn installBuild the project and packages.
yarn build