🏛️ GovernanceZone / Team Owner Perspective
1. Control Your Domain
Each GovernanceZone is managed by a specific Git repository. Zone owners control their teams, datastores, workspaces—independent from other zones. Central team declares your zone, then you manage everything within it.
# Central team creates declaration (in ecosystem repo)
ecosystem.add(
GovernanceZoneDeclaration("Finance",
GitHubRepository("company/finance-data", "main"))
)
# Finance team defines their zone (in their own repo)
zone = ecosystem.getZoneOrThrow("Finance")
zone.add(
TeamDeclaration("Treasury",
GitHubRepository("company/treasury-data", "main"))
)
team = zone.getTeamOrThrow("Treasury")
2. Set Policies for Your Data
Define who can access your data and for what purpose. Policies are enforced automatically during PR validation and at runtime.
zone.add(
InfraStructureLocationPolicy(
"Finance Data Residency",
PlainTextDocumentation("Finance data must stay in US"),
{LocationKey("AWS:USA/us-east-1"),
LocationKey("AWS:USA/us-west-2")}
)
)
3. Submit Pull Requests to Central
Your changes are submitted as PRs to the central ecosystem repository. Automated validation ensures you only modified your authorized zone. After merge, your data and policies are live across all environments.
Federated Governance at Scale
Each zone operates independently with its own repo and team. M&A integration? Just add a new GovernanceZone. Acquired company retains control of their data while sharing according to your policies.