back-stack / back-stack/architecture-decision-records

Re-architecture to better fit the modular nature of the project

Open
#2 12 comments 0 reactions 4 assignees Claimed by @kurktchiev View on GitHub
proposal
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:
![BackStack-ReStack-Re-Architecture (1)](https://github.com/back-stack/architecture-decision-records/assets/5804477/1e11196e-feb4-44cd-a925-694f34789270)

Also, the following diagram is my current sketch of how I envision Beads working:
![BackStack-ReStack-Beads - 3rd party addons](https://github.com/back-stack/architecture-decision-records/assets/5804477/eac0be75-926e-4629-bf2e-87dc872a21e5)

cc @JimBugwadia @patelrit @morey-tech for comments

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.