#!/bin/bash set -e echo "🔍 Scanning for apps with cname.yaml..." mkdir -p generated-values # Initial empty cloudflared config cat < generated-values/cloudflared-values.yaml ingress: - service: http_status:404 EOF # === CONFIGURATION === REPOS=( "https://git.dvirlabs.com/dvir/sandbox-apps.git" ) WORKDIR=".tmp-repos" rm -rf $WORKDIR mkdir -p $WORKDIR # === CLONE AND SCAN === for repo_url in "${REPOS[@]}"; do repo_name=$(basename "$repo_url" .git) echo "📦 Cloning $repo_name..." git clone --depth=1 "$repo_url" "$WORKDIR/$repo_name" find "$WORKDIR/$repo_name/manifests" -name cname.yaml | while read -r cname_file; do app_name=$(basename $(dirname "$cname_file")) enabled=$(yq '.enabled' "$cname_file") if [[ "$enabled" == "true" ]]; then hostname=$(yq '.hostname' "$cname_file") service="http://${app_name}.my-apps.svc.cluster.local:80" echo "✅ Found $hostname → $service" # Add to generated-values yq eval ".ingress = [{\"hostname\": \"$hostname\", \"service\": \"$service\"}] + .ingress" \ -i generated-values/cloudflared-values.yaml fi done done echo "✅ Done! See: generated-values/cloudflared-values.yaml"