# yaml-language-server: $schema=./values.schema.json image: repository: ghcr.io/twin/gatus pullPolicy: IfNotPresent tag: v5.36.0@sha256:c5f210d095fa78e6efaa20ffeb14803f2ba4f10615e16a6d12087697149617f0 sidecarImage: repository: ghcr.io/home-operations/gatus-sidecar pullPolicy: IfNotPresent tag: 0.3.6@sha256:195e761e2fcf65bc959bea55f2ed15cdada44cc6653af6dc117b6241b010015b sidecar: enable: false enableService: false enableIngress: false enableHttproute: false autoService: false autoIngress: false autoHttproute: false namespace: "" # Namespace to watch (empty for all namespaces), only one namespace is supported (string) ingressClass: "" # Ingress class to filter Ingresses, only one ingress class is supported (string) gatewayName: "" # Gateway name to filter HTTPRoutes, only one gateway name is supported (string) service: main: ports: main: port: 8080 targetPort: 8080 persistence: configmain: enabled: "{{ .Values.sidecar.enable }}" mountPath: /config readOnly: false targetSelectAll: true config: enabled: true mountPath: /config/config.yaml subPath: config.yaml readOnly: true type: "configmap" objectName: config configmap: config: enabled: true data: config.yaml: | {{- if .Values.cnpg.main.enabled }} storage: type: postgres path: {{ (printf "%s?client_encoding=utf8" (.Values.cnpg.main.creds.std | trimAll "\"")) | quote }} {{- end }} endpoints: - name: example url: https://example.org interval: 60s conditions: - "[STATUS] == 200" - "[BODY] == pat(*

Example Domain

*)" workload: main: podSpec: containers: main: env: GATUS_CONFIG_PATH: "{{ .Values.persistence.configmain.mountPath }}" GATUS_DELAY_START_SECONDS: 10 sidecar: enabled: "{{ .Values.sidecar.enable }}" imageSelector: sidecarImage probes: liveness: enabled: true port: "{{ .Values.service.main.ports.main.port }}" readiness: enabled: true port: "{{ .Values.service.main.ports.main.port }}" startup: enabled: true port: "{{ .Values.service.main.ports.main.port }}" args: - --output=/config/gatus-sidecar.yaml - --enable-service={{ .Values.sidecar.enableService }} - --enable-ingress={{ .Values.sidecar.enableIngress }} - --enable-httproute={{ .Values.sidecar.enableHttproute }} - --auto-service={{ .Values.sidecar.autoService }} - --auto-ingress={{ .Values.sidecar.autoIngress }} - --auto-httproute={{ .Values.sidecar.autoHttproute }} - --namespace={{ .Values.sidecar.namespace }} - --ingress-class={{ .Values.sidecar.ingressClass }} - --gateway-name={{ .Values.sidecar.gatewayName }} cnpg: main: enabled: true user: gatus database: gatus # Need sysctl to allow ICMP ping from non-root containers securityContext: pod: sysctls: - name: net.ipv4.ping_group_range value: "0 2147483647" # Need RBAC to allow sidecar to watch Services and Ingresses rbac: main: enabled: "{{ .Values.sidecar.enable }}" primary: true clusterWide: true rules: - apiGroups: [""] resources: - "services" verbs: - "get" - "list" - "watch" - apiGroups: - "networking.k8s.io" resources: - "ingresses" - "ingressclasses" verbs: - "get" - "list" - "watch" - apiGroups: - "gateway.networking.k8s.io" resources: - "httproutes" - "gateways" verbs: - "get" - "list" - "watch" # Need ServiceAccount for RBAC serviceAccount: main: enabled: true primary: true # Need automountServiceAccountToken to allow sidecar to use the ServiceAccount podOptions: automountServiceAccountToken: true