Files
homelab/cluster/platform/portworx-csi/externalsecret.yaml
Hermes Agent service account 459dbc5d18 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
2026-06-18 23:08:29 -05:00

62 lines
1.7 KiB
YAML

# ------------------------------------------------------------------------------
# ExternalSecret for Pure Storage FlashArray Credentials
# Syncs from 1Password to create px-pure-secret
#
# This secret contains pure.json with FlashArray configuration:
# - Management endpoint
# - API token
# - NFS endpoint (if using file services)
#
# Expected 1Password structure:
# Vault: homelab
# Item: pure-flasharray-fastpass
# Field: pure.json (contains the full JSON configuration)
#
# The pure.json format:
# {
# "FlashArrays": [
# {
# "MgmtEndPoint": "flasharray.mk-labs.cloud",
# "APIToken": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
# "NFSEndPoint": "flasharray-nfs.mk-labs.cloud"
# }
# ]
# }
# ------------------------------------------------------------------------------
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: px-pure-secret
namespace: portworx
annotations:
argocd.argoproj.io/sync-wave: "1"
spec:
# Refresh interval
refreshInterval: 1h
# Reference to SecretStore (assumes ClusterSecretStore named "onepassword" exists)
secretStoreRef:
kind: ClusterSecretStore
name: onepassword
# Target secret specification
target:
name: px-pure-secret
creationPolicy: Owner
template:
type: Opaque
metadata:
labels:
app.kubernetes.io/name: portworx-csi
app.kubernetes.io/component: storage
data:
# The key must be "pure.json" - this is required by PX-CSI
pure.json: "{{ .pure_config | toString }}"
# Data to fetch from 1Password
data:
- secretKey: pure_config
remoteRef:
key: pure-flasharray-fastpass
property: pure.json