42 lines
1.7 KiB
Bash
42 lines
1.7 KiB
Bash
|
|
#!/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 "═══════════════════════════════════════════════════════════════"
|