pulumi/changelog/pending
Pat Gavlin d1ff268b10 [esc] Add commands for managing stack environments
These changes add three commands for managing a stack's environments:

- `pulumi config env init`, which creates a new environment for a stack
  based on its configuration values
- `pulumi config env add`, which adds environments to a stack's import
  list
- `pulumi config env rm`, which removes an environment from a stack's
  import list

As implied by their paths, these commands hang off of a new sub-command
of `pulumi config`, `pulumi config env`.

From the usage:

* `pulumi config env init`

Creates an environment for a specific stack based on the stack's
configuration values, then replaces the stack's configuration values with
a reference to that environment. The environment will be created in the
same organization as the stack.

* `pulumi config env add`

Adds environments to the end of a stack's import list. Imported
environments are merged in order per the ESC merge rules. The list of
stacks behaves as if it were the import list in an anonymous environment.

* `pulumi config env rm`

Removes an environment from a stack's import list.

Each of these commands previews the new stack environment and shows the
environment definition. These commands print a warning if the stack's
environment does not define any of the `environmentVariables`, `files`,
or `pulumiConfig` properties.

These changes also add an `ENVIRONMENT` block to the output of `pulumi
config` for stacks that reference environments. This block shows the
definition of the stack's environment. In order to improve the
appearence of these tables, these changes also add a helper function
that colorizes the header row.

Finally, these changes add a warning on `pulumi env add`, `pulumi env
rm`, and `pulumi up/refresh/etc.` for stacks that reference environments
that do define any of `environmentVariables`, `files`, or
`pulumiConfig`, and add a tag to update metadata that includes the
environments associated with an update.
2023-11-13 16:38:31 -08:00
..
20230908--cli-config--config-refresh-will-now-restore-secret-provider-config-from-the-last-deployment.yaml Restore secrets provider in config refresh (#13900) 2023-11-13 12:27:46 +00:00
20231031--engine--import-can-now-create-empty-component-resource-to-use-as-the-parent-of-other-imported-resources.yaml Allow `import` to create empty component resources (#14467) 2023-11-13 17:58:35 +00:00
20231031--engine--import-can-now-import-a-parent-resource-in-the-same-deployment-as-a-child-resource.yaml Allow importing a parent and child resource at the same time (#14461) 2023-11-10 13:31:11 +00:00
20231103--pkg--fixes-a-panic-in-property-mapping-logic.yaml Fix panic in mapper_encode (#14498) 2023-11-04 18:31:22 +00:00
20231103--sdk-python--add-provider-side-caching-for-dynamic-provider-deserialization.yaml Add deserialisation cache to Python dynamic provider (#14491) 2023-11-03 21:41:30 +00:00
20231103--sdkgen-go--remove-generic-tooutput-methods-from-legacy-non-generic-go-sdks.yaml [go/sdkgen] Remove generic ToOutput methods from non-generic go SDKs (#14492) 2023-11-04 12:17:41 +00:00
20231105--cli-config--add-config-subcommands-for-managing-a-stacks-environment.yaml [esc] Add commands for managing stack environments 2023-11-13 16:38:31 -08:00
20231106--cli-new--fix-panic-parsing-template-url.yaml Fix panic in isZIPTemplateURL (#14504) 2023-11-06 15:26:47 +00:00
20231110--engine--ignore-spurious-error-from-kubernetes-providers-diffconfig-method.yaml Ignore spurious error from kubernetes DiffConfig (#14533) 2023-11-11 09:59:39 +00:00
20231113--cli-new--simplifies-url-parsing-for-pulumi-new-zip.yaml Simplifies URL parsing for pulumi new <zip> (#14546) 2023-11-13 17:08:52 +00:00
20231113--components-yaml--upgrade-yaml-to-1-4-1.yaml upgrade pulumi-yaml to 1.4.1 (#14542) 2023-11-13 10:50:48 +00:00
20231113--engine--import-files-no-longer-need-parent-urns-in-the-name-table-for-resource-being-imported-in-the-same-file.yaml Auto fill in URNs for parents in import files (#14524) 2023-11-13 21:17:03 +00:00