43 lines
1.0 KiB
Bash
43 lines
1.0 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
TEMPLATE_FILE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/.env.template"
|
|
ENV_DIR="${HOME}/.4nk_template"
|
|
ENV_FILE="${ENV_DIR}/.env"
|
|
|
|
mkdir -p "${ENV_DIR}"
|
|
chmod 700 "${ENV_DIR}" || true
|
|
|
|
if [[ ! -f "${ENV_FILE}" ]]; then
|
|
if [[ -f "${TEMPLATE_FILE}" ]]; then
|
|
cp "${TEMPLATE_FILE}" "${ENV_FILE}"
|
|
chmod 600 "${ENV_FILE}" || true
|
|
echo "Fichier d'environnement créé: ${ENV_FILE}" >&2
|
|
echo "Veuillez renseigner les variables requises (OPENAI_API_KEY, OPENAI_MODEL, etc.)." >&2
|
|
exit 3
|
|
else
|
|
echo "Modèle d'environnement introuvable: ${TEMPLATE_FILE}" >&2
|
|
exit 2
|
|
fi
|
|
fi
|
|
|
|
# Charger pour validation
|
|
set -a
|
|
. "${ENV_FILE}"
|
|
set +a
|
|
|
|
MISSING=()
|
|
for var in OPENAI_API_KEY OPENAI_MODEL; do
|
|
if [[ -z "${!var:-}" ]]; then
|
|
MISSING+=("$var")
|
|
fi
|
|
done
|
|
|
|
if (( ${#MISSING[@]} > 0 )); then
|
|
echo "Variables manquantes dans ${ENV_FILE}: ${MISSING[*]}" >&2
|
|
exit 4
|
|
fi
|
|
|
|
echo "Environnement valide: ${ENV_FILE}" >&2
|