Skip to content

Commit

Permalink
Merge pull request #37 from SimonRupar/main
Browse files Browse the repository at this point in the history
Enable metrics via Prometheus Operator
  • Loading branch information
canterberry committed Dec 6, 2021
2 parents cfb7daa + 489a0cf commit 6305476
Show file tree
Hide file tree
Showing 6 changed files with 76 additions and 0 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,15 @@ their default values.
| `ingress.path` | Ingress service path | `/` |
| `ingress.hosts` | Ingress hostnames | `[]` |
| `ingress.tls` | Ingress TLS configuration (YAML) | `[]` |
| `metrics.enabled` | Enable metrics on Service | `false` |
| `metrics.port` | TCP port on which the service metrics is exposed | `5001` |
| `metrics.serviceMonitor.annotations` | Prometheus Operator ServiceMonitor annotations | `{}` |
| `metrics.serviceMonitor.enable` | If true, Prometheus Operator ServiceMonitor will be created | `false` |
| `metrics.serviceMonitor.labels` | Prometheus Operator ServiceMonitor labels | `{}` |
| `metrics.prometheusRule.annotations` | Prometheus Operator PrometheusRule annotations | `{}` |
| `metrics.prometheusRule.enable` | If true, Prometheus Operator prometheusRule will be created | `false` |
| `metrics.prometheusRule.labels` | Prometheus Operator prometheusRule labels | `{}` |
| `metrics.prometheusRule.rules` | PrometheusRule defining alerting rules for a Prometheus instance | `{}` |
| `extraVolumeMounts` | Additional volumeMounts to the registry container | `[]` |
| `extraVolumes` | Additional volumes to the pod | `[]` |
| `extraEnvVars` | Additional environment variables to the pod | `[]` |
Expand Down
5 changes: 5 additions & 0 deletions templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,11 @@ spec:
- /etc/docker/registry/config.yml
ports:
- containerPort: 5000
{{- if .Values.metrics.enabled }}
- containerPort: {{ (split ":" .Values.configData.http.debug.addr)._1 }}
name: metrics
protocol: TCP
{{- end }}
livenessProbe:
httpGet:
{{- if .Values.tlsSecretName }}
Expand Down
17 changes: 17 additions & 0 deletions templates/prometheusrules.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{{- if and .Values.metrics.enabled .Values.metrics.prometheusRule.enabled -}}
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: {{ template "docker-registry.fullname" . }}
labels:
app.kubernetes.io/component: controller
{{- if .Values.metrics.prometheusRule.labels }}
{{- toYaml .Values.metrics.prometheusRule.labels | nindent 4 }}
{{- end }}
spec:
{{- if .Values.metrics.prometheusRule.rules }}
groups:
- name: {{ template "docker-registry.fullname" . }}
rules: {{- toYaml .Values.metrics.prometheusRule.rules | nindent 4 }}
{{- end }}
{{- end }}
6 changes: 6 additions & 0 deletions templates/service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ spec:
targetPort: 5000
{{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
nodePort: {{ .Values.service.nodePort }}
{{- end }}
{{- if .Values.metrics.enabled }}
- port: {{ .Values.metrics.port }}
protocol: TCP
name: metrics
targetPort: {{ (split ":" .Values.configData.http.debug.addr)._1 }}
{{- end }}
selector:
app: {{ template "docker-registry.name" . }}
Expand Down
21 changes: 21 additions & 0 deletions templates/servicemonitor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled -}}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "docker-registry.fullname" . }}-servicemonitor
labels:
app: {{ template "docker-registry.name" . }}-metrics
release: {{ .Release.Name }}
{{- if .Values.metrics.serviceMonitor.labels }}
{{ toYaml .Values.metrics.serviceMonitor.labels | indent 4 }}
{{- end }}
spec:
selector:
matchLabels:
app: {{ template "docker-registry.name" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
endpoints:
- port: metrics
interval: 15s
{{- end }}
18 changes: 18 additions & 0 deletions values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,19 @@ proxy:
# Keys: proxyUsername, proxyPassword
secretRef: ""

metrics:
enabled: false
port: 5001
# Create a prometheus-operator servicemonitor
serviceMonitor:
enabled: false
labels: {}
# prometheus-operator PrometheusRule defining alerting rules for a Prometheus instance
prometheusRule:
enabled: false
labels: {}
rules: {}

configData:
version: 0.1
log:
Expand All @@ -122,6 +135,11 @@ configData:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
debug:
addr: :5001
prometheus:
enabled: false
path: /metrics
health:
storagedriver:
enabled: true
Expand Down

0 comments on commit 6305476

Please sign in to comment.