Add Portworx CSI driver for Pure Storage FlashArray
- Deploy Portworx Operator + CSI driver via ArgoCD - Support both iSCSI block and NFS file storage from FlashArray - Integrate with 1Password External Secrets for FlashArray credentials - Include comprehensive deployment documentation and validation script - Storage classes: pure-block (iSCSI) and pure-file (NFS) - Talos Linux compatible with iSCSI/multipath configuration
This commit is contained in:
54
cluster/platform/portworx-csi/application.yaml
Normal file
54
cluster/platform/portworx-csi/application.yaml
Normal file
@@ -0,0 +1,54 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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://raw.githubusercontent.com/portworx/px-operator/main/deploy/helm/charts
|
||||
chart: px-operator
|
||||
targetRevision: 25.0.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
|
||||
syncWaves:
|
||||
- wave: 2
|
||||
Reference in New Issue
Block a user