Configuring a Pulumi component
To configure a Pulumi component, specify a repo, the Pulumi runtime, and any stack configuration values the program requires.components/<your-component>.toml
runtime field selects the language your Pulumi program is written in and
must match the runtime declared in the project’s Pulumi.yaml. Supported
runtimes are go, nodejs, python, dotnet, java, and yaml.
You can configure Pulumi components to use either a public repo (using a
public_repo block) or a private GitHub repo (using a connected_repo block).
Read more about VCS configuration here.
You can also put the Pulumi source inside of the same repo as your app config, and point to it.
If you include the Pulumi source in the app config repo, push the source along with the rest of the repo. A branch run rebuilds a component when its config changes, so a push that changes only the Pulumi source does not rebuild it. After that push, run
nuon branches trigger --branch-id <branch> --force, or build the component manually in the dashboard or CLI.pulumi_version.
components/<your-component>.toml
Configuring stack config
Use the[config] block to set Pulumi stack configuration values, equivalent to
pulumi config set. Keys use the namespace:key format — for example, aws:region
targets the AWS provider, while a project-scoped key such as kitchen-sink:install_id
is read by your program via config.New(ctx, "kitchen-sink").
Config values support component variables, so they
can access inputs, other components, the sandbox, and details about the install
itself using templating.
components/<your-component>.toml
[env_vars] block to pass environment variables into the Pulumi
execution environment.