pulumi/pkg/resource/deploy
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
..
deploytest Send old inputs to Delete (#14051) 2023-10-13 14:12:26 +00:00
providers Actually disable plugin acquisition (#14134) 2023-10-14 08:32:43 +00:00
builtins.go Send old inputs to Delete (#14051) 2023-10-13 14:12:26 +00:00
deployment.go Tests and fix for --target-dependents with explicit providers (#14238) 2023-10-18 13:10:22 +00:00
deployment_executor.go Track actual error in StepExecutor (#14247) 2023-10-17 06:47:32 +00:00
deployment_executor_test.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
deployment_test.go Remove source_fixed 2022-11-08 15:55:45 +00:00
doc.go Document Go packages (#6009) 2021-01-11 11:07:59 -07:00
import.go Allow `import` to create empty component resources (#14467) 2023-11-13 17:58:35 +00:00
manifest.go Split Manifest type to it's own file (#8712) 2022-01-10 12:25:24 +00:00
plan.go Move sdk/go/common/display to /pkg/display (#13954) 2023-09-18 11:01:28 +00:00
snapshot.go Fix duplicate resource error from failed delete operations (#14042) 2023-09-26 15:18:35 +00:00
snapshot_test.go all: Fix revive issues 2023-03-21 08:55:11 -07:00
source.go Change Source.Iterate to return an error (#13996) 2023-09-20 14:34:24 +00:00
source_error.go Change Source.Iterate to return an error (#13996) 2023-09-20 14:34:24 +00:00
source_eval.go [esc] Add commands for managing stack environments 2023-11-13 16:38:31 -08:00
source_eval_test.go Use `assert.NoError` rather than `assert.Nil` (#14233) 2023-10-13 09:46:07 +00:00
source_null.go Change Source.Iterate to return an error (#13996) 2023-09-20 14:34:24 +00:00
source_query.go Don't close LanguageRuntime in forkRun (#13914) 2023-10-18 12:28:34 +00:00
source_query_test.go Use `assert.NoError` rather than `assert.Nil` (#14233) 2023-10-13 09:46:07 +00:00
state_builder.go Fix duplicate resource error from failed delete operations (#14042) 2023-09-26 15:18:35 +00:00
state_builder_test.go When changing parents also fix URNs (#13935) 2023-09-14 19:52:27 +00:00
step.go Allow `import` to create empty component resources (#14467) 2023-11-13 17:58:35 +00:00
step_executor.go Wrap StepApplyFailed so we can see errors in tests (#14458) 2023-10-31 17:37:41 +00:00
step_executor_test.go [engine] RegisterResourceOutputs errors instead of panics when called twice (#14062) 2023-09-29 19:42:18 +00:00
step_generator.go Tests and fix for --target-dependents with explicit providers (#14238) 2023-10-18 13:10:22 +00:00
step_generator_test.go Use `assert.NoError` rather than `assert.Nil` (#14233) 2023-10-13 09:46:07 +00:00
target.go Add getOrganization to nodejs and python (#10504) 2022-08-31 10:33:29 +01:00