3.1 KiB
3.1 KiB
title, date, draft, tags, categories, summary, author
| title | date | draft | tags | categories | summary | author | ||||
|---|---|---|---|---|---|---|---|---|---|---|
| [bojemoi] feat(orchestrator): local cloud-init templates — remove Gitea runtime dependency | 2026-04-24T22:34:13+02:00 | false |
|
|
Commit 4aba669 par Betty dans bojemoi | Betty |
Commit 4aba669
| Repository | bojemoi |
| Branch | main |
| Author | Betty |
| Hash | 4aba669f0e4971f0d1a4da8bd6e68d3883474c54 |
Description
Templates are now stored in provisioning/cloud-init/ (synced from Gitea bojemoi-configs via SSH) and mounted read-only into the orchestrator container at /app/cloud-init.
- Add LocalTemplateClient (mirrors GiteaClient interface, reads from disk)
- Add TEMPLATES_DIR setting in config.py (default /app/cloud-init)
- Swap all template calls in main.py from gitea_client → template_client
- CloudInitGenerator now receives template_client instead of gitea_client
- Add bind-mount in stack/01-service-hl.yml: provisioning/cloud-init → /app/cloud-init:ro
- Gitea client retained only for health-check ping
Fixes: VM deploys silently failing when Gitea TLS cert expires.
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
Files Changed
A provisioning/cloud-init/alpine/database.yaml
A provisioning/cloud-init/alpine/minimal.yaml
A provisioning/cloud-init/alpine/webserver.yaml
A provisioning/cloud-init/common/hardening.sh
A provisioning/cloud-init/common/setup_docker.sh
A provisioning/cloud-init/common/setup_monitoring.sh
A provisioning/cloud-init/debian/default.yaml
A provisioning/cloud-init/debian/webserver.yaml
A provisioning/cloud-init/ubuntu/database.yaml
A provisioning/cloud-init/ubuntu/default.yaml
A provisioning/cloud-init/ubuntu/webserver.yaml
M provisioning/orchestrator/app/config.py
M provisioning/orchestrator/app/main.py
M provisioning/orchestrator/app/services/cloudinit_gen.py
A provisioning/orchestrator/app/services/local_template_client.py
M stack/01-service-hl.yml
Diff Summary
provisioning/cloud-init/alpine/database.yaml | 62 +++++++
provisioning/cloud-init/alpine/minimal.yaml | 41 +++++
provisioning/cloud-init/alpine/webserver.yaml | 65 +++++++
provisioning/cloud-init/common/hardening.sh | 92 ++++++++++
provisioning/cloud-init/common/setup_docker.sh | 64 +++++++
provisioning/cloud-init/common/setup_monitoring.sh | 50 ++++++
provisioning/cloud-init/debian/default.yaml | 54 ++++++
provisioning/cloud-init/debian/webserver.yaml | 72 ++++++++
provisioning/cloud-init/ubuntu/database.yaml | 73 ++++++++
provisioning/cloud-init/ubuntu/default.yaml | 54 ++++++
provisioning/cloud-init/ubuntu/webserver.yaml | 72 ++++++++
provisioning/orchestrator/app/config.py | 54 ++++--
provisioning/orchestrator/app/main.py | 191 ++++++---------------
.../orchestrator/app/services/cloudinit_gen.py | 8 +-
.../app/services/local_template_client.py | 159 +++++++++++++++++
stack/01-service-hl.yml | 88 ++++++----
16 files changed, 998 insertions(+), 201 deletions(-)