This is the parent or root repository and starting point for Serenditree.
The abstract drawing below is a non-exhaustive overview of the technology stack and shows the high level architecture of Serenditree.
In the following steps $_ST_HOME refers to the root folder containing all submodules. If you clone into a folder
called Serenditree you will get the following structure:
Serenditree/
├── .git
├── .gitmodules
├── README.md
├── assets
├── branch
├── leaf
└── stem
The source is structured as follows:
- stem: Command-line interface, GitOps, and IaC.
- branch: The Quarkus backend.
- leaf: The Angular frontend.
Serenditree includes a command-line interface (sc) at $_ST_HOME/stem/cli.sh. For convenience, you should link it to
a directory that is included in your $PATH!
# Symbolic link creation
ln -s ${_ST_HOME}/stem/cli.sh ~/.local/bin/sc && sc helpgit clone \
--recurse-submodules \
--remote-submodules \
git@github.com:serenditree/root.git \
$_ST_HOME
ln -s ${_ST_HOME}/stem/cli.sh ~/.local/bin/sc
sc git -- checkout dev
sc git -- pull --ff-onlyFor image-building and running the local development stack you will need the following:
sudo dnf install -y podman buildah git jq yqFor tasks related to remote clusters you will need:
sudo dnf install -y argocd exo helm kubectl tkn tofu skopeo passYour pass password store needs the following items:
> pass serenditree
├── app
│ ├── branch.jsonWebKey
│ ├── rootUser.db.password
│ ├── rootUser.db.user
│ ├── rootUser.root.password
│ └── terraCerts.email
├── cicd
│ ├── terraArgocd.password
│ ├── terraTekton.basic.github
│ ├── terraTekton.basic.quay
│ ├── terraTekton.basic.redhat
│ └── terraTekton.webhook
├── ext
│ ├── ghcr.io
│ ├── github.com
│ ├── openshift.com
│ ├── quay.io
│ ├── redhat.io
│ └── robot.quay.io
├── iam
│ ├── backup-seed.access
│ ├── backup-seed.secret
│ ├── backup-user.access
│ ├── backup-user.secret
│ ├── data.access
│ ├── data.secret
│ ├── scaler.access
│ ├── scaler.secret
│ ├── serenditree.access
│ ├── serenditree.secret
│ ├── traces.access
│ └── traces.secret
├── o11y
│ ├── terraScope.password
│ ├── terraScope.webhook
│ ├── terraTraces.metastore.password
│ ├── terraTraces.metastore.postgresPassword
│ ├── terraTraces.metastore.uri
│ └── terraTraces.metastore.username
├── oidc
│ ├── at.id
│ ├── at.secret
│ ├── at.url
│ ├── de.id
│ ├── de.secret
│ └── de.url
└── vault
Run sc status! It will check for issues in your environment.