Add BYO-VNet support and standardized resource naming for FinOps hubs#2148
Open
fatimataayeb wants to merge 1 commit into
Open
Add BYO-VNet support and standardized resource naming for FinOps hubs#2148fatimataayeb wants to merge 1 commit into
fatimataayeb wants to merge 1 commit into
Conversation
- Adds 5 optional parameters for deploying into an existing VNet (BYO-VNet) to support hub-and-spoke topologies: existingVNetName, existingVNetResourceGroupName, peSubnetName, scriptSubnetName, dataExplorerSubnetName - Applies CAF-aligned, deterministic resource naming convention (adf-finops-, kv-finops-, stgfinops*, nsg-finops-, vnet-finops-, id-finops-, evg-finops-, pep-finops-stgblob/stgdfs/kv-) so deployments pass enterprise Azure Policy naming rules - Adds explicit Event Grid system topic (evg-finops-) sourced from hub data lake storage - Backwards compatible: all new parameters are optional with defaults that preserve existing behaviour
Author
|
@microsoft-github-policy-service agree |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add BYO-VNet support and standardized resource naming for FinOps hubs
Summary
Enables FinOps hub deployments into existing customer VNets (hub-and-spoke scenarios) and applies a standardized, deterministic resource naming convention that aligns with the Cloud Adoption Framework (CAF) and customer governance policies.
Motivation
Today the FinOps hub template:
vnet-{hubName}) and subnets — incompatible with hub-and-spoke topologies where private connectivity is centralized in a hub VNet owned by the network teamfinopshub-c3orenemzlnm6) — fails customer naming standards, breaks Azure Policy naming rules, and makes resources hard to identify in shared subscriptionsThese two limitations have blocked enterprise deployments at multiple regulated customers (banking, public sector) where:
What's changed
1. BYO-VNet support
New optional parameters on
main.bicep:existingVNetName''(creates new VNet)existingVNetResourceGroupName''peSubnetNamesnet-finops-pe-01scriptSubnetNamesnet-finops-script-01dataExplorerSubnetNamesnet-finops-adx-01When
existingVNetResourceGroupNameis provided (ornetworkNamedoes not start withvnet-finops-), the template skips creating NSG/VNet/subnets and uses cross-RGresourceId(...)references. All private endpoints and ACI containers land in the customer's existing subnets.2. CAF-aligned resource naming
All resource names follow
{abbreviation}-finops-{hubName}(storage followsstgfinops{hubName}{instance}):finopshub-<hash>adf-finops-{hubName}finopshubkv<hash>kv-finops-{hubName}finopshubstg<hash>stgfinops{hubName}01finopshubstg<hash>scriptstgfinops{hubName}02finopshub-nsg-<hash>nsg-finops-{hubName}finopshub-vnet-<hash>vnet-finops-{hubName}finopshub-mi-<hash>id-finops-{hubName}evg-finops-{hubName}finopshub-pep-<hash>pep-finops-stgblob-{hubName}finopshub-pep-<hash>pep-finops-stgdfs-{hubName}finopshub-pep-<hash>pep-finops-kv-{hubName}All names respect per-resource character limits via
take()inhub-types.bicep.3. Explicit Event Grid system topic
evg-finops-{hubName}is now declared in Bicep, sourced from the hub data lake. Previously this was implicitly created when the storage event trigger was activated, making RBAC/tagging policies harder to apply. Explicit declaration gives customers IaC control.Files changed (5)
src/templates/finops-hub/main.bicep— new BYO-VNet parameterssrc/templates/finops-hub/modules/hub.bicep— forwards new parameterssrc/templates/finops-hub/modules/fx/hub-types.bicep—HubRoutingPropertiesextended;newHub/newAppapply namingsrc/templates/finops-hub/modules/fx/hub-app.bicep— PE naming + Event Grid topicsrc/templates/finops-hub/modules/Microsoft.FinOpsHubs/Core/infrastructure.bicep— BYO-VNet aware (gates resource creation, cross-RG references)Benefits
Backwards compatibility
Testing
az bicep build)az deployment group validate) for both BYO-VNet and create-new-VNet scenariosqatarcentralinto pre-existing hub-and-spoke subnets, using customer-mandated naming convention