Scopes
The scope of a command determines:
- If it has access to zero, one, or many
Profiledirectories. - If it has access to zero, one, or many
Flowdirectories. - Whether it can deserialize profile params.
- Whether it can deserialize flow params.
- Whether it can deserialize states from each flow directory.
Scenario: envman is an example tool that manages server environments.
In the following directory structure:
internal_dev_a,customer_a_dev,customer_a_prodare all separate Profiles.deploy,config, andbenchmarkare separate Flows.- Each flow tracks its own
flow_params.yaml,states_goal.yaml, andstates_current.yaml
# peace app dir
path/to/repo/.peace/envman
|- 📝 workspace_params.yaml
|
|- 🌏 internal_dev_a
| |- 📝 profile_params.yaml
| |
| |- 🌊 deploy
| | |- 📝 flow_params.yaml
| | |- 📋 states_goal.yaml
| | |- 📋 states_current.yaml
| |
| |- 🌊 config
| |- 🌊 benchmark
|
|- 🌏 customer_a_dev
| |- 📝 profile_params.yaml
| |
| |- 🌊 deploy - ..
| |- 🌊 config - ..
|
|- 🌏 customer_a_prod
|- 📝 profile_params.yaml
|
|- 🌊 deploy - ..
|- 🌊 config - ..
See each page for details of each scope:
- No Profile No Flow: Commands that only work with workspace parameters.
- Single Profile No Flow: Commands that work with a single profile, without any items.
- Single Profile Single Flow: Commands that work with one profile and one flow.
- Multi Profile No Flow: Commands that work with multiple profiles, without any items.
- Multi Profile Single Flow: Commands that work with multiple profiles, and a single flow.