apiVersion: apiextensions.crossplane.io/v1
kind: CompositeResourceDefinition
metadata:
  name: keycloakidentities.auth.yourdomain.com
spec:
  group: auth.yourdomain.com
  names:
    kind: KeycloakIdentity
    plural: keycloakidentities
  claimNames:
    kind: KeycloakIdentityClaim
    plural: keycloakidentityclaims
  versions:
    - name: v1alpha1
      served: true
      referenceable: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              type: object
              properties:
                realmName:
                  type: string
                  description: "Name of the Keycloak realm"
                adminUsername:
                  type: string
                  description: "Username for the admin user"
                adminEmail:
                  type: string
                  description: "Email for the admin user"
                adminPassword:
                  type: string
                  description: "Password for the admin user"
                pomeriumRedirectUri:
                  type: string
                  description: "OAuth callback URL for Pomerium"
                  default: "https://authenticate.yourdomain.com/oauth2/callback"
              required:
                - realmName
                - adminUsername
                - adminEmail
                - adminPassword
