deploy: add scripts/deploy/setup.sh to provision ~/.4nk_template/.env; docs: update deployment guide; changelog updated

This commit is contained in:
Nicolas Cantu 2025-08-27 23:00:17 +02:00
parent d4b15a0752
commit 3702a517a6
3 changed files with 54 additions and 0 deletions

View File

@ -21,6 +21,7 @@ et ce projet adhère au [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- CI: contrôle `bash-required` et prérequis `scripts/agents/run.sh` avant release-guard - CI: contrôle `bash-required` et prérequis `scripts/agents/run.sh` avant release-guard
- CI: job `markdownlint` pour contrôler les lints Markdown (MD013/MD024/MD036) - CI: job `markdownlint` pour contrôler les lints Markdown (MD013/MD024/MD036)
- CI: job `release-create` pour publier une release via lAPI Gitea (secret `RELEASE_TOKEN`) - CI: job `release-create` pour publier une release via lAPI Gitea (secret `RELEASE_TOKEN`)
- Script de déploiement: `scripts/deploy/setup.sh` (provisionnement `~/.4nk_template/.env` sécurisé)
### Changed ### Changed
- Documentation projet réécrite à partir des modèles `docs/templates/**` (générique, non applicative) - Documentation projet réécrite à partir des modèles `docs/templates/**` (générique, non applicative)

View File

@ -12,6 +12,19 @@
- Déploiement: pipeline CI dédié - Déploiement: pipeline CI dédié
- Validation: smoke checks, santé, métriques - Validation: smoke checks, santé, métriques
## Bootstrap denvironnement local
- Script dinstallation: `scripts/deploy/setup.sh`
- Crée `~/.4nk_template/` (chmod 700) et `~/.4nk_template/.env` (chmod 600)
- Copie depuis `scripts/env/.env.template` si présent, sinon génère un modèle
- À compléter: `OPENAI_API_KEY`, `OPENAI_MODEL`, `RELEASE_TOKEN`, `GITEA_BASE_URL` (si custom)
Exécution:
```bash
bash scripts/deploy/setup.sh
```
## Rollback ## Rollback
- Version précédente prête, compatibilité des données - Version précédente prête, compatibilité des données
- Critères dactivation, procédure documentée - Critères dactivation, procédure documentée

40
scripts/deploy/setup.sh Normal file
View File

@ -0,0 +1,40 @@
#!/usr/bin/env bash
set -euo pipefail
ENV_DIR="${HOME}/.4nk_template"
ENV_FILE="${ENV_DIR}/.env"
TEMPLATE_IN_REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/env/.env.template"
mkdir -p "${ENV_DIR}"
chmod 700 "${ENV_DIR}" || true
if [[ -f "${ENV_FILE}" ]]; then
echo "Env déjà présent: ${ENV_FILE}" >&2
exit 0
fi
if [[ -f "${TEMPLATE_IN_REPO}" ]]; then
cp "${TEMPLATE_IN_REPO}" "${ENV_FILE}"
else
cat >"${ENV_FILE}" <<'EOF'
# Fichier d'exemple d'environnement pour 4NK_template
# Copiez ce fichier vers ~/.4nk_template/.env puis complétez les valeurs.
# Ne committez jamais de fichier contenant des secrets.
# OpenAI (agents IA)
OPENAI_API_KEY=
OPENAI_MODEL=
OPENAI_API_BASE=https://api.openai.com/v1
OPENAI_TEMPERATURE=0.2
# Gitea (release via API)
GITEA_BASE_URL=https://git.4nkweb.com
RELEASE_TOKEN=
EOF
fi
chmod 600 "${ENV_FILE}" || true
echo "Fichier créé: ${ENV_FILE}. Complétez les valeurs requises (ex: OPENAI_API_KEY, OPENAI_MODEL, RELEASE_TOKEN)." >&2
exit 0