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:
61
cluster/platform/portworx-csi/externalsecret.yaml
Normal file
61
cluster/platform/portworx-csi/externalsecret.yaml
Normal file
@@ -0,0 +1,61 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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
|
||||
Reference in New Issue
Block a user