Files
Lakehouse/scripts/collect/collect-fleet-config.sh
T
Lakehouse Admin df5ec93dc3 Full lab documentation and infrastructure as code
- Trino catalogs, Grafana, Spark jobs, LDAP LDIF, NPM compose
- Airflow DAG scripts, Proxmox VM inventory, network docs
- Ansible playbook, Gitea CI validate workflow
- Backup and health-check scripts, cron documentation
- Homepage DOCS tab with links to all documentation
- Extended collect-fleet-config.sh and populate-repo.py
2026-05-19 23:12:41 +02:00

42 lines
1.8 KiB
Bash
Executable File

#!/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"