#!/usr/bin/env bash # Pull live configs from entire ATC fleet into git. set -euo pipefail REPO="${REPO:-/root/lakehouse}" KEY="${KEY:-/root/.ssh/atc_cluster}" SSH=(ssh -i "$KEY" -o StrictHostKeyChecking=no -o ConnectTimeout=15) redact() { sed -E \ -e 's/^(fernet_key|internal_api_secret_key|admin_password) = .*/\1 = REDACTED/' \ -e 's/^(connection-password=).*/\1REDACTED/' \ -e 's/(hive\.s3\.aws-access-key=).*/\1REDACTED/' \ -e 's/(hive\.s3\.aws-secret-key=).*/\1REDACTED/' \ -e 's/(S3_ACCESS_KEY|S3_SECRET_KEY) = .*/\1 = "REDACTED"/' \ -e 's/(ssh_password|ansible_become_pass):.*/\1: REDACTED/' } echo "==> Python fleet collector (Trino, Grafana, Spark, LDAP, NPM, Proxmox)" python3 "$REPO/scripts/collect/populate-repo.py" echo "==> db02 docker-compose" "${SSH[@]}" root@atc-db02 "cat /opt/sources/docker-compose.yml" > "$REPO/config/docker/atc-db02/docker-compose.yml" echo "==> objectscale" "${SSH[@]}" root@atc-objectscale "cat /opt/emc/ecs-install/deploy.yml" | redact > "$REPO/config/objectscale/deploy.yml" echo "==> elasticsearch" "${SSH[@]}" root@atc-elastic01 "cat /etc/elasticsearch/elasticsearch.yml" > "$REPO/config/elastic/elasticsearch.yml" echo "==> kafka" "${SSH[@]}" root@atc-kafka01 "cat /opt/kafka/config/kraft/server.properties" > "$REPO/config/kafka/kraft-server.properties" "${SSH[@]}" root@atc-kafka01 "cat /opt/kafka/config/server.properties" > "$REPO/config/kafka/server.properties" echo "==> airflow" "${SSH[@]}" root@atc-airflow01 "cat /root/airflow/airflow.cfg" | redact > "$REPO/config/airflow/airflow.cfg" "${SSH[@]}" root@atc-airflow01 "cat /root/airflow/dags/generate_data_dag.py" > "$REPO/config/airflow/generate_data_dag.py" echo "==> docker01 inventory" "$REPO/scripts/deploy/export-inventory.py" "$REPO/inventory/containers-atc-docker01.json" 2>/dev/null || true echo "Done. git diff && git commit"