diff --git a/charts/rclone-bucket/README.md b/charts/rclone-bucket/README.md index e9e2654..eb60b45 100644 --- a/charts/rclone-bucket/README.md +++ b/charts/rclone-bucket/README.md @@ -28,6 +28,7 @@ Rclone CronJob to replicate buckets | additionalLabels | object | `{}` | Add additional labels | | cronJob | object | `{"backoffLimit":3,"parallelism":1,"schedule":"0 0 * * *","suspend":false,"timeZone":"America/Chicago"}` | CronJob configuration | | image | object | `{"pullPolicy":"IfNotPresent","repository":"rclone/rclone","tag":"1.74.0@sha256:d2e0e88359d0b2e67cfcd2c43d5405185eb8adfc207079df27c42da82c5207bc"}` | Default image | +| metrics | object | `{"enabled":true}` | Metrics | | nameOverride | string | `""` | Default pattern follows -backup | | prune | object | `{"ageToPrune":"90d","enabled":false,"exclude":"","include":""}` | Enable prune job | | rclone | object | `{"destination":{"bucketName":"bucket","forcePathStyle":true,"providerType":"Other"},"providerType":"Other","source":{"bucketName":"bucket","forcePathStyle":true,"providerType":"Other"}}` | rclone configuration | diff --git a/charts/rclone-bucket/templates/common.yaml b/charts/rclone-bucket/templates/common.yaml index 37645ab..9af486b 100644 --- a/charts/rclone-bucket/templates/common.yaml +++ b/charts/rclone-bucket/templates/common.yaml @@ -37,6 +37,11 @@ controllers: - --exclude - {{ .Values.prune.exclude | quote }} {{- end }} + {{- if .Values.metrics.enabled }} + - --rc + - --rc-enable-metrics + - --metrics-addr=0.0.0.0:5572 + {{- end }} - --verbose env: - name: RCLONE_S3_PROVIDER @@ -109,6 +114,11 @@ controllers: - --min-age - {{ .Values.prune.ageToPrune | quote }} - --verbose + {{- if .Values.metrics.enabled }} + - --rc + - --rc-enable-metrics + - --metrics-addr=0.0.0.0:5572 + {{- end }} env: - name: RCLONE_CONFIG_DEST_TYPE value: s3 @@ -139,6 +149,27 @@ controllers: - name: RCLONE_CONFIG_DEST_FORCE_PATH_STYLE value: {{ .Values.rclone.destination.forcePathStyle | quote }} {{- end }} +{{- if .Values.metrics.enabled }} +service: + main: + controller: main + ports: + metrics: + port: 5572 + targetPort: 5572 +serviceMonitor: + main: + selector: + matchLabels: + app.kubernetes.io/name: {{ include "rclone.name" . }} + app.kubernetes.io/instance: {{ include "rclone.name" . }} + serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}' + endpoints: + - port: metrics + interval: 30s + scrapeTimeout: 10s + path: /metrics +{{- end }} {{- end -}} {{- $_ := mergeOverwrite .Values (include "rclone.hardcodedValues" . | fromYaml) -}} diff --git a/charts/rclone-bucket/values.yaml b/charts/rclone-bucket/values.yaml index 286555f..ce89f23 100644 --- a/charts/rclone-bucket/values.yaml +++ b/charts/rclone-bucket/values.yaml @@ -82,3 +82,7 @@ secret: existingSecretDestination: name: rclone-destination-secret + +# -- Metrics +metrics: + enabled: true