# Azure Container Registry Naming Recommendation Recommendations for naming your Azure Container Registry for Zuyderland Application Services. ## 🎯 Requirements Azure Container Registry names must: - Be **globally unique** (across all Azure subscriptions) - Be **5-50 characters** long - Contain **only lowercase alphanumeric characters** (no hyphens, underscores, or special characters) - Be **descriptive** but not too long ## 💡 Recommended Options ### Option 1: `zuyderlandacr` ⭐ **RECOMMENDED** **Pros:** - ✅ Clear company identification - ✅ Short and memorable (15 characters) - ✅ Generic enough for all Application Services apps - ✅ Easy to type and remember - ✅ Professional appearance **Cons:** - ⚠️ Might be taken if Zuyderland already has an ACR **Usage:** ```bash ACR_NAME="zuyderlandacr" # Images: zuyderlandacr.azurecr.io/cmdb-insight/backend:latest ``` ### Option 2: `zuyderlandsharedacr` **Pros:** - ✅ Clearly indicates it's a shared registry - ✅ Company identification - ✅ Good for documentation ("shared ACR") **Cons:** - ⚠️ Longer (20 characters) - ⚠️ "shared" might be redundant (ACRs are typically shared) **Usage:** ```bash ACR_NAME="zuyderlandsharedacr" # Images: zuyderlandsharedacr.azurecr.io/cmdb-insight/backend:latest ``` ### Option 3: `zyldacr` (Abbreviated) **Pros:** - ✅ Very short (7 characters) - ✅ Easy to type - ✅ Less likely to be taken **Cons:** - ⚠️ Less clear what "zyld" means - ⚠️ Might not be obvious it's Zuyderland **Usage:** ```bash ACR_NAME="zyldacr" # Images: zyldacr.azurecr.io/cmdb-insight/backend:latest ``` ### Option 4: `zuyderlandappsvcsacr` **Pros:** - ✅ Includes department name (Application Services) - ✅ Very specific **Cons:** - ⚠️ Long (23 characters) - ⚠️ Less flexible if other departments want to use it - ⚠️ Harder to type **Usage:** ```bash ACR_NAME="zuyderlandappsvcsacr" # Images: zuyderlandappsvcsacr.azurecr.io/cmdb-insight/backend:latest ``` ## 🏆 Final Recommendation **Use: `zuyderlandacr`** **Reasoning:** 1. **Clear and professional**: Immediately identifies as Zuyderland 2. **Appropriate length**: Not too short (unclear) or too long (hard to type) 3. **Generic enough**: Can be used by all Application Services applications 4. **Future-proof**: Works for any department or team within Zuyderland 5. **Standard pattern**: Follows common naming convention (`companynameacr`) ## 🔍 Check Availability Before creating, check if the name is available: ```bash # Try to check if name exists (will fail if available, which is good) az acr show --name zuyderlandacr --resource-group dummy-rg 2>&1 | grep -q "could not be found" && echo "Name available!" || echo "Name might be taken" # Or try to create (will fail if taken) az acr check-name --name zuyderlandacr ``` ## 📝 Alternative if Name is Taken If `zuyderlandacr` is already taken, try: 1. `zuyderlandacr01` - Add number suffix 2. `zuyderlandacrprod` - Add environment suffix 3. `zyldacr` - Use abbreviation 4. `zuyderlandregistry` - Use full word "registry" 5. `zuyderlandcontainers` - Use "containers" instead of "acr" ## 🎯 Naming Pattern For consistency across Zuyderland, consider this pattern: ``` zuyderlandacr ← Shared ACR for all apps (recommended) zuyderlandacrdev ← Development ACR (if needed) zuyderlandacrprod ← Production ACR (if separate) ``` **But for most cases, one shared ACR (`zuyderlandacr`) is sufficient.** ## 📋 Update Your Configuration Once you've chosen a name, update: ### 1. Setup Script ```bash # In scripts/setup-azure-resources.sh ACR_NAME="zuyderlandacr" ACR_RESOURCE_GROUP="rg-shared-services" # Or rg-zuyderland-shared ``` ### 2. Pipeline Variables ```yaml # In azure-pipelines.yml variables: acrName: 'zuyderlandacr' repositoryName: 'cmdb-insight' ``` ### 3. Build Scripts ```bash # In scripts/build-and-push-azure.sh export ACR_NAME="zuyderlandacr" ``` ## ✅ Checklist - [ ] Choose ACR name: `zuyderlandacr` (recommended) - [ ] Check name availability - [ ] Create ACR with chosen name - [ ] Update all configuration files - [ ] Document name for team - [ ] Share ACR name with other Application Services teams --- **Recommended: `zuyderlandacr`** - Clear, professional, and reusable for all Zuyderland Application Services applications.