Skip to content

Latest commit

 

History

History
127 lines (111 loc) · 3.49 KB

File metadata and controls

127 lines (111 loc) · 3.49 KB

Serenditree

About

This is the parent or root repository and starting point for Serenditree.

Table of Contents

Overview

The abstract drawing below is a non-exhaustive overview of the technology stack and shows the high level architecture of Serenditree.

technology stack and high level architecture

Development

Environment

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 help

Get the source

git 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-only

Install tools

For image-building and running the local development stack you will need the following:

sudo dnf install -y podman buildah git jq yq

For tasks related to remote clusters you will need:

sudo dnf install -y argocd exo helm kubectl tkn tofu skopeo pass

Your 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

Before building

Run sc status! It will check for issues in your environment.