back-stack / back-stack/architecture-decision-records
Re-architecture to better fit the modular nature of the project
- Dominant language
- No language data
- Stars
- 4
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
The project's current state allows for a great `showcase` of the general idea behind The BACK Stack. However, it poses challenges regarding the lifecycle management of components and the modularity of said components.
To alleviate some of these challenges, I am proposing a re-architecture that will ultimately enhance the original Hub/Spoke idea and allow us to better:
- manage individual hub components
- lifecycle management of those components
- control installation/or not of components
- include new packages as needed
- break out the core code from example implementations
This new design makes a few assumptions:
1. Hub clusters are a single tenant that houses the BACK stack HUB components, nothing else
2. We are basing the install/upgrade/uninstall process through [porter](getporter.sh)
3. Each component is installed through `helm`
4. Break out the cluster/app claims to their own repository
It also introduces a new concept to the Hub/Spoke, called a Bead. Beads are 3rd party packages that allow an end user to extend the platform to their liking.
Below is the diagram describing the breakouts and decisions around the re-architecture:

Also, the following diagram is my current sketch of how I envision Beads working:

cc @JimBugwadia @patelrit @morey-tech for comments
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.