Hub-config¶
De hubconfiguratie beschrijft één platformomgeving (canary of prod): de regio's, subscriptions, het netwerk, de
firewall, policies en monitoring.
Structuur¶
| Bestand / map | Layer | Bevat |
|---|---|---|
<env-folder>/mcp.json |
alle | State backends, job runners, DevOps-organisatie, spoke-defaults. Zie mcp.json. |
<env-folder>/global.auto.tfvars |
alle | primary_region, active_regions, active_regions_names, scaffold_environment, scaffold_environment_short_name, scaffold_company_short_name, scaffold_subscriptions (management, connectivity, identity) |
<region>/global.auto.tfvars |
alle | scaffold_location, scaffold_location_short_name |
<region>/foundation.auto.tfvars |
foundation | Management group-structuur, action group-ontvangers, paden naar custom policies, DDoS plan, Network Manager |
<region>/connectivity.auto.tfvars |
connectivity | Virtual hub, firewall en policy, gateways, DNS, Bastion, paden voor App Gateway en WAF, hub 24/7 |
<region>/firewall.auto.tfvars |
firewall | Paden naar rule collection groups en IP groups, naming flags |
<region>/identity.auto.tfvars |
identity | Identity VNet |
<region>/management.auto.tfvars |
management | Log Analytics, Key Vault, Automation, Sentinel, management VNet |
<region>/postdeployment.auto.tfvars |
postdeployment | Paden naar policy assignments/exemptions, Defender, AMBA alerting_management_groups, security contact |
<region>/firewall_rule_configuration/*.json |
firewall | Rule collection groups (schema firewallschema.json) |
<region>/ip_groups/*.json |
firewall | IP groups |
<region>/application_gateways/*.json |
connectivity | App Gateway-definities (schema appgwschema.json) |
<region>/web_application_firewall_policies/*.json |
connectivity | WAF policies (schema wafpolicyschema.json) |
policies/definitions/, policies/set_definitions/ |
foundation | Custom policy definitions en initiatives |
policies/policy_assignments/0{1..4}_*/ |
postdeployment | Assignments op management group-, subscription-, resource group- en resource-scope |
policies/policy_exemptions/0{1..4}_*/ |
postdeployment | Exemptions op dezelfde vier scopes |
Bestanden die niet op .json eindigen worden door elke loader genegeerd. Om een bestand uit te schakelen zonder het te
verwijderen, hernoem je het naar <name>.json.ignore. (De referentierepository gebruikt .jason voor voorbeeld-exemptions.)
TFVARS-overzicht: wat staat waar¶
| Je wilt wijzigen… | Bestand | Variabelen (voorbeelden) |
|---|---|---|
| Regio's | global.auto.tfvars |
primary_region, active_regions, active_regions_names; zie Een regio toevoegen |
| Namen | global.auto.tfvars |
scaffold_company_short_name, scaffold_environment(_short_name); per resource overwrite_* |
| Management groups | <primary>/foundation.auto.tfvars |
management_group_organization_id, management_group_structure, mgmtgrp_structure_under_customer_area_* |
| Wie platformalerts ontvangt | <primary>/foundation.auto.tfvars |
monitor_action_group_general_email_receiver, …_xpirit_email_receiver, …_webhook_receiver |
| Een hubfeature aan/uit | <region>/<layer>.auto.tfvars |
zie de naslag over feature flags |
| Adresranges van de hub | <region>/connectivity.auto.tfvars |
virtual_hub_address_prefix, hub VNet-subnets, virtual_network_dns_servers |
| Tags op hubresources | <region>/<layer>.auto.tfvars |
*_tags, zie Hub-tags |
| Alert initiatives | <primary>/postdeployment.auto.tfvars |
alerting_management_groups |
| Defender-contact | postdeployment.auto.tfvars |
security_contact_email |
Referentieconfiguratie (XDEV)¶
xms-cloud-platform-config is de XDEV-tenant: één regio (gwc, Germany West Central), company short name xdev,
canary en prod, Azure DevOps-organisatie Xebia-Dev en twee spokes onder prod/spokes/data_platform/. Deze pint
release/v4.11.
Inhoud van de JSON-bestanden¶
De velden van elk JSON-type worden beschreven in het runbook dat ze wijzigt:
- Firewallregels en IP groups: Firewallregels
- Application Gateway en WAF: Application Gateway
- Policy definitions, assignments, exemptions: Policy assignments en Managed initiative op een management group
Hub-config wijzigen¶
flowchart LR
b[Branch] --> e[Edit tfvars / JSON] --> t["Validate<br/>(config tests)"] --> pr["PR + review"]
pr --> ci["CI: hub run in Plan"] --> cd1["CD: apply canary"] --> v[Verify] --> cd2["CD: apply prod"] --> m[Merge]
- Maak een branch in de configuratierepository.
- Bewerk alleen de bestanden die het runbook noemt.
- Draai de config tests lokaal (optioneel).
- Open een pull request; een tweede engineer reviewt.
- Draai
hubvanaf de branch inPlan- ofApproveModifications-modus. Lees de plan van elke layer. - Pas toe op canary, verifieer, en daarna prod.
- Merge, zodat
mainbeschrijft wat er is gedeployed.
Volledige procedure: Veilig een wijziging doorvoeren.