Infrastructure Kustomize + ArgoCD manifests
|
|
||
|---|---|---|
| .gitea | ||
| kustomize | ||
| templates | ||
| .gitignore | ||
| README.md | ||
🏗️ Infra — Les Clankeurs
Manifests Kustomize et ArgoCD pour déployer les projets des Clankeurs sur Kubernetes.
Structure
kustomize/
├── base/ # Ressources partagées (namespace)
│ ├── namespace.yaml
│ └── kustomization.yaml
├── bruit-map/ # Web apps
├── snippet-vault/
├── rasta-radio/
├── dead-line/
├── repo-roulette/
├── dashboard/
├── cli-weather-art/
├── git-habit-tracker/ # CLI tools
├── git-mood/
├── syslog-story/
├── changelog-gen/
└── git-summon/
Chaque projet contient
deployment.yaml— Déploiement Kubernetesservice.yaml— Service (web apps seulement)kustomization.yaml— Config Kustomizeargocd-app.yaml— Application ArgoCD
Utilisation
Kustomize direct
kubectl apply -k kustomize/<projet>
ArgoCD
Les manifests argocd-app.yaml sont dans chaque dossier. Applique-les pour créer l'Application ArgoCD:
kubectl apply -f kustomize/<projet>/argocd-app.yaml
Gitea Actions - Docker Build
Le repo inclut un workflow et une composite action pour builder et pusher des images Docker.
Option 1: Copier le workflow
Copier .gitea/workflows/build-and-push.yml dans ton projet. Il build automatiquement quand Dockerfile ou le workflow change sur main.
Secret requis: CR_TOKEN (token Gitea avec scope write:packages)
Option 2: Utiliser la composite action
Reference l'action depuis n'importe quel repo:
name: Build Image
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: les_clankeurs/infra/.gitea/actions/docker-build-push@main
with:
image-name: tea.notarock.lol/les_clankeurs/mon-projet
Inputs:
| Input | Default | Description |
|---|---|---|
registry |
tea.notarock.lol |
URL du registry |
image-name |
(requis) | Nom complet de l'image |
context |
. |
Build context |
dockerfile |
Dockerfile |
Chemin vers le Dockerfile |
push |
true |
Push l'image au registry |
tags |
`` | Tags additionnels (comma-separated) |
Secrets a configurer dans chaque repo
CR_TOKEN: Token Gitea avec permissionwrite:packages
Prerequis
- Kubernetes 1.24+
- Kustomize 4.x
- ArgoCD (optionnel, pour le déploiement automatisé)
- Registry Docker avec les images des projets
Templates
Le dossier templates/ contient des manifests génériques pour créer un nouveau projet rapidement.