#!/usr/bin/env bash # ia_dev — conf.json handling identical for every managed project (jq, secrets_path → SECRETS_BASE). # Add here any new deploy.* field that must be read the same way for all projects. # Do not put project-specific paths, hostnames, or phase ordering here beyond generic keys. # ia_dev_deploy_require_jq — exit 1 if jq missing (e.g. log_tag="[orchestrator]") ia_dev_deploy_require_jq() { local tag="${1:-[ia_dev][deploy]}" if ! command -v jq >/dev/null 2>&1; then echo "${tag}[ERROR] jq is required to read deploy.* from conf.json" >&2 exit 1 fi } # ia_dev_deploy_secrets_export_from_conf — export SECRETS_BASE + LECOFFRE_SECRETS_BASE when deploy.secrets_path is a directory ia_dev_deploy_secrets_export_from_conf() { local conf="${1:?}" local secrets_path secrets_path="$(jq -r '.deploy.secrets_path // empty' "$conf")" if [[ -n "$secrets_path" && "$secrets_path" != "null" && -d "$secrets_path" ]]; then export SECRETS_BASE="$secrets_path" export LECOFFRE_SECRETS_BASE="$secrets_path" fi } # ia_dev_deploy_export_runtime_context — optional hints for project orchestrator scripts ia_dev_deploy_export_runtime_context() { local repo="${1:?}" local env="${2:?}" export IA_DEV_DEPLOY_REPO_ROOT="$repo" export IA_DEV_DEPLOY_ENV="$env" }