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 the app, and point to it.
If you include the Pulumi source in the app repo, you must push the entire repo and do a manual build of the component in the dashboard or CLI. The CLI’s
nuon apps sync will not recognize that the component has changed so will not do the build.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 and interpolation.
components/<your-component>.toml
[env_vars] block to pass environment variables into the Pulumi
execution environment.