Skip to main content
Glama
enforce-database-regional-deployment.yaml4.91 kB
apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: enforce-database-regional-deployment labels: policy-intent/id: e6406071-4f25-4a11-86a6-600870d8a503 annotations: policy-intent/description: "Databases in Google Cloud (GCP) should always run in the us-east1 region, those in Azure should always run in the eastus region, and those in AWS should run in the us-east-1 region." policy-intent/rationale: "This policy ensures consistent data locality and compliance by standardizing database regions across cloud providers. It reduces latency for applications deployed in eastern regions, simplifies disaster recovery planning, and helps meet data residency requirements. Standardized regional placement also reduces operational complexity and prevents data from being accidentally deployed in non-compliant regions." spec: validationFailureAction: Enforce background: false rules: - name: validate-gcp-database-region match: any: - resources: kinds: - sql.gcp.m.upbound.io/v1beta1/DatabaseInstance namespaces: - a-team - b-team operations: - CREATE - UPDATE validate: cel: expressions: - expression: >- !has(object.spec.forProvider.region) || object.spec.forProvider.region == 'us-east1' message: "GCP databases must be deployed in the us-east1 region for compliance and data locality requirements" - expression: >- !has(object.spec.initProvider.region) || object.spec.initProvider.region == 'us-east1' message: "GCP databases must be deployed in the us-east1 region for compliance and data locality requirements" - name: validate-aws-rds-region match: any: - resources: kinds: - rds.aws.m.upbound.io/v1beta1/GlobalCluster - rds.aws.m.upbound.io/v1beta1/Cluster - rds.aws.m.upbound.io/v1beta1/Instance - rds.aws.m.upbound.io/v1beta1/ClusterInstance - rds.aws.m.upbound.io/v1beta1/OptionGroup - rds.aws.m.upbound.io/v1beta1/ParameterGroup - rds.aws.m.upbound.io/v1beta1/DBSnapshotCopy - rds.aws.m.upbound.io/v1beta1/ClusterParameterGroup - rds.aws.m.upbound.io/v1beta1/SubnetGroup - rds.aws.m.upbound.io/v1beta1/ClusterSnapshot - rds.aws.m.upbound.io/v1beta1/DBInstanceAutomatedBackupsReplication - rds.aws.m.upbound.io/v1beta1/InstanceState - rds.aws.m.upbound.io/v1beta1/Proxy - rds.aws.m.upbound.io/v1beta1/Snapshot namespaces: - a-team - b-team operations: - CREATE - UPDATE validate: cel: expressions: - expression: >- !has(object.spec.forProvider.region) || object.spec.forProvider.region == 'us-east-1' message: "AWS RDS resources must be deployed in the us-east-1 region for compliance and data locality requirements" - expression: >- !has(object.spec.initProvider.region) || object.spec.initProvider.region == 'us-east-1' message: "AWS RDS resources must be deployed in the us-east-1 region for compliance and data locality requirements" - name: validate-azure-postgresql-region match: any: - resources: kinds: - dbforpostgresql.azure.m.upbound.io/v1beta1/Server - dbforpostgresql.azure.m.upbound.io/v1beta1/FlexibleServer namespaces: - a-team - b-team operations: - CREATE - UPDATE validate: cel: expressions: - expression: >- !has(object.spec.forProvider.location) || object.spec.forProvider.location == 'eastus' message: "Azure PostgreSQL databases must be deployed in the eastus region for compliance and data locality requirements" - expression: >- !has(object.spec.initProvider.location) || object.spec.initProvider.location == 'eastus' message: "Azure PostgreSQL databases must be deployed in the eastus region for compliance and data locality requirements" - name: validate-multicloud-sql-region match: any: - resources: kinds: - devopstoolkit.live/v1beta1/SQL namespaces: - a-team - b-team operations: - CREATE - UPDATE validate: cel: expressions: - expression: >- !has(object.spec.region) || object.spec.region == 'us-east1' || object.spec.region == 'us-east-1' || object.spec.region == 'eastus' message: "Multi-cloud SQL databases must be deployed in approved eastern regions for compliance and data locality requirements"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vfarcic/dot-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server