Organisation of deployment groups
@balessan @jbpasquier I need a clarification about how we want to target our different instances types.
I recently added groups to target instances. So far we have:
all:
labs:
tests:
staging:
production:
dpo:
hublworld:
happydev:
Those are groups for targets. So I can ansible hublworld:happydev something
.
But this messes a bit with the type
of the instance dpo
, coopedia
, hubl
. I made some mappings:
- all the
dpo
group has adpo
type - all the
hublworld
andhappydev
groups have ahubl
type
But I also have hubl
types that are not hublworld
, for example investies
. And then I have issues like this one: #125 (closed) where it's not clear if I'm asked to change all the hubl
types or if it should affect only the hublworld
.
We started this conversation multiple times but I think it's time for specs. Here is my proposal:
Specs for deployment groups
We need to arrange:
- environments: lab, test, staging, production
- federations: hublworld
- instances: lab1, community-hubl
Constraints:
- federations are not cross environment
- instances are only in one federation (big assumption here)
- instances can have different
types
inside one federation
This leads us to the following layout for groups:
all:
test: # environment
testworld1: # federation
test1: # instance
test2: # instance
testworld2: # federation
test3: # instance
production: # environment
hublworld: # federation
community-hubl: # instance
...
And we keep the type
for the templates.
Does it describe what we want ?