- 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>
40 lines
1.4 KiB
Bash
Executable File
40 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Fonctions et variables partagées par les scripts de déploiement.
|
|
# Usage : source "$(dirname "$0")/lib.sh"
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
|
|
# Config non-secrète
|
|
[ -f "$ROOT/deploy.conf" ] && . "$ROOT/deploy.conf"
|
|
|
|
# Secrets (optionnels selon le script)
|
|
load_secrets() {
|
|
if [ ! -f "$ROOT/.secrets.env" ]; then
|
|
echo "❌ $ROOT/.secrets.env manquant. Lance d'abord scripts/00-gen-secrets.sh" >&2
|
|
exit 1
|
|
fi
|
|
set -a; . "$ROOT/.secrets.env"; set +a
|
|
}
|
|
|
|
# Nom réel d'un conteneur (avec suffixe Coolify si défini)
|
|
# ex: cname ark-backend -> ark-backend-tdquwauzxsq0985fk9kjqqys (mode Coolify)
|
|
# -> ark-backend (mode CLI)
|
|
cname() { echo "$1${CONTAINER_SUFFIX:-}"; }
|
|
|
|
# docker exec sur un service Arkindex
|
|
dex() { local svc="$1"; shift; docker exec "$(cname "$svc")" "$@"; }
|
|
dexi() { local svc="$1"; shift; docker exec -i "$(cname "$svc")" "$@"; }
|
|
|
|
log() { printf '\033[1;34m▶ %s\033[0m\n' "$*"; }
|
|
ok() { printf '\033[1;32m✅ %s\033[0m\n' "$*"; }
|
|
warn() { printf '\033[1;33m⚠ %s\033[0m\n' "$*"; }
|
|
|
|
coolify_token() { cat "${COOLIFY_TOKEN_FILE}"; }
|
|
capi() { # capi METHOD PATH [curl-args...]
|
|
local m="$1" p="$2"; shift 2
|
|
curl -s -X "$m" -H "Authorization: Bearer $(coolify_token)" \
|
|
-H "Content-Type: application/json" -H "Accept: application/json" \
|
|
"$@" "${COOLIFY_API}${p}"
|
|
}
|