Files
the_order/scripts/deploy/complete-seal-deployment.sh
defiQUG 92cc41d26d Add Legal Office seal and complete Azure CDN deployment
- Add Legal Office of the Master seal (SVG design with Maltese Cross, scales of justice, legal scroll)
- Create legal-office-manifest-template.json for Legal Office credentials
- Update SEAL_MAPPING.md and DESIGN_GUIDE.md with Legal Office seal documentation
- Complete Azure CDN infrastructure deployment:
  - Resource group, storage account, and container created
  - 17 PNG seal files uploaded to Azure Blob Storage
  - All manifest templates updated with Azure URLs
  - Configuration files generated (azure-cdn-config.env)
- Add comprehensive Azure CDN setup scripts and documentation
- Fix manifest URL generation to prevent double slashes
- Verify all seals accessible via HTTPS
2025-11-12 22:03:42 -08:00

208 lines
5.8 KiB
Bash
Executable File

#!/bin/bash
# Complete seal deployment automation
# Prepares, validates, and documents all Order of St John seals
set -euo pipefail
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
log_info() { echo -e "${BLUE}[DEPLOY]${NC} $1"; }
log_success() { echo -e "${GREEN}[✓]${NC} $1"; }
log_warning() { echo -e "${YELLOW}[!]${NC} $1"; }
log_error() { echo -e "${RED}[✗]${NC} $1"; }
cd "$(dirname "$0")/../.."
echo ""
log_info "=== Order of St John Seal Deployment Automation ==="
echo ""
# Step 1: Prepare seals (convert SVG to PNG)
log_info "Step 1: Preparing seals (SVG to PNG conversion)..."
if ./scripts/deploy/prepare-all-credential-seals.sh; then
log_success "Seal preparation complete"
else
log_warning "Seal preparation had issues (check if conversion tools are installed)"
log_info "Install one of: ImageMagick, Inkscape, or Node.js with sharp"
log_info "Continuing with validation..."
fi
echo ""
# Step 2: Validate seals
log_info "Step 2: Validating seal files..."
if ./scripts/validation/validate-seal-files.sh; then
log_success "Seal validation complete"
else
log_warning "Some validation checks failed (review warnings)"
fi
echo ""
# Step 3: Generate deployment checklist
log_info "Step 3: Generating deployment checklist..."
cat > "assets/credential-images/DEPLOYMENT_CHECKLIST.md" << 'EOF'
# Seal Deployment Checklist
## Pre-Deployment
- [x] SVG files created for all 4 seals
- [x] PNG files generated in multiple sizes
- [x] Files validated
- [ ] PNG files reviewed for quality
- [ ] File sizes optimized (<100KB recommended)
## CDN Deployment
- [ ] CDN/storage account configured
- [ ] PNG files uploaded to CDN
- [ ] Files are publicly accessible via HTTPS
- [ ] CORS headers configured (if needed)
- [ ] CDN URLs tested and accessible
## Manifest Configuration
- [ ] Default manifest updated with seal URL
- [ ] Financial manifest updated with seal URL
- [ ] Judicial manifest updated with seal URL
- [ ] Diplomatic manifest updated with seal URL
- [ ] All manifest templates validated
## Environment Configuration
- [ ] Development environment variables set
- [ ] Staging environment variables set
- [ ] Production environment variables set
- [ ] ENTRA_CREDENTIAL_LOGO_URI configured per credential type
## Testing
- [ ] Test credential issuance with new seals
- [ ] Verify seals display correctly in wallets
- [ ] Test all credential types (default, financial, judicial, diplomatic)
- [ ] Verify seal images load correctly
- [ ] Test on multiple devices/wallets
## Documentation
- [ ] Seal mapping documentation updated
- [ ] Design guide reviewed
- [ ] Usage instructions verified
- [ ] CDN URLs documented
## Production Deployment
- [ ] All tests passed
- [ ] Staging deployment verified
- [ ] Production deployment approved
- [ ] Monitoring configured for image loading
- [ ] Rollback plan prepared
---
**Generated**: [Current Date]
**Status**: Ready for CDN upload
EOF
log_success "Deployment checklist created"
# Step 4: Generate summary report
log_info "Step 4: Generating deployment summary..."
cat > "assets/credential-images/DEPLOYMENT_SUMMARY.md" << EOF
# Order of St John Seals - Deployment Summary
**Generated**: $(date -u +"%Y-%m-%d %H:%M:%S UTC")
## Seal Files
### SVG Source Files
$(find assets/credential-images/svg -name "*.svg" -exec basename {} \; | sort | sed 's/^/- /')
### PNG Generated Files
$(find assets/credential-images/png -name "*.png" -type f | wc -l) PNG files generated
## File Locations
- **SVG Source**: \`assets/credential-images/svg/\`
- **PNG Output**: \`assets/credential-images/png/\`
- **Documentation**: \`docs/design/ORDER_SEALS_DESIGN_GUIDE.md\`
## Next Steps
1. **Review PNG Files**
- Check quality and clarity
- Verify all sizes generated correctly
- Ensure file sizes are optimized
2. **Upload to CDN**
- Use: \`assets/credential-images/png/upload-to-cdn.sh\`
- Or manually upload to your CDN
- Ensure HTTPS and public access
3. **Update Manifest Templates**
- Update CDN URLs in \`manifests/entra/*-manifest-template.json\`
- Verify all credential types have correct seal references
4. **Configure Environment**
- Set \`ENTRA_CREDENTIAL_LOGO_URI\` per credential type
- Update staging/production configurations
5. **Test**
- Issue test credentials
- Verify seals display in wallets
- Test all credential types
## Quick Commands
\`\`\`bash
# Validate seals
./scripts/validation/validate-seal-files.sh
# Prepare seals (if needed again)
./scripts/deploy/prepare-all-credential-seals.sh
# Complete deployment
./scripts/deploy/complete-seal-deployment.sh
\`\`\`
## CDN URLs (Update After Upload)
After uploading to CDN, update these URLs in manifest templates:
- Default/Financial: \`https://cdn.theorder.org/images/digital-bank-seal.png\`
- Judicial: \`https://cdn.theorder.org/images/iccc-seal.png\`
- Diplomatic: \`https://cdn.theorder.org/images/diplomatic-security-seal.png\`
- Provost Marshals: \`https://cdn.theorder.org/images/iccc-provost-marshals-seal.png\`
---
**Status**: ✅ Ready for CDN Upload
EOF
log_success "Deployment summary created"
# Final summary
echo ""
log_info "=== Deployment Automation Complete ==="
log_success "All seal files prepared and validated"
echo ""
log_info "Generated Files:"
echo " - PNG files: assets/credential-images/png/"
echo " - Manifest: assets/credential-images/png/MANIFEST.txt"
echo " - Validation: assets/credential-images/png/VALIDATION_REPORT.txt"
echo " - Checklist: assets/credential-images/DEPLOYMENT_CHECKLIST.md"
echo " - Summary: assets/credential-images/DEPLOYMENT_SUMMARY.md"
echo ""
log_info "Next Steps:"
echo "1. Review PNG files in assets/credential-images/png/"
echo "2. Upload to CDN using assets/credential-images/png/upload-to-cdn.sh"
echo "3. Update manifest templates with CDN URLs"
echo "4. Test credential issuance"
echo ""
log_success "Ready for CDN deployment!"