#!/bin/bash
# Generate vector-vrl-configmap.yaml from VRL source files
# Usage: ./generate-configmap.sh

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
OUTPUT_FILE="$REPO_ROOT/infrastructure-crds/rke2-monitoring/vector-vrl-configmap.yaml"

echo "Validating VRL files..."
if ! "$SCRIPT_DIR/validate.sh" > /dev/null 2>&1; then
    echo "VRL validation failed! Run ./validate.sh for details."
    exit 1
fi
echo "✓ Validation passed"

echo "Generating $OUTPUT_FILE..."

cat > "$OUTPUT_FILE" << 'EOF'
# ConfigMap containing VRL scripts for Vector log parsing
# Generated from extra/vector-vrl/*.vrl - DO NOT EDIT DIRECTLY
# Regenerate with: ./extra/vector-vrl/generate-configmap.sh
apiVersion: v1
kind: ConfigMap
metadata:
  name: vector-vrl-scripts
  namespace: kube-monitoring
data:
EOF

# Add each .vrl file
for vrl_file in "$SCRIPT_DIR"/*.vrl; do
    filename=$(basename "$vrl_file")
    echo "  Adding: $filename"

    echo "  ${filename}: |" >> "$OUTPUT_FILE"
    # Indent content with 4 spaces for YAML
    sed 's/^/    /' "$vrl_file" >> "$OUTPUT_FILE"
    echo "" >> "$OUTPUT_FILE"
done

echo ""
echo "✓ Generated: $OUTPUT_FILE"
echo ""
echo "VRL files included:"
ls -1 "$SCRIPT_DIR"/*.vrl | xargs -n1 basename | sed 's/^/  - /'
echo ""
echo "Next: git add && git commit && git push"
