Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC] Replacing Groups of Instances with Environment #1283

Open
bersace opened this issue Oct 24, 2023 · 0 comments
Open

[RFC] Replacing Groups of Instances with Environment #1283

bersace opened this issue Oct 24, 2023 · 0 comments

Comments

@bersace
Copy link
Member

bersace commented Oct 24, 2023

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 manage production instances
  • A group of users named app users allowed to manage app instances
  • A group of users named superadmins allowed to manage production and app instances
  • An instance named pagila that belongs to production and app
  • An instance named acme that belongs to production

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 instance pagila
  • A group of users named production-monitoring-superadmins/dba containing the members of production users, monitoring users and superadmins
  • An environment monitoring containing the instance acme
  • A group of users named monitoring-superadmins/dba containing the members of monitoring users and superadmins

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant