# ------------------------------------------------------------------------------ # Platform: portworx-csi # Wave 2 — no secret dependencies initially; must be ready before stateful workloads # # Portworx CSI driver for Pure Storage FlashArray on Talos Linux # Provides high-performance block and file storage for Kubernetes workloads # # Installation flow: # 1. External Secrets Operator (wave 1) creates px-pure-secret from 1Password # 2. Portworx Operator deploys (via Helm chart) # 3. StorageCluster CR provisions CSI driver components # 4. StorageClasses become available for PVC provisioning # # Prerequisites: # - FlashArray configured with API token in 1Password # - Talos nodes configured with multipath and udev rules (via MachineConfig) # - iSCSI initiators enabled on all nodes # ------------------------------------------------------------------------------ apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: portworx-csi namespace: argocd annotations: argocd.argoproj.io/sync-wave: "2" spec: project: default sources: # Source 1: Portworx Operator Helm chart from Portworx - repoURL: https://portworx.github.io/px-operator chart: px-operator targetRevision: 26.2.0 helm: valueFiles: - $values/cluster/platform/portworx-csi/operator-values.yaml # Source 2: Repo — StorageCluster spec, StorageClasses, ExternalSecret - repoURL: https://gitea.mk-labs.cloud/rblundon/homelab.git targetRevision: main path: cluster/platform/portworx-csi ref: values directory: exclude: "application.yaml" destination: server: https://kubernetes.default.svc namespace: portworx syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true - ServerSideApply=true