#!/usr/bin/env bash #------------------------------------------------------------------------------- ## @file .env.sh ## @brief Ansible-Kontext für dieses Repo setzen (Pfade + Secret-Store) ## @author ## @owner ## @version 1.0.0 (07.10.2026) ## @usage source ansible/.env.sh (bash und zsh, aus beliebigem Verzeichnis) #------------------------------------------------------------------------------- # Pfad dieser Datei – bash: BASH_SOURCE, zsh: %x _ANS_SRC="${BASH_SOURCE[0]:-${(%):-%x}}" _ANS_DIR="$(cd "$(dirname "$_ANS_SRC")" && pwd -P)" # --- Ansible-Pfade (fremden Kontext zurücksetzen) --- unset ANSIBLE_CONFIG ANSIBLE_INVENTORY ANSIBLE_ROLES_PATH ANSIBLE_VAULT_PASSWORD_FILE export ANSIBLE_BASE_PATH="$_ANS_DIR" export ANSIBLE_CONFIG="$ANSIBLE_BASE_PATH/ansible.cfg" export ANSIBLE_INVENTORY="$ANSIBLE_BASE_PATH/inv" export ANSIBLE_ROLES_PATH="$ANSIBLE_BASE_PATH/roles" export ANS_PLAYDIR="$ANSIBLE_BASE_PATH/playbooks" export ANS_FILES="$ANSIBLE_BASE_PATH/files" export ANS_DEFAULT_HOSTS="" # nur Doku – Default steht im Play # --- Secret-Store (HashiCorp Vault, bevorzugt) – Token aus ~/.vault-token --- export VAULT_ADDR="" export ANSIBLE_HASHI_VAULT_ADDR="$VAULT_ADDR" export ANSIBLE_HASHI_VAULT_AUTH_METHOD="token" export ANS_VAULT_KV_MOUNT="secret" export ANS_VAULT_KV_PATH="" # --- Ansible Vault (nur Fallback, Passwortdatei außerhalb des Repos) --- [ -f "$HOME/.ans-secret-" ] && export ANSIBLE_VAULT_PASSWORD_FILE="$HOME/.ans-secret-" unset _ANS_DIR _ANS_SRC echo "Ansible-Kontext aktiv: ANSIBLE_BASE_PATH=$ANSIBLE_BASE_PATH"