diff --git a/kubernetes/apps/observability/smartctl-exporter/app/helmrelease.yaml b/kubernetes/apps/observability/smartctl-exporter/app/helmrelease.yaml index 2ec3b42c..a0d9edfe 100644 --- a/kubernetes/apps/observability/smartctl-exporter/app/helmrelease.yaml +++ b/kubernetes/apps/observability/smartctl-exporter/app/helmrelease.yaml @@ -1,5 +1,5 @@ --- -# yaml-language-server: $schema=https://ks.hsn.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json +# 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: @@ -8,31 +8,51 @@ spec: interval: 30m chart: spec: - chart: prometheus-smartctl-exporter - version: 0.10.0 + chart: app-template + version: 3.5.1 sourceRef: kind: HelmRepository - name: prometheus-community + name: bjw-s namespace: flux-system - install: - remediation: - retries: 3 - upgrade: - cleanupOnFail: true - remediation: - strategy: rollback - retries: 3 values: - fullnameOverride: *app - # incompatible drives cause false positives for smart failures. - nodeSelector: - matchExpressions: - - key: kubernetes.io/hostname - operator: NotIn - values: - - gandalf-01 - - shadowfax-01 - serviceMonitor: - enabled: true - prometheusRules: - enabled: false + controllers: + smartctl-exporter: + type: daemonset + containers: + app: + 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 + - --smartctl.device-exclude=".*incus_root.*" + securityContext: + privileged: true + runAsUser: 0 + probes: + liveness: &probes + enabled: true + custom: true + spec: + httpGet: + port: 9633 + path: / + readiness: *probes + service: + app: + controller: smartctl-exporter + type: LoadBalancer + ports: + http: + port: 9633 + persistence: + dev: + type: hostPath + hostPath: /dev + hostPathType: Directory + globalMounts: + - path: /host/dev + readOnly: true