nixos-base-image/scripts/run_ansible_ci.sh
2025-06-09 01:52:38 +02:00

55 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
set -euo pipefail
echo "Starting Ansible CI/CD run..."
# # --- 1. Validate required environment variables ---
# if [[ -z "${PROXMOX_LOCAL_IMAGE_PATH_FROM_BUILD}" ]]; then
# echo "Error: PROXMOX_LOCAL_IMAGE_PATH_FROM_BUILD environment variable not set. Cannot find built image."
# exit 1
# fi
# --- 2. Navigate to the Ansible directory ---
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P)
ANSIBLE_DIR="${SCRIPT_DIR}/../ansible"
if [[ ! -d "${ANSIBLE_DIR}" ]]; then
echo "Error: Ansible directory not found at ${ANSIBLE_DIR}"
exit 1
fi
cd "${ANSIBLE_DIR}"
echo "Changed directory to: $(pwd)"
# # --- 3. Define Ansible Extra Variables ---
# # Base extra variables from our static definitions
# EXTRA_VARS=(
# # "local_image_path_ci=${PROXMOX_LOCAL_IMAGE_PATH_FROM_BUILD}" # Path to the image file on the CI runner
# # "image_filename=$(basename "${PROXMOX_LOCAL_IMAGE_PATH_FROM_BUILD}")" # Extract filename
# )
# # Append any other variables passed via ANSIBLE_EXTRA_VARS from the workflow
# if [[ -n "${ANSIBLE_EXTRA_VARS:-}" ]]; then
# # Split by space or newline and add to array
# IFS=$'\n' read -r -d '' -a ADDITIONAL_VARS <<< "${ANSIBLE_EXTRA_VARS}" || true
# for var in "${ADDITIONAL_VARS[@]}"; do
# EXTRA_VARS+=("${var}")
# done
# fi
# # --- 4. Execute the Ansible Playbook ---
# echo "Executing Ansible playbook: upload-template.yml"
# # Construct the full --extra-vars string
# EXTRA_VARS_ARGS=""
# for var in "${EXTRA_VARS[@]}"; do
# EXTRA_VARS_ARGS+=" -e ${var}"
# done
ansible-playbook upload-template.yml #\
# --inventory inventory/hosts.yml \
# ${EXTRA_VARS_ARGS} \
# --diff \
# --check false # Set to true for a dry run, false for actual execution
echo "Ansible playbook execution finished."