From 32cffaad394e466d94acae7225e1718e11be8974 Mon Sep 17 00:00:00 2001 From: Adrien Bouvais Date: Mon, 17 Aug 2026 11:05:01 +0200 Subject: [PATCH] Synthax on README --- README.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index deaa727..22e66c4 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ the tenant resources, and a shared **MinIO** instance for S3-compatible storage. ```mermaid graph TD subgraph Git Repository - A[GitOps: gitops/tenants/] -->|Contains| B(tenant-a/config.yaml) + A[GitOps: tenants/] -->|Contains| B(tenant-a/config.yaml) A -->|Contains| C(tenant-b/config.yaml) end @@ -25,6 +25,11 @@ graph TD E -->|Deploys via Helm| F[Namespace: tenant-a] E -->|Deploys via Helm| G[Namespace: tenant-b] + + subgraph argo [Namespace: argocd] + D(Argo CD) + E(ApplicationSet) + end subgraph F [Namespace: tenant-a] F1(Jupyter Pod) @@ -47,7 +52,7 @@ graph TD --- -## 2. Meeting the Requirements +## 2. Requirements This section details how the technical choices address the specific requirements of the assessment. @@ -80,8 +85,8 @@ application containers as a non-root user. ### 2.3 Container Images & Dependencies * **Base & Dependent Images:** The project uses two custom images located in -`images/`. The `tenant-base` image contains the core OS (`python:3.12-slim-bookworm`), -security contexts, and user setups. The `tenant-jupyter` image builds on top +`images/`. The `tenant/base` image contains the core OS (`python:3.12-slim-bookworm`), +security contexts, and user setups. The `tenant/jupyter` image builds on top of the base image and installs the application requirements. * **No Hardcoded Secrets:** Images are completely stateless and free of secrets. They rely solely on environment variables injected at runtime via Kubernetes Secrets. @@ -90,7 +95,7 @@ rely solely on environment variables injected at runtime via Kubernetes Secrets. * **Gitea Actions Pipeline:** The CI/CD workflow (`.gitea/workflows/`) automatically manages the image lifecycle and code quality. -* **Validation:** Helm charts and Kubernetes manifests are validated before deployment. +* **Validation:** Helm charts and tenant configs are validated before deployment. * **Ordered Build Strategy:** The pipeline respects the image hierarchy. It builds the base image first, then uses it to build the Jupyter image. Triggered on `*.*.*` tags, it pushes the versioned artifacts to a private Docker registry. @@ -111,6 +116,9 @@ using the `Reflector` Kubernetes addon. This section provides the step-by-step instructions to set up the local Kubernetes cluster and bootstrap the GitOps environment. +*Note: You will not be able to use this repo directly as it require credentials for +my selfhosted gitea and docker registry.* + ### 3.1 Prerequisites Ensure the following tools are installed on your machine (e.g., via Homebrew on macOS):