Files
bakery-ia/infrastructure/scripts/maintenance/fix-otel-endpoints.sh
2026-01-19 11:55:17 +01:00

61 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# Fix OTEL endpoint configuration in all service manifests
# This script replaces hardcoded OTEL_EXPORTER_OTLP_ENDPOINT values
# with references to the central bakery-config ConfigMap
set -e
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m'
echo -e "${BLUE}Fixing OTEL endpoint configuration in all services...${NC}"
echo ""
# Find all service YAML files
SERVICE_FILES=$(find infrastructure/kubernetes/base/components -name "*-service.yaml")
for file in $SERVICE_FILES; do
# Check if file contains hardcoded OTEL_EXPORTER_OTLP_ENDPOINT
if grep -q "name: OTEL_EXPORTER_OTLP_ENDPOINT" "$file"; then
# Check if it's already using configMapKeyRef
if grep -A 3 "name: OTEL_EXPORTER_OTLP_ENDPOINT" "$file" | grep -q "configMapKeyRef"; then
echo -e "${GREEN}$file already using ConfigMap${NC}"
else
echo -e "${BLUE}→ Fixing $file${NC}"
# Create a temporary file
tmp_file=$(mktemp)
# Process the file
awk '
/name: OTEL_EXPORTER_OTLP_ENDPOINT/ {
print $0
# Read and skip the next line (value line)
getline
# Output the configMapKeyRef instead
print " valueFrom:"
print " configMapKeyRef:"
print " name: bakery-config"
print " key: OTEL_EXPORTER_OTLP_ENDPOINT"
next
}
{ print }
' "$file" > "$tmp_file"
# Replace original file
mv "$tmp_file" "$file"
echo -e "${GREEN} ✓ Fixed${NC}"
fi
fi
done
echo ""
echo -e "${GREEN}✓ All service files processed!${NC}"
echo ""
echo "Next steps:"
echo "1. Review changes: git diff infrastructure/kubernetes/base/components"
echo "2. Apply changes: kubectl apply -k infrastructure/environments/dev/k8s-manifests"
echo "3. Restart services: kubectl rollout restart deployment -n bakery-ia --all"