volume-servicemonitor.yaml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. {{ $volumes := deepCopy .Values.volumes | mergeOverwrite (dict "" .Values.volume) }}
  2. {{- range $vname, $volume := $volumes }}
  3. {{- $volumeName := trimSuffix "-" (printf "volume-%s" $vname) }}
  4. {{- $volume := mergeOverwrite (deepCopy $.Values.volume) (dict "enabled" true) $volume }}
  5. {{- if $volume.enabled }}
  6. {{- if $volume.metricsPort }}
  7. {{- if $.Values.global.monitoring.enabled }}
  8. ---
  9. apiVersion: monitoring.coreos.com/v1
  10. kind: ServiceMonitor
  11. metadata:
  12. name: {{ template "seaweedfs.name" $ }}-{{ $volumeName }}
  13. namespace: {{ $.Release.Namespace }}
  14. labels:
  15. app.kubernetes.io/name: {{ template "seaweedfs.name" $ }}
  16. helm.sh/chart: {{ $.Chart.Name }}-{{ $.Chart.Version | replace "+" "_" }}
  17. app.kubernetes.io/managed-by: {{ $.Release.Service }}
  18. app.kubernetes.io/instance: {{ $.Release.Name }}
  19. app.kubernetes.io/component: {{ $volumeName }}
  20. {{- with $.Values.global.monitoring.additionalLabels }}
  21. {{- toYaml . | nindent 4 }}
  22. {{- end }}
  23. {{- with $volume.annotations }}
  24. annotations:
  25. {{- toYaml . | nindent 4 }}
  26. {{- end }}
  27. spec:
  28. endpoints:
  29. - interval: 30s
  30. port: metrics
  31. scrapeTimeout: 5s
  32. selector:
  33. matchLabels:
  34. app.kubernetes.io/name: {{ template "seaweedfs.name" $ }}
  35. app.kubernetes.io/component: {{ $volumeName }}
  36. {{- end }}
  37. {{- end }}
  38. {{- end }}
  39. {{- end }}