This is a fork of Pulumi's Infrastructure as Code SDK for µs Infrastructure as Code. It adds pruning of resources that depend on an unsatisfied µs wish to the deployment engine. This prevents the deployment of resources that (transitively) depend on an unsatisfied wish and triggers their deletion if they were deployed before. µs requires the Pulumi CLI of this fork instead of the official Pulumi CLI for its correct operation.
This project is a drop-in replacement for the official Pulumi CLI. For development and building from source, it requires the same setup as Pulumi, documented in CONTRIBUTING.md.
To build and install the CLI, run make install
in the repository's root directory.
It will download all dependencies, build the CLI and install to /opt/pulumi
.
Make sure that the /opt/pulumi
directory exists on your system before and that your user has the required read, write,
and execute permissions for it.
µs programs will invoke the CLI as pulumi
.
Prepend /opt/pulumi:/opt/pulumi/bin
to the PATH
environment variable to ensure this CLI version is used instead
of another Pulumi installation on your system.
To suppress the upgrade version warning at start, set the environment variable PULUMI_SKIP_UPDATE_CHECK
.
This fork uses its own versioning scheme that will always result in showing an upgrade warning otherwise.
For reference, look at our setup definition in Dockerfile, from which we build the Docker image (see below).
To check whether your setup is correct, run pulumi version
. It should only print the version number,
which for this fork will always contain -mjuz
, e.g., v1.0.0-mjuz
or v1.0.0-mjuz+dirty
.
If -mjuz
is not in the printed version number, you are most likely executing a wrong Pulumi CLI installation.
We provide a Docker image of this CLI on Docker Hub as mjuz/pulumi.
It contains all dependencies and this repository's content in /var/pulumi
,
from which the µs Pulumi CLI and the Pulumi NodeJS language and resource plugins are already installed.
It is built from Dockerfile, which might also serve as a reference for local setups.