Scopes

The scope of a command determines:

  • If it has access to zero, one, or many Profile directories.
  • If it has access to zero, one, or many Flow directories.
  • 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_prod are all separate Profiles.
  • deploy, config, and benchmark are separate Flows.
  • Each flow tracks its own flow_params.yaml, states_goal.yaml, and states_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: