L'ADR annonçait que les noms d'actions MinIO de la politique du provisionneur venaient de la documentation, pas d'un essai. Le premier apply (kadans, 2026-07-26) a répondu : tout le bloc admin passe, il manquait `s3:ListBucket` côté S3 — le provider interroge l'existence du bucket avant de le créer. La conséquence devient un constat, avec ce que ListBucket concède (la vue des clés) et ce qu'il ne concède pas (leur contenu). Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_01CoafGWmRVESaWX819USUUA
Bases
Fondamentaux
- Setup DNS, OS, ...
- docker & k3s
- main components
- setup volume, nfs, k8s provisioner
- setup postgres
- setup gitea
- setup mail alert
- setup gitea runners, Argo CD
- sync git repo with github/gitlab
- docker hub
- gitea packages
- devsecops tools
- hashicorp vault
- stockage objet MinIO — qui déclare quoi
- terrakube
- prometheus/grafana
- ansible AWX
- setup hello world web app — 📖 procédure complète : runbook « Nouvelle application web »
- manage postgres credentials → base de données + Vault plateforme
- protect public endpoint (crowdsec) → chart : ingress public
Note
Reference: Arcodange Factory Ansible Collection
Important
duckdns.org offre un sous domaine de duckdns.org gratuitement ainsi que des (sous-)sous domaines. Avec notre token on peut valider le challenge DNS de letsencrypt (pour du SSL gratuit) et configurer un cron job pour mettre à jour l'ip publique référencée par notre sous-domaine.
%%{init: { 'logLevel': 'debug', 'theme': 'base' } }%%
flowchart
net[Internet]
subgraph "Local Network (livebox)"
net_rules{network rules}
subgraph pi1
subgraph Docker_pi1[Docker]
%%subgraph Traefik
%% :web80
%% :websecure443
%%end
gitea_action_runner
end
subgraph k3s_server[K3S Master]
%% Traefik -.-> K3S_Traefik
subgraph K3S_Traefik
subdomain_git[/git.arcodange.duckdns.org/]
end
Pods[hello world web app]
ArgoCD
end
end
subgraph pi2
subgraph Docker_pi2[Docker]
subgraph gitea_network
subgraph postgres_service
end
subgraph gitea_service
end
end
end
subgraph HardDisk[Hard Disk]
pg_data[pg_data partition]
gitea_data[gitea_data partition]
nfs_data[NFS_data partition]
K3S_storage_provisioner --o nfs_data
end
subgraph k3s_agent[K3S Agent]
Pods'[hello world web app]
end
end
end
postgres_service --o pg_data
gitea_service --o gitea_data
net -. "http(s)://(*.)arcodange.duckdns.org" .- net_rules -. :<i>443/80</i> .-> K3S_Traefik
%% Traefik
subdomain_git -.-> gitea_service
classDef k3s fill:#fff,stroke:#f0f,stroke-width:1px;
classDef storage fill:#999,stroke:#000,stroke-width:2px;
class HardDisk storage;
class k3s_server,k3s_agent,K3S_storage_provisioner k3s;