Hub-Config¶
Die Hub-Konfiguration beschreibt ein Plattform-Environment (canary oder prod): seine Regionen, subscriptions, Netzwerk,
firewall, Policies und das Monitoring.
Aufbau¶
| Datei / Ordner | Layer | Enthält |
|---|---|---|
<env-folder>/mcp.json |
all | State-Backends, Job-runner, DevOps-Organisation, Spoke-Standardwerte. Siehe mcp.json. |
<env-folder>/global.auto.tfvars |
all | 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 |
all | scaffold_location, scaffold_location_short_name |
<region>/foundation.auto.tfvars |
foundation | Struktur der management groups, Empfänger der action group, Pfade zu eigenen Policies, DDoS-Plan, Network Manager |
<region>/connectivity.auto.tfvars |
connectivity | Virtual hub, firewall und Policy, Gateways, DNS, Bastion, Pfade für App Gateway und WAF, hub 24/7 |
<region>/firewall.auto.tfvars |
firewall | Pfade für rule collection groups und 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 | Pfade für Policy-Zuweisungen/-Ausnahmen, 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-Definitionen (Schema appgwschema.json) |
<region>/web_application_firewall_policies/*.json |
connectivity | WAF-Policies (Schema wafpolicyschema.json) |
policies/definitions/, policies/set_definitions/ |
foundation | Eigene Policy-Definitionen und initiatives |
policies/policy_assignments/0{1..4}_*/ |
postdeployment | Zuweisungen auf Ebene management group, subscription, resource group, Ressource |
policies/policy_exemptions/0{1..4}_*/ |
postdeployment | Ausnahmen auf denselben vier Ebenen |
Dateien, die nicht auf .json enden, werden von jedem Loader ignoriert. Um eine Datei zu deaktivieren, ohne sie zu löschen, benenne sie in
<name>.json.ignore um. (Das Referenz-Repository verwendet .jason für Beispiel-Ausnahmen.)
TFVARS-Übersicht: was gehört wohin¶
| Du willst ändern… | Datei | Variablen (Beispiele) |
|---|---|---|
| Regionen | global.auto.tfvars |
primary_region, active_regions, active_regions_names — siehe Region hinzufügen |
| Namen | global.auto.tfvars |
scaffold_company_short_name, scaffold_environment(_short_name); pro Ressource overwrite_* |
| Management groups | <primary>/foundation.auto.tfvars |
management_group_organization_id, management_group_structure, mgmtgrp_structure_under_customer_area_* |
| Wer Plattform-Alerts erhält | <primary>/foundation.auto.tfvars |
monitor_action_group_general_email_receiver, …_xpirit_email_receiver, …_webhook_receiver |
| Ein Hub-Feature an/aus | <region>/<layer>.auto.tfvars |
siehe die Referenz der feature flags |
| Hub-Adressbereiche | <region>/connectivity.auto.tfvars |
virtual_hub_address_prefix, Hub-VNet-Subnetze, virtual_network_dns_servers |
| Tags auf Hub-Ressourcen | <region>/<layer>.auto.tfvars |
*_tags, siehe Hub-Tags |
| Alert-initiatives | <primary>/postdeployment.auto.tfvars |
alerting_management_groups |
| Defender-Kontakt | postdeployment.auto.tfvars |
security_contact_email |
Referenzkonfiguration (XDEV)¶
xms-cloud-platform-config ist der XDEV-Tenant: eine Region (gwc, Germany West Central), Company Short Name xdev,
canary und prod, Azure DevOps-Organisation Xebia-Dev und zwei Spokes unter prod/spokes/data_platform/. Es pinnt
release/v4.11.
Inhalt der JSON-Dateien¶
Die Felder jedes JSON-Typs sind im Runbook beschrieben, das sie ändert:
- Firewallregeln und IP groups: Firewallregeln
- Application Gateway und WAF: Application Gateway
- Policy-Definitionen, -Zuweisungen, -Ausnahmen: Policy-Zuweisungen und Managed initiative auf einer management group
So änderst du die Hub-Config¶
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]
- Erstelle einen Branch im Konfigurations-Repository.
- Bearbeite nur die Dateien, die das Runbook nennt.
- Führe die Config-Tests lokal aus (optional).
- Öffne einen pull request; ein zweiter Engineer führt das Review durch.
- Führe
hubvom Branch im ModusPlanoderApproveModificationsaus. Lies den Plan jedes layers. - Wende auf canary an, verifiziere, dann prod.
- Führe den Merge durch, damit
mainbeschreibt, was deployt ist.
Vollständiges Vorgehen: Änderungen sicher durchführen.