syntaxis/scripts/provisioning/validate-catalog.sh
Jesús Pérez 9cef9b8d57 refactor: consolidate configuration directories
Merge _configs/ into config/ for single configuration directory.
Update all path references.

Changes:
- Move _configs/* to config/
- Update .gitignore for new patterns
- No code references to _configs/ found

Impact: -1 root directory (layout_conventions.md compliance)
2025-12-26 18:36:23 +00:00

42 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# validate-catalog.sh - Validate service catalog TOML structure
echo "═══════════════════════════════════════════════════════════════"
echo "SERVICE CATALOG VALIDATION TEST"
echo "═══════════════════════════════════════════════════════════════"
echo ""
# Check file exists
if [ ! -f "configs/services-catalog.toml" ]; then
echo "❌ Error: configs/services-catalog.toml not found"
exit 1
fi
echo "✓ Configuration file found: configs/services-catalog.toml"
echo ""
# Validate it's valid TOML via NuShell
echo "Validating TOML syntax..."
RESULT=$(nu -c "open configs/services-catalog.toml" 2>&1)
if echo "$RESULT" | grep -q "parse"; then
echo "❌ TOML parsing failed"
echo "$RESULT"
exit 1
fi
echo "✓ TOML syntax is valid"
echo ""
# Display structure
echo "Catalog structure:"
nu -c "
let catalog = open configs/services-catalog.toml
print ' Version: ' + \$catalog.version.catalog_version
print ' Services: '
\$catalog.service | transpose | each { |s| print (' - ' + \$s.value.display_name?) }
"
echo ""
echo "═══════════════════════════════════════════════════════════════"
echo "✅ Catalog validation complete!"
echo "═══════════════════════════════════════════════════════════════"