Loading deploy/kubernetes/chart/templates/fileServer/deployment.yaml +28 −0 Original line number Diff line number Diff line Loading @@ -125,6 +125,34 @@ spec: - name: logstash-tmp mountPath: /tmp/logstash {{- end }} # Metrics exporter, if enabled {{- if $fileServer.metrics.exporter.enabled }} - name: nginx-prometheus-exporter {{ include "esgf.deployment.image" (list . $fileServer.metrics.exporter.image) }} args: - "--nginx.scrape-uri=http://localhost:8080/stub_status" {{- range $key, $value := $fileServer.metrics.exporter.extraArgs }} - "--{{ $key }}{{ if $value }}={{ $value }}{{ end }}" {{- end }} {{- with $fileServer.metrics.exporter.extraEnv }} env: {{ toYaml . | nindent 12 }} {{- end }} resources: {{ toYaml $fileServer.metrics.exporter.resources | nindent 12 }} {{- with .Values.data.securityContext }} securityContext: {{ toYaml . | nindent 12 }} {{- end }} ports: - name: prom-metrics containerPort: 9113 protocol: TCP livenessProbe: {{- toYaml $fileServer.metrics.exporter.livenessProbe | trim | nindent 12 }} readinessProbe: {{- toYaml $fileServer.metrics.exporter.readinessProbe | trim | nindent 12 }} {{- with $fileServer.metrics.exporter.extraVolumeMounts }} volumeMounts: {{ toYaml . | nindent 12 }} {{- end }} {{- end }} {{- with $fileServer.nodeSelector }} nodeSelector: {{ toYaml . | nindent 8 }} {{- end }} Loading deploy/kubernetes/chart/templates/fileServer/podmonitor.yaml 0 → 100644 +35 −0 Original line number Diff line number Diff line {{- $fileServer := .Values.data.fileServer -}} {{- if $fileServer.metrics.podMonitor.enabled }} apiVersion: {{ $fileServer.metrics.podMonitor.apiVersion }} kind: PodMonitor metadata: name: {{ include "esgf.component.fullname" (list . "fileServer") }} labels: {{ include "esgf.component.labels" (list . "fileServer" $fileServer.labels) | nindent 4 }} spec: jobLabel: {{ include "esgf.component.fullname" (list . "fileServer") }} {{- if $fileServer.metrics.podMonitor.podTargetLabels }} podTargetLabels: {{ toYaml $fileServer.metrics.podMonitor.podTargetLabels | indent 4 }} {{- end }} podMetricsEndpoints: - port: prom-metrics interval: {{ $fileServer.metrics.podMonitor.interval }} scrapeTimeout: {{ $fileServer.metrics.podMonitor.scrapeTimeout }} path: {{ $fileServer.metrics.podMonitor.path }} {{- if $fileServer.metrics.podMonitor.honorLabels }} honorLabels: true {{- end }} {{- if $fileServer.metrics.podMonitor.metricRelabelings }} metricRelabelings: {{ toYaml $fileServer.metrics.podMonitor.metricRelabelings | indent 4 }} {{- end }} {{- if $fileServer.metrics.podMonitor.relabelings }} relabelings: {{ toYaml $fileServer.metrics.podMonitor.relabelings | indent 4 }} {{- end }} selector: matchLabels: {{ include "esgf.component.selectorLabels" (list . "fileServer") | nindent 6 }} namespaceSelector: matchNames: - {{ $.Release.Namespace }} {{- end }} No newline at end of file deploy/kubernetes/chart/values.yaml +49 −0 Original line number Diff line number Diff line Loading @@ -386,6 +386,55 @@ data: # See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ tolerations: # Options related to observability metrics: # Whether or not to create a Prometheus Operator PodMonitor # See https://prometheus-operator.dev/docs/developer/getting-started/#using-podmonitors podMonitor: enabled: true # Set the API version of the ServiceMonitor apiVersion: "monitoring.coreos.com/v1" # Set how frequently Prometheus should scrape interval: 30s # Set path to nginx-exporter telemtery-path path: /metrics honorLabels: true # Set labels for the ServiceMonitor, use this to define your scrape label for Prometheus Operator additionalLabels: {} # Set timeout for scrape scrapeTimeout: 10s # Set which labels which are transferred from the associated Kubernetes Pod object onto the ingested metrics. podTargetLabels: [] # Set relabeling rules to apply to metrics after scraping but before ingestion metricRelabelings: [] # Set relabeling rules to configure how scrape targets are discovered and labeled before scraping relabelings: [] exporter: enabled: true image: prefix: nginx repository: nginx-prometheus-exporter # Extra arguments passed to the nginx prometheus exporter # See https://github.com/nginx/nginx-prometheus-exporter?tab=readme-ov-file#command-line-arguments extraArgs: [] extraEnv: {} extraVolumeMounts: {} # The resource allocations for the nginx prometheus exporter container # See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ resources: {} livenessProbe: httpGet: path: / port: prom-metrics initialDelaySeconds: 30 timeoutSeconds: 10 readinessProbe: httpGet: path: / port: prom-metrics initialDelaySeconds: 30 timeoutSeconds: 10 ### # Index node configuration ### Loading Loading
deploy/kubernetes/chart/templates/fileServer/deployment.yaml +28 −0 Original line number Diff line number Diff line Loading @@ -125,6 +125,34 @@ spec: - name: logstash-tmp mountPath: /tmp/logstash {{- end }} # Metrics exporter, if enabled {{- if $fileServer.metrics.exporter.enabled }} - name: nginx-prometheus-exporter {{ include "esgf.deployment.image" (list . $fileServer.metrics.exporter.image) }} args: - "--nginx.scrape-uri=http://localhost:8080/stub_status" {{- range $key, $value := $fileServer.metrics.exporter.extraArgs }} - "--{{ $key }}{{ if $value }}={{ $value }}{{ end }}" {{- end }} {{- with $fileServer.metrics.exporter.extraEnv }} env: {{ toYaml . | nindent 12 }} {{- end }} resources: {{ toYaml $fileServer.metrics.exporter.resources | nindent 12 }} {{- with .Values.data.securityContext }} securityContext: {{ toYaml . | nindent 12 }} {{- end }} ports: - name: prom-metrics containerPort: 9113 protocol: TCP livenessProbe: {{- toYaml $fileServer.metrics.exporter.livenessProbe | trim | nindent 12 }} readinessProbe: {{- toYaml $fileServer.metrics.exporter.readinessProbe | trim | nindent 12 }} {{- with $fileServer.metrics.exporter.extraVolumeMounts }} volumeMounts: {{ toYaml . | nindent 12 }} {{- end }} {{- end }} {{- with $fileServer.nodeSelector }} nodeSelector: {{ toYaml . | nindent 8 }} {{- end }} Loading
deploy/kubernetes/chart/templates/fileServer/podmonitor.yaml 0 → 100644 +35 −0 Original line number Diff line number Diff line {{- $fileServer := .Values.data.fileServer -}} {{- if $fileServer.metrics.podMonitor.enabled }} apiVersion: {{ $fileServer.metrics.podMonitor.apiVersion }} kind: PodMonitor metadata: name: {{ include "esgf.component.fullname" (list . "fileServer") }} labels: {{ include "esgf.component.labels" (list . "fileServer" $fileServer.labels) | nindent 4 }} spec: jobLabel: {{ include "esgf.component.fullname" (list . "fileServer") }} {{- if $fileServer.metrics.podMonitor.podTargetLabels }} podTargetLabels: {{ toYaml $fileServer.metrics.podMonitor.podTargetLabels | indent 4 }} {{- end }} podMetricsEndpoints: - port: prom-metrics interval: {{ $fileServer.metrics.podMonitor.interval }} scrapeTimeout: {{ $fileServer.metrics.podMonitor.scrapeTimeout }} path: {{ $fileServer.metrics.podMonitor.path }} {{- if $fileServer.metrics.podMonitor.honorLabels }} honorLabels: true {{- end }} {{- if $fileServer.metrics.podMonitor.metricRelabelings }} metricRelabelings: {{ toYaml $fileServer.metrics.podMonitor.metricRelabelings | indent 4 }} {{- end }} {{- if $fileServer.metrics.podMonitor.relabelings }} relabelings: {{ toYaml $fileServer.metrics.podMonitor.relabelings | indent 4 }} {{- end }} selector: matchLabels: {{ include "esgf.component.selectorLabels" (list . "fileServer") | nindent 6 }} namespaceSelector: matchNames: - {{ $.Release.Namespace }} {{- end }} No newline at end of file
deploy/kubernetes/chart/values.yaml +49 −0 Original line number Diff line number Diff line Loading @@ -386,6 +386,55 @@ data: # See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ tolerations: # Options related to observability metrics: # Whether or not to create a Prometheus Operator PodMonitor # See https://prometheus-operator.dev/docs/developer/getting-started/#using-podmonitors podMonitor: enabled: true # Set the API version of the ServiceMonitor apiVersion: "monitoring.coreos.com/v1" # Set how frequently Prometheus should scrape interval: 30s # Set path to nginx-exporter telemtery-path path: /metrics honorLabels: true # Set labels for the ServiceMonitor, use this to define your scrape label for Prometheus Operator additionalLabels: {} # Set timeout for scrape scrapeTimeout: 10s # Set which labels which are transferred from the associated Kubernetes Pod object onto the ingested metrics. podTargetLabels: [] # Set relabeling rules to apply to metrics after scraping but before ingestion metricRelabelings: [] # Set relabeling rules to configure how scrape targets are discovered and labeled before scraping relabelings: [] exporter: enabled: true image: prefix: nginx repository: nginx-prometheus-exporter # Extra arguments passed to the nginx prometheus exporter # See https://github.com/nginx/nginx-prometheus-exporter?tab=readme-ov-file#command-line-arguments extraArgs: [] extraEnv: {} extraVolumeMounts: {} # The resource allocations for the nginx prometheus exporter container # See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ resources: {} livenessProbe: httpGet: path: / port: prom-metrics initialDelaySeconds: 30 timeoutSeconds: 10 readinessProbe: httpGet: path: / port: prom-metrics initialDelaySeconds: 30 timeoutSeconds: 10 ### # Index node configuration ### Loading