--- # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: &app smartctl-exporter spec: interval: 30m chart: spec: chart: app-template version: 3.5.1 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system values: controllers: smartctl-exporter: type: daemonset pod: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: NotIn values: - gandalf-01 - shadowfax-01 containers: app: image: &image repository: quay.io/prometheuscommunity/smartctl-exporter tag: v0.12.0 args: - --smartctl.path=/usr/sbin/smartctl - --smartctl.interval=120s - --web.listen-address=0.0.0.0:9633 - --web.telemetry-path=/metrics securityContext: &securityContext privileged: true runAsUser: 0 probes: liveness: &probes enabled: true custom: true spec: httpGet: port: &port 9633 path: / readiness: *probes smartctl-exporter-vms: type: daemonset pod: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - gandalf-01 - shadowfax-01 containers: app: image: *image args: - --smartctl.path=/usr/sbin/smartctl - --smartctl.interval=120s - --web.listen-address=0.0.0.0:9633 - --web.telemetry-path=/metrics - --smartctl.device=/dev/nvme0 securityContext: *securityContext probes: liveness: *probes readiness: *probes service: smartctl-exporter: controller: smartctl-exporter ports: exporter: port: *port smartctl-exporter-vms: controller: smartctl-exporter-vms ports: exporter: port: *port persistence: dev: type: hostPath hostPath: /dev hostPathType: Directory globalMounts: - path: /host/dev readOnly: true serviceMonitor: smartctl-exporter: serviceName: smartctl-exporter endpoints: - port: exporter scheme: http path: /metrics interval: 1m scrapeTimeout: 10s smartctl-exporter-vms: selector: matchLabels: app.kubernetes.io/instance: smartctl-exporter app.kubernetes.io/name: smartctl-exporter app.kubernetes.io/service: smartctl-exporter-smartctl-exporter-vms endpoints: - port: exporter scheme: http path: /metrics interval: 1m scrapeTimeout: 10s