infrastructure/auth/composite.yaml
Infrastructure Admin d770504fa5 Initial infrastructure as code deployment
This commit includes the complete Kubernetes infrastructure deployment for NGE6:

- Crossplane setup with providers (Kubernetes, Helm, Civo)
- Ambassador/Emissary ingress controller with SSL termination
- Cert-manager with Let's Encrypt and Gandi webhook for DNS01 challenges
- ExternalDNS integration with Gandi for automatic DNS management
- Keycloak authentication server with PostgreSQL
- Pomerium identity-aware proxy with OIDC integration
- Forgejo Git server with persistent storage and authentication
- Spire/SPIFFE for secure service communication

All services are deployed using Infrastructure as Code principles with
Crossplane managing Kubernetes and Helm resources declaratively.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-23 08:43:06 -04:00

44 lines
1.4 KiB
YAML

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