Synthax on README
This commit is contained in:
parent
7e1fa9c994
commit
32cffaad39
18
README.md
18
README.md
@ -16,7 +16,7 @@ the tenant resources, and a shared **MinIO** instance for S3-compatible storage.
|
|||||||
```mermaid
|
```mermaid
|
||||||
graph TD
|
graph TD
|
||||||
subgraph Git Repository
|
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)
|
A -->|Contains| C(tenant-b/config.yaml)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -25,6 +25,11 @@ graph TD
|
|||||||
|
|
||||||
E -->|Deploys via Helm| F[Namespace: tenant-a]
|
E -->|Deploys via Helm| F[Namespace: tenant-a]
|
||||||
E -->|Deploys via Helm| G[Namespace: tenant-b]
|
E -->|Deploys via Helm| G[Namespace: tenant-b]
|
||||||
|
|
||||||
|
subgraph argo [Namespace: argocd]
|
||||||
|
D(Argo CD)
|
||||||
|
E(ApplicationSet)
|
||||||
|
end
|
||||||
|
|
||||||
subgraph F [Namespace: tenant-a]
|
subgraph F [Namespace: tenant-a]
|
||||||
F1(Jupyter Pod)
|
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.
|
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
|
### 2.3 Container Images & Dependencies
|
||||||
|
|
||||||
* **Base & Dependent Images:** The project uses two custom images located in
|
* **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`),
|
`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
|
security contexts, and user setups. The `tenant/jupyter` image builds on top
|
||||||
of the base image and installs the application requirements.
|
of the base image and installs the application requirements.
|
||||||
* **No Hardcoded Secrets:** Images are completely stateless and free of secrets. They
|
* **No Hardcoded Secrets:** Images are completely stateless and free of secrets. They
|
||||||
rely solely on environment variables injected at runtime via Kubernetes Secrets.
|
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
|
* **Gitea Actions Pipeline:** The CI/CD workflow (`.gitea/workflows/`) automatically
|
||||||
manages the image lifecycle and code quality.
|
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,
|
* **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
|
then uses it to build the Jupyter image. Triggered on `*.*.*` tags, it pushes the versioned
|
||||||
artifacts to a private Docker registry.
|
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
|
This section provides the step-by-step instructions to set up the local Kubernetes cluster and
|
||||||
bootstrap the GitOps environment.
|
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
|
### 3.1 Prerequisites
|
||||||
|
|
||||||
Ensure the following tools are installed on your machine (e.g., via Homebrew on macOS):
|
Ensure the following tools are installed on your machine (e.g., via Homebrew on macOS):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user