- Ajout scripts/ reproduisant chaque étape (secrets, render config, up CLI, init Garage, bootstrap prod, admin, vérif E2E, adoption Coolify, backup) - Templates envsubst (config.yml, garage.toml, cantaloupe.properties) + .example - deploy.conf (config non-secrète : domaine, versions, uuids Coolify) - docs/ : ARCHITECTURE, TROUBLESHOOTING (11 problèmes/fixes), RUNBOOK, SECURITY - Makefile (raccourcis) - .gitignore + retrait du suivi de .env/.secrets.env/config.yml/garage.toml (fichiers conservés sur disque ; secrets restent dans l'historique -> voir SECURITY.md) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
31 lines
1.3 KiB
Bash
Executable File
31 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Initialise Garage : layout du cluster (1 nœud), import de la clé S3, création + droits des buckets.
|
|
# Idempotent. Fonctionne en mode CLI ou Coolify (via CONTAINER_SUFFIX).
|
|
source "$(dirname "$0")/lib.sh"
|
|
load_secrets
|
|
|
|
G=$(cname ark-garage)
|
|
log "Init Garage ($G)…"
|
|
|
|
NODE=$(docker exec "$G" /garage status 2>/dev/null | awk '/NO ROLE ASSIGNED/{print $1}')
|
|
if [ -n "${NODE:-}" ]; then
|
|
docker exec "$G" /garage layout assign -z dev -c 1G "$NODE" >/dev/null
|
|
# applique la version courante+1 (1 si cluster neuf)
|
|
VER=$(docker exec "$G" /garage layout show 2>/dev/null | awk '/Current cluster layout version/{print $NF}')
|
|
docker exec "$G" /garage layout apply --version "$(( ${VER:-0} + 1 ))" >/dev/null
|
|
ok "Layout appliqué."
|
|
else
|
|
warn "Nœud déjà configuré (layout existant)."
|
|
fi
|
|
|
|
# Import de la clé S3 (même GK_ID/GK_SECRET que config.yml)
|
|
docker exec "$G" /garage key import --yes -n arkindex "$GK_ID" "$GK_SECRET" >/dev/null 2>&1 \
|
|
&& ok "Clé S3 importée." || warn "Clé S3 déjà présente."
|
|
|
|
for b in $GARAGE_BUCKETS; do
|
|
docker exec "$G" /garage bucket create "$b" >/dev/null 2>&1 || true
|
|
docker exec "$G" /garage bucket allow --read --write --owner --key "$GK_ID" "$b" >/dev/null 2>&1 || true
|
|
done
|
|
N=$(docker exec "$G" /garage bucket list 2>/dev/null | grep -c '20' || true)
|
|
ok "Buckets prêts ($N)."
|