- 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
102 lines
2.8 KiB
YAML
102 lines
2.8 KiB
YAML
apiVersion: apiextensions.crossplane.io/v1
|
|
kind: CompositeResourceDefinition
|
|
metadata:
|
|
name: virtualmachines.proxmox.sankofa.nexus
|
|
spec:
|
|
group: proxmox.sankofa.nexus
|
|
names:
|
|
kind: VirtualMachine
|
|
plural: virtualmachines
|
|
versions:
|
|
- name: v1alpha1
|
|
served: true
|
|
referenceable: true
|
|
schema:
|
|
openAPIV3Schema:
|
|
type: object
|
|
properties:
|
|
spec:
|
|
type: object
|
|
properties:
|
|
parameters:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: Name of the virtual machine
|
|
node:
|
|
type: string
|
|
description: Proxmox node to deploy on
|
|
cpu:
|
|
type: integer
|
|
description: Number of CPU cores
|
|
default: 2
|
|
memory:
|
|
type: string
|
|
description: Memory in GB (e.g., "4Gi")
|
|
default: "4Gi"
|
|
disk:
|
|
type: string
|
|
description: Disk size (e.g., "50Gi")
|
|
default: "50Gi"
|
|
storage:
|
|
type: string
|
|
description: Storage pool name
|
|
default: "local-lvm"
|
|
network:
|
|
type: string
|
|
description: Network bridge
|
|
default: "vmbr0"
|
|
image:
|
|
type: string
|
|
description: OS image template
|
|
default: "ubuntu-22.04-cloud"
|
|
site:
|
|
type: string
|
|
description: Proxmox site identifier
|
|
required:
|
|
- name
|
|
- node
|
|
- site
|
|
required:
|
|
- parameters
|
|
status:
|
|
type: object
|
|
properties:
|
|
vmId:
|
|
type: integer
|
|
state:
|
|
type: string
|
|
ipAddress:
|
|
type: string
|
|
conditions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
status:
|
|
type: string
|
|
reason:
|
|
type: string
|
|
message:
|
|
type: string
|
|
additionalPrinterColumns:
|
|
- name: VMID
|
|
type: integer
|
|
jsonPath: .status.vmId
|
|
- name: STATE
|
|
type: string
|
|
jsonPath: .status.state
|
|
- name: IP
|
|
type: string
|
|
jsonPath: .status.ipAddress
|
|
- name: AGE
|
|
type: date
|
|
jsonPath: .metadata.creationTimestamp
|
|
claimNames:
|
|
kind: VirtualMachineClaim
|
|
plural: virtualmachineclaims
|
|
|