Skip to main content
Glama
sqls-devopstoolkit-live.yaml4.18 kB
# MANDATORY SCHEMA-BY-SCHEMA ANALYSIS # # sqls.devopstoolkit.live: HAS spec.crossplane.compositionRef.name → MUST generate rule # databases.postgresql.sql.crossplane.io: NO relevant fields → Can skip # databases.mssql.sql.crossplane.io: NO relevant fields → Can skip # providerconfigs.postgresql.sql.crossplane.io: NO relevant fields → Can skip # databases.dbforpostgresql.azure.m.upbound.io: NO relevant fields → Can skip # flexibleserverconfigurations.dbforpostgresql.azure.m.upbound.io: NO relevant fields → Can skip # databases.sql.gcp.m.upbound.io: NO relevant fields → Can skip # manageddatabaselogicaldatabases.database.upcloud.com: NO relevant fields → Can skip # flexibleserverdatabases.dbforpostgresql.azure.m.upbound.io: NO relevant fields → Can skip # servers.dbforpostgresql.azure.m.upbound.io: NO relevant fields → Can skip # databaseinstances.sql.gcp.m.upbound.io: NO relevant fields → Can skip # providerconfigs.mssql.sql.crossplane.io: NO relevant fields → Can skip # schemas.postgresql.sql.crossplane.io: NO relevant fields → Can skip # flexibleservers.dbforpostgresql.azure.m.upbound.io: NO relevant fields → Can skip # roles.postgresql.sql.crossplane.io: NO relevant fields → Can skip # flexibleserveractivedirectoryadministrators.dbforpostgresql.azure.m.upbound.io: NO relevant fields → Can skip # virtualnetworkrules.dbforpostgresql.azure.m.upbound.io: NO relevant fields → Can skip # configurations.dbforpostgresql.azure.m.upbound.io: NO relevant fields → Can skip # providerconfigusages.postgresql.sql.crossplane.io: NO relevant fields → Can skip # manageddatabasepostgresqls.database.upcloud.com: NO relevant fields → Can skip # flexibleserverfirewallrules.dbforpostgresql.azure.m.upbound.io: NO relevant fields → Can skip # grants.postgresql.sql.crossplane.io: NO relevant fields → Can skip # databases.mysql.sql.crossplane.io: NO relevant fields → Can skip # users.sql.gcp.m.upbound.io: NO relevant fields → Can skip # sslcerts.sql.gcp.m.upbound.io: NO relevant fields → Can skip # # RESOURCES REQUIRING VALIDATION RULES: sqls.devopstoolkit.live # apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: require-crossplane-composition-ref-cloud-alignment labels: policy-intent/id: ef434183-7872-4d32-bf1f-dc1c3c270f21 annotations: policy-intent/description: "sqls.devopstoolkit.live must have `spec.crossplane.compositionRef.name` set. If using AWS, it MUST be `aws-postgresql`, if Google Cloud (GCP) it MUST be `google-postgresql`, and if Azure it MUST be `azure-postgresql`." policy-intent/rationale: "Ensures proper cloud provider alignment for PostgreSQL databases by enforcing correct Crossplane composition references. This prevents deployment failures, maintains consistency across environments, and ensures database resources are provisioned using the appropriate cloud-specific configurations for AWS, GCP, or Azure platforms." spec: background: false validationFailureAction: Enforce rules: - name: require-sql-crossplane-composition-ref match: any: - resources: kinds: - devopstoolkit.live/v1beta1/SQL namespaces: - a-team - b-team operations: - CREATE - UPDATE validate: cel: expressions: - expression: >- has(object.spec.crossplane) && has(object.spec.crossplane.compositionRef) && has(object.spec.crossplane.compositionRef.name) && object.spec.crossplane.compositionRef.name != '' && (object.spec.crossplane.compositionRef.name == 'aws-postgresql' || object.spec.crossplane.compositionRef.name == 'google-postgresql' || object.spec.crossplane.compositionRef.name == 'azure-postgresql') message: >- SQL resource must have spec.crossplane.compositionRef.name set to a valid cloud-specific composition. Required values: 'aws-postgresql' for AWS, 'google-postgresql' for Google Cloud (GCP), or 'azure-postgresql' for Azure. This ensures proper cloud provider alignment for PostgreSQL database provisioning.

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