Files
bakery-ia/scripts/test-mailu-helm.sh

89 lines
3.0 KiB
Bash
Executable File

#!/bin/bash
# Test script to validate the Mailu Helm installation
# This script verifies that the configuration files are properly set up
set -e # Exit on any error
echo "🔍 Validating Mailu Helm configuration..."
# Check if required files exist
REQUIRED_FILES=(
"infrastructure/platform/mail/mailu-helm/values.yaml"
"infrastructure/platform/mail/mailu-helm/dev/values.yaml"
"infrastructure/platform/mail/mailu-helm/prod/values.yaml"
"infrastructure/platform/mail/mailu-helm/README.md"
"infrastructure/platform/mail/mailu-helm/MIGRATION_GUIDE.md"
"infrastructure/platform/mail/mailu-helm/mailu-ingress.yaml"
)
echo "✅ Checking required files..."
for file in "${REQUIRED_FILES[@]}"; do
if [[ -f "$file" ]]; then
echo " Found: $file"
else
echo " ❌ Missing: $file"
exit 1
fi
done
# Validate YAML syntax
echo "✅ Validating YAML syntax..."
for yaml_file in "${REQUIRED_FILES[@]}"; do
if [[ "$yaml_file" == *.yaml ]]; then
echo " Validating: $yaml_file"
if python3 -c "import yaml; yaml.safe_load(open('$yaml_file'))" 2>/dev/null; then
echo " ✓ Valid YAML"
else
echo " ❌ Invalid YAML"
exit 1
fi
fi
done
# Check if Tiltfile was updated
echo "✅ Checking Tiltfile update..."
if grep -q "mailu-helm" Tiltfile; then
echo " ✓ Tiltfile contains mailu-helm manual trigger"
else
echo " ❌ Tiltfile does not contain mailu-helm manual trigger"
exit 1
fi
# Check if configmap was updated
echo "✅ Checking configmap update..."
if grep -q "mailu-postfix.bakery-ia.svc.cluster.local" infrastructure/environments/common/configs/configmap.yaml; then
echo " ✓ ConfigMap updated with new SMTP host"
else
echo " ❌ ConfigMap not updated with new SMTP host"
exit 1
fi
# Check if Signoz config was updated
echo "✅ Checking Signoz configuration update..."
if grep -q "mailu-postfix.bakery-ia.svc.cluster.local" infrastructure/monitoring/signoz/signoz-values-prod.yaml; then
echo " ✓ Signoz configuration updated with new SMTP host"
else
echo " ❌ Signoz configuration not updated with new SMTP host"
exit 1
fi
echo ""
echo "🎉 Validation completed successfully!"
echo ""
echo "📋 Summary of changes made:"
echo " • Created Helm values files for base, dev, and prod environments"
echo " • Updated Tiltfile with manual trigger for Mailu Helm deployment"
echo " • Updated common ConfigMap with new SMTP service name"
echo " • Updated Signoz configuration with new SMTP service name"
echo " • Created documentation and migration guide"
echo ""
echo "🚀 To deploy Mailu via Helm, use the manual trigger in Tilt:"
echo " tilt trigger mailu-helm"
echo ""
echo " Or deploy directly with Helm:"
echo " helm upgrade --install mailu mailu/mailu \\"
echo " --namespace bakery-ia \\"
echo " --create-namespace \\"
echo " -f infrastructure/platform/mail/mailu-helm/values.yaml \\"
echo " -f infrastructure/platform/mail/mailu-helm/dev/values.yaml"