-
Notifications
You must be signed in to change notification settings - Fork 191
[Hubs] Enable custom resource naming #1876
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
- Added 'Resource customization architecture' section to docs/README.md - Documented custom naming implementation with architecture diagrams - Explained centralized networking (Hub & Spoke) integration patterns - Included testing guide for 4 scenarios (default, custom names, DNS zones, hybrid) - Added UI implementation structure details for createUiDefinition.json - Documented best practices for developers maintaining the codebase - Added migration guide confirming full backward compatibility - Included troubleshooting section for common deployment issues This technical documentation complements the user-facing README.md and supports maintainers working with the resource customization features.
|
Actually, given the risk this would introduce to the in-progress release, I'm going to move this to v14, but we'll still discuss it at the contributor sync on Wednesday. |
|
@flanakin No problem! Count on me if you guys need something here. The naming Convention and network changes I did it was to respect CAF / Landing Zones. Most of the clients I work has problem with the actual scenario being not compliance. |
🛠️ Description
This PR adds optional custom resource naming and centralized networking support for FinOps hub deployments, enabling better integration with enterprise naming conventions and Hub & Spoke network topologies.
Key Features:
Added 7 optional parameters to customize resource names:
storageAccountName - Storage Account
dataFactoryName - Data Factory
keyVaultName - Key Vault
virtualNetworkName - Virtual Network
managedIdentityName - Managed Identity
dataExplorerClusterName - Data Explorer Cluster
privateEndpointNamePrefix - Private Endpoint prefix
If parameters are empty, default names are auto-generated following Azure best practices
Simplified implementation: removed boolean flag complexity, using simple !empty() checks
Added 6 optional parameters to reference existing Private DNS Zones:
existingBlobDnsZoneId - Blob Storage DNS Zone
existingDfsDnsZoneId - Data Lake Storage DNS Zone
existingQueueDnsZoneId - Queue Storage DNS Zone
existingTableDnsZoneId - Table Storage DNS Zone
existingVaultDnsZoneId - Key Vault DNS Zone
existingDataExplorerDnsZoneId - Data Explorer DNS Zone
Prevents duplicate DNS Zone creation in centralized network environments
Automatically links Private Endpoints to existing DNS Zones via DNS Zone Groups
Changes:
Updated all Bicep modules with conditional logic for custom naming
Added new "Customization" tab in createUiDefinition.json with organized sections
Updated README with comprehensive customization documentation
Added test cases for custom naming and centralized networking scenarios
Compiled ARM template (azuredeploy.json) for portal deployment
Updated metadata with current date and enhanced description
Fixes #
📷 Screenshots
New "Customization" Tab in Azure Portal:
The new tab appears between "Advanced" and "Tags", providing a clean interface for optional customizations without cluttering the basic deployment experience.
Section 1: Resource naming - 7 optional name fields with validation
Section 2: Centralized networking (Hub & Spoke) - 6 DNS Zone resource ID fields
📋 Checklist
🔬 How did you test this change?
🙋♀️ Do any of the following that apply?
📑 Did you update docs/changelog.md?
❎ Log not needed (small/internal change)
📖 Did you update documentation?
✅ Public docs in docs (required for dev)
✅ Internal dev docs in src (required for dev)