Merge pull request 'Synthax on README' (#2) from test into main
Reviewed-on: #2
This commit is contained in:
commit
b9eeab3e57
18
README.md
18
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
|
||||
|
||||
@ -26,6 +26,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)
|
||||
F2(ServiceAccount)
|
||||
@ -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):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user