temboard
temboard copied to clipboard
[RFC] Replacing Groups of Instances with Environment
temBoard development team plans to replace the group of instance object with a new concept of environment.
As of temBoard 8:
- an instance can belong to zero or more instance groups.
- a group of instance can have zero or more allowed group of users.
For temBoard 9, we'll replace this with the following behaviour:
- an instance is attached to one single environment.
- an environment is attached to a single dedicated group of users named
<env>/dba
.
Transition
temBoard 9 will migrate groups of instances to environnements as following:
- create an environment for each combination of groups of instances.
- join names of all groups with dashed to create environment from multiple groups of instances.
- create a group
<env>/dba
for each environment. - add all users from all groups of user allowed to all groups of instances combined to the new
/dba
group. - remove all non
/dba
groups of users
Note that access configuration to instances will be preserved. Users won't access to other instances.
Example
For instance, if you have the following setup :
- A group of instances named
production
- A group of instances named
app
- A group of users named
production users
allowed to manageproduction
instances - A group of users named
app users
allowed to manageapp
instances - A group of users named
superadmins
allowed to manageproduction
andapp
instances - An instance named
pagila
that belongs toproduction
andapp
- An instance named
acme
that belongs toproduction
Here is a visual representation for the example as of temBoard 8:
flowchart TD
j{{John}} -..-> au
p{{Paul}} -..-> pu
r{{Ringo}} -..-> sa
au[app1_users] --> app1
subgraph app1
acme[(ACME)]
pagila2[(pagila)]
end
pu[productions_users] --> production
subgraph production
pagila[(pagila)]
end
sa[superadmins] ---> app1
sa ---> production
temBoard 9 will create the following environnements :
- An environment
production-monitoring
containing the instancepagila
- A group of users named
production-monitoring-superadmins/dba
containing the members ofproduction users
,monitoring users
andsuperadmins
- An environment
monitoring
containing the instanceacme
- A group of users named
monitoring-superadmins/dba
containing the members ofmonitoring users
andsuperadmins
The former groups of instances (production
and app
) will be deleted. The former groups of users (production users
, monitoring users
and superadmins
) will be deleted.
Here is the visual representation of the migrated inventory:
flowchart TD
j{{John}} -..-> au
r{{Ringo}} -..-> au
r{{Ringo}} -..-> pu
p{{Paul}} -..-> pu
au[app1_users-superadmins/dba] --> app1_users-superadmins
subgraph app1_users-superadmins
acme[(ACME)]
end
pu[production_users-app1_users-superadmins/dba] --> production_users-app1_users-superadmins
subgraph production_users-app1_users-superadmins
pagila[(pagila)]
end
Preparing the transition
temBoard 8.2 warns you about :
- instance in multiple groups of instances.
- groups of instance with multiple groups of users.
If you want to control the automatic creation of environments in temBoard 9.0:
- ensure all instances are in a single group of instances.
- ensure all groups of instances are attached to a single groups of users.
Feedback
Use the comment below to give us feedback. Thanks for using and contributing to temBoard!
-- temBoard development team.