Structuring your Spaces Treeยป
Based on experience with other tools, a first intuition might be to structure your spaces team-first or service-first. Something akin to the following picture:
However, there are likely Spacelift resources you will want to reuse across all development environment services, not across all environments for a single service. For example, a Worker Pool. That is because resources like Worker Pools are usually shared across security domains, not logical domains.
Due to this an architecture akin to the following is more advisable:
This way you can create your Worker Pools, Contexts and Policies in the dev
, preprod
, and prod
spaces, and then reuse them in all spaces below those.
Info
Make sure to have inheritance enabled in the space settings if you plan to have, for example, your vcs in a separate space above your stack