apiVersion: provisioning.vapora.io/v1 kind: Workflow metadata: name: deploy-full-stack description: Complete VAPORA deployment from scratch including cluster, databases, and services spec: # Workflow metadata version: "0.2.0" namespace: vapora-system timeout: 3600s # 1 hour max retryPolicy: maxRetries: 3 backoffFactor: 2 # Prerequisites prerequisites: - kubeconfig_present - provisioning_cli_installed - sufficient_resources: cpu: "20" memory: "64Gi" disk: "500Gi" # Workflow phases executed sequentially with gates phases: # Phase 1: Infrastructure foundation - name: "Create K8s Cluster" description: "Deploy base Kubernetes cluster with networking" retryable: true steps: - name: "Apply KCL cluster schema" command: "provisioning cluster create --config kcl/cluster.k" timeout: 1200s onError: "rollback_cluster" - name: "Install CNI (Cilium)" command: "provisioning addon install cilium --helm-values cilium-values.yaml" timeout: 300s retries: 3 - name: "Install service mesh (Istio)" command: "provisioning addon install istio --config kcl/cluster.k" timeout: 600s dependencies: ["cilium"] - name: "Install storage (Rook Ceph)" command: "provisioning addon install rook-ceph --size 500Gi --replicas 3" timeout: 900s dependencies: ["cilium"] - name: "Verify cluster health" command: "provisioning health-check --cluster" timeout: 300s dependencies: ["cilium", "istio", "rook-ceph"] # Phase 2: Create namespaces and RBAC - name: "Setup Namespaces and Security" description: "Create namespaces, service accounts, and RBAC policies" retryable: true steps: - name: "Create namespaces" command: "kubectl apply -f - <