Pulumi is an infrastructure-as-code framework that harnesses popular programming languages such as Go, JS/TS, Python, and .NET Platform. With env0, you can enjoy all of the benefits that are built on top of it such as Plan on Pull Request, Drift Detection, and more...
Unlike the HCL language that is used in terraform, Pulumi represents the concept of writing IaC by commonly used programming languages. There are many benefits of such concept, for example, strong-type support, homogeneous codebase, testing easiness, etc. You can read more about Pulumi in their docs.
In order to manage your Pulumi executions in env0, you may have to follow the next steps:
- Create a Pulumi Template first.
in the target repository and inject a required packages installation command (
npm ifor example, see gist).
- Connect your cloud account
- Create an environment, you can set the stack name if you already configured one, if not, env0 will create a random stack name.
Currently, env0 does not store the stack state, which means that it is saved in Pulumi's remote backend.
Beyond the common steps such as Clone, Loading variables, etc. Deploy/Destroy Pulumi environment contains the following steps:
- Pulumi Login -
pulumi login --non-interactive
- Stack Selection -
pulumi stack select --create <stack_name>
- Pulumi Preview -
pulumi preview --refresh --diff --show-replacement-steps
- Pulumi Up -
pulumi up -f --yes --refresh --diff --show-replacement-steps
- Pulumi Stack Output
- Pulumi Destroy -
pulumi destroy -f --yes --refresh --diff --show-replacement-steps
Updated over 1 year ago