Files
Sankofa/gitops/infrastructure/compositions/vm-ubuntu.yaml
defiQUG 9daf1fd378 Apply Composer changes: comprehensive API updates, migrations, middleware, and infrastructure improvements
- Add comprehensive database migrations (001-024) for schema evolution
- Enhance API schema with expanded type definitions and resolvers
- Add new middleware: audit logging, rate limiting, MFA enforcement, security, tenant auth
- Implement new services: AI optimization, billing, blockchain, compliance, marketplace
- Add adapter layer for cloud integrations (Cloudflare, Kubernetes, Proxmox, storage)
- Update Crossplane provider with enhanced VM management capabilities
- Add comprehensive test suite for API endpoints and services
- Update frontend components with improved GraphQL subscriptions and real-time updates
- Enhance security configurations and headers (CSP, CORS, etc.)
- Update documentation and configuration files
- Add new CI/CD workflows and validation scripts
- Implement design system improvements and UI enhancements
2025-12-12 18:01:35 -08:00

52 lines
1.6 KiB
YAML

apiVersion: apiextensions.crossplane.io/v1
kind: Composition
metadata:
name: vm-ubuntu
labels:
provider: proxmox
spec:
writeConnectionSecretsToRef:
name: vm-connection-secret
namespace: crossplane-system
compositeTypeRef:
apiVersion: proxmox.sankofa.nexus/v1alpha1
kind: VirtualMachine
resources:
- name: proxmox-vm
base:
apiVersion: proxmox.sankofa.nexus/v1alpha1
kind: ProxmoxVM
metadata:
labels:
tenant-id: "TENANT_ID_PLACEHOLDER"
managed-by: sankofa-phoenix
spec:
forProvider:
node: ML110-01
cpu: 2
memory: 4Gi
disk: 50Gi
storage: local-lvm
network: vmbr0
image: ubuntu-22.04-cloud
site: us-sfvalley
patches:
- type: FromCompositeFieldPath
fromFieldPath: spec.parameters.name
toFieldPath: spec.forProvider.name
- type: FromCompositeFieldPath
fromFieldPath: spec.parameters.cpu
toFieldPath: spec.forProvider.cpu
- type: FromCompositeFieldPath
fromFieldPath: spec.parameters.memory
toFieldPath: spec.forProvider.memory
- type: FromCompositeFieldPath
fromFieldPath: spec.parameters.disk
toFieldPath: spec.forProvider.disk
- type: FromCompositeFieldPath
fromFieldPath: spec.parameters.site
toFieldPath: spec.forProvider.site
- type: FromCompositeFieldPath
fromFieldPath: metadata.labels['tenant-id']
toFieldPath: metadata.labels['tenant-id']