diff --git a/.gitignore b/.gitignore index c7b52255d8dc..e7a1ff699afc 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ genfiles/* _deps releases .DS_Store +.idea/* diff --git a/contrib/charts/dragonfly/ci/prometheusrules-values.golden.yaml b/contrib/charts/dragonfly/ci/prometheusrules-values.golden.yaml new file mode 100644 index 000000000000..16b3efda3647 --- /dev/null +++ b/contrib/charts/dragonfly/ci/prometheusrules-values.golden.yaml @@ -0,0 +1,145 @@ +--- +# Source: dragonfly/templates/serviceaccount.yaml +apiVersion: v1 +kind: ServiceAccount +metadata: + name: test-dragonfly + namespace: default + labels: + app.kubernetes.io/name: dragonfly + app.kubernetes.io/instance: test + app.kubernetes.io/version: "v1.17.1" + app.kubernetes.io/managed-by: Helm +--- +# Source: dragonfly/templates/metrics-service.yaml +apiVersion: v1 +kind: Service +metadata: + name: test-dragonfly-metrics + namespace: default + labels: + app.kubernetes.io/name: dragonfly + app.kubernetes.io/instance: test + app.kubernetes.io/version: "v1.17.1" + app.kubernetes.io/managed-by: Helm + type: metrics +spec: + type: ClusterIP + ports: + - name: metrics + port: 6379 + targetPort: 6379 + protocol: TCP + selector: + app.kubernetes.io/name: dragonfly + app.kubernetes.io/instance: test +--- +# Source: dragonfly/templates/service.yaml +apiVersion: v1 +kind: Service +metadata: + name: test-dragonfly + namespace: default + labels: + app.kubernetes.io/name: dragonfly + app.kubernetes.io/instance: test + app.kubernetes.io/version: "v1.17.1" + app.kubernetes.io/managed-by: Helm +spec: + type: ClusterIP + ports: + - port: 6379 + targetPort: dragonfly + protocol: TCP + name: dragonfly + selector: + app.kubernetes.io/name: dragonfly + app.kubernetes.io/instance: test +--- +# Source: dragonfly/templates/deployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: test-dragonfly + namespace: default + labels: + app.kubernetes.io/name: dragonfly + app.kubernetes.io/instance: test + app.kubernetes.io/version: "v1.17.1" + app.kubernetes.io/managed-by: Helm +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: dragonfly + app.kubernetes.io/instance: test + template: + metadata: + annotations: + labels: + app.kubernetes.io/name: dragonfly + app.kubernetes.io/instance: test + spec: + serviceAccountName: test-dragonfly + containers: + - name: dragonfly + image: "docker.dragonflydb.io/dragonflydb/dragonfly:v1.17.1" + imagePullPolicy: IfNotPresent + ports: + - name: dragonfly + containerPort: 6379 + protocol: TCP + livenessProbe: + exec: + command: + - /bin/sh + - /usr/local/bin/healthcheck.sh + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + readinessProbe: + exec: + command: + - /bin/sh + - /usr/local/bin/healthcheck.sh + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + args: + - "--alsologtostderr" + resources: + limits: {} + requests: {} +--- +# Source: dragonfly/templates/servicemonitor.yaml +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: test-dragonfly-metrics + namespace: default + labels: + app.kubernetes.io/name: dragonfly + app.kubernetes.io/instance: test + app.kubernetes.io/version: "v1.17.1" + app.kubernetes.io/managed-by: Helm +spec: + endpoints: + - interval: 10s + scrapeTimeout: 10s + honorLabels: true + port: metrics + path: /metrics + scheme: http + jobLabel: "test" + selector: + matchLabels: + app.kubernetes.io/name: dragonfly + app.kubernetes.io/instance: test + type: metrics + namespaceSelector: + matchNames: + - default diff --git a/contrib/charts/dragonfly/ci/prometheusrules-values.yaml b/contrib/charts/dragonfly/ci/prometheusrules-values.yaml new file mode 100644 index 000000000000..cb387351270a --- /dev/null +++ b/contrib/charts/dragonfly/ci/prometheusrules-values.yaml @@ -0,0 +1,16 @@ +serviceMonitor: + enabled: true +prometheusRule: + enabled: true + namespace: default + spec: + - alert: RedisDown + expr: absent(dragonfly_master > 0) + for: 0m + labels: + severity: critical + annotations: + summary: Redis instance is down + description: > + "Redis instance is down" + runbook_url: "https://octopus.com/docs/runbooks/runbook-examples" diff --git a/contrib/charts/dragonfly/templates/prometheusrule.yaml b/contrib/charts/dragonfly/templates/prometheusrule.yaml index c1d04e7f2a64..f332a4b4946d 100644 --- a/contrib/charts/dragonfly/templates/prometheusrule.yaml +++ b/contrib/charts/dragonfly/templates/prometheusrule.yaml @@ -3,7 +3,7 @@ apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: {{ template "dragonfly.fullname" . }}-metrics - namespace: {{ .Release.Namespace }} + namespace: {{ .Values.prometheusRule.namespace | default .Release.Namespace }} labels: {{- include "dragonfly.labels" . | nindent 4 }} spec: