Skip to content

Conversation

@aaronschweig
Copy link
Member

First draft of a RFC that describes a possible account-hierarchy implemention within openMFP

@aaronschweig aaronschweig requested a review from a team as a code owner July 15, 2024 11:42
Copy link
Member

@nexus49 nexus49 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think in the context you could elaborate briefly on what an account is and what purpose it has. I think you should also briefly explain the concept of "extensions" and what they do on a high level.

@@ -0,0 +1,37 @@
# RFC for openMFP Account Hierarchy
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# RFC for openMFP Account Hierarchy
# RFC for OpenMFP Account Hierarchy


## Context and Problem Statement

This document provides an outline of how and what should be achieved with an account hierarchy model within openMFP. An account will have the ability to benefit from other accounts that it is a child of, e.g., by inheriting extensions provided by its parents. This will allow for easier distribution of central extensions and give more structure to the entire account setup.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This document provides an outline of how and what should be achieved with an account hierarchy model within openMFP. An account will have the ability to benefit from other accounts that it is a child of, e.g., by inheriting extensions provided by its parents. This will allow for easier distribution of central extensions and give more structure to the entire account setup.
This document provides an outline of how and what should be achieved with an account hierarchy model within OpenMFP. An account will have the ability to benefit from other accounts that it is a child of, e.g., by inheriting extensions provided by its parents. This will allow for easier distribution of central extensions and give more structure to the entire account setup.

- Accounts within the same hierarchy must be able to inherit extensions from their parents until the root is reached.
- There is (theoretically) no limit on the depth of the hierarchy.
- There will be a root account (root of the hierarchy tree) that provides the necessary foundation for all other accounts.
- "First-Level Accounts" have a special role and act as a top-level separator for configurations.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In what way are first level accounts special? If they are we should elaborate on this more

- There will be a root account (root of the hierarchy tree) that provides the necessary foundation for all other accounts.
- "First-Level Accounts" have a special role and act as a top-level separator for configurations.

## Options Considered
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In an RFC - given that you only outline one Option, I'd skip this part as its not a ADR. Rather outline the proposal


![Account Hierarchy Overview](assets/account-hierarchy/account-hierarchy-overview.png)

The above diagram visualizes how such a tree could look. Every account currently generates a namespace. When another account resource is being placed within that namespace, the new account will be considered a child of the account that generated the namespace.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The above diagram visualizes how such a tree could look. Every account currently generates a namespace. When another account resource is being placed within that namespace, the new account will be considered a child of the account that generated the namespace.
The above diagram visualizes how such a tree could look. Every account generates a namespace. When another account resource is being placed within that namespace, the new account will be considered a child of the account that generated the namespace.

- **Pros:**
- Easy way of central distribution of extensions to all accounts in the system.
- **Cons:**
- It might be intransparent and a bit of effort to figure out the hierarchy chain up to the root account and therefore get a list of all the extensions. No newline at end of file
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well its only an effort if you consider kubectl looking at namespaces, it'd be rather easy to have a kubectl plugin for example that shows and visualizes the hierarchy

@tjbutz tjbutz added this to the 2024.Q3 milestone Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants