- 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
208 lines
5.8 KiB
Bash
Executable File
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!"
|
|
|