# ------------------------------------------------------------------------------ # Pure FlashArray OpenMetrics Exporter - Deployment # # Provides Prometheus-scrapable metrics from Pure Storage FlashArray # Polls FlashArray API and exposes /metrics endpoint for Prometheus ServiceMonitor # # Container: quay.io/purestorage/pure-fa-om-exporter (official image) # Port: 9490 (standard exporter port) # Config: tokens.yaml mounted from Secret # ------------------------------------------------------------------------------ apiVersion: apps/v1 kind: Deployment metadata: name: pure-fa-exporter namespace: monitoring labels: app.kubernetes.io/name: pure-fa-exporter app.kubernetes.io/component: metrics app.kubernetes.io/part-of: monitoring spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: pure-fa-exporter template: metadata: labels: app.kubernetes.io/name: pure-fa-exporter app.kubernetes.io/component: metrics spec: containers: - name: exporter image: quay.io/purestorage/pure-fa-om-exporter:v1.0.27 imagePullPolicy: IfNotPresent # Command args - point to tokens file args: - --port=9490 - --tokens=/etc/pure-exporter/tokens.yaml ports: - name: metrics containerPort: 9490 protocol: TCP # Resource limits (exporter is lightweight) resources: requests: cpu: 50m memory: 64Mi limits: cpu: 200m memory: 128Mi # Health checks livenessProbe: httpGet: path: / port: metrics initialDelaySeconds: 10 periodSeconds: 30 timeoutSeconds: 5 readinessProbe: httpGet: path: / port: metrics initialDelaySeconds: 5 periodSeconds: 10 timeoutSeconds: 5 # Mount tokens.yaml from secret volumeMounts: - name: tokens mountPath: /etc/pure-exporter readOnly: true volumes: - name: tokens secret: secretName: pure-fa-exporter-token items: - key: tokens.yaml path: tokens.yaml # Security context securityContext: runAsNonRoot: true runAsUser: 65534 fsGroup: 65534