---
# yaml-language-server: $schema=https://ks.hsn.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
  name: &app smartctl-exporter
spec:
  interval: 30m
  chart:
    spec:
      chart: prometheus-smartctl-exporter
      version: 0.10.0
      sourceRef:
        kind: HelmRepository
        name: prometheus-community
        namespace: flux-system
  install:
    remediation:
      retries: 3
  upgrade:
    cleanupOnFail: true
    remediation:
      retries: 3
  uninstall:
    keepHistory: false
  dependsOn:
    - name: kube-prometheus-stack
      namespace: observability
  values:
    fullnameOverride: *app
    config:
      devices:
        - /dev/sda
    serviceMonitor:
      enabled: true
    prometheusRules:
      enabled: false
    tolerations:
      - key: node-role.kubernetes.io/control-plane
        effect: NoSchedule
        operator: Exists
    nodeSelector:
      # only control plane nodes
      node-role.kubernetes.io/control-plane: ""