No introduction found. Create it?
gatus from bjw-s-labs/helm/app-template is more popular with 81 repositories.
Install with:
helm repo add bjw-s https://bjw-s-labs.github.io/helm-charts/
helm install gatus bjw-s/app-template -f values.yamlSee examples from other people.
| Name | Repo | Stars | Version | Timestamp |
|---|---|---|---|---|
| gatus | h3mmy/bloopySphere | 62 | 4.4.0 | an hour ago |
| gatus | angelnu/k8s-gitops | 180 | 3.7.3 | 7 days ago |
| gatus | tyriis/home-ops | 75 | 4.4.0 | 8 days ago |
See the most popular values for this chart:
| Key | Types |
|---|---|
persistence.config-file.name (7) gatus-configmap | string |
persistence.config-file.type (7) configMap | string |
persistence.config-file.globalMounts[].path (6) /config/config.yaml | string |
| string | |
| boolean | |
persistence.config-file.advancedMounts.main.main[].path (1) /config/config.yaml | string |
| boolean | |
| string | |
| boolean | |
persistence.config.type (6) emptyDir | string |
| boolean | |
persistence.config.existingClaim (1) gatus-data | string |
| string | |
| boolean | |
persistence.data.existingClaim (2) gatus-pvc | string |
persistence.data.accessMode (1) ReadWriteOnce | string |
| string | |
| string | |
| string | |
persistence.data.storageClass (1) local-hostpath | string |
persistence.data.type (1) persistentVolumeClaim | string |
| string | |
controllers.gatus.annotations."security.alpha.kubernetes.io/sysctls" (1) net.ipv4.ping_group_range=0 2147483647 | string |
| string | |
| number | |
controllers.gatus.containers.app.env.TZ (5) ${TIMEZONE} | string |
| number | |
| number | |
| string | |
| string | |
controllers.gatus.containers.app.env.XYZ_DOMAIN (1) ${XYZ_DOMAIN} | string |
controllers.gatus.containers.app.image.repository (6) ghcr.io/twin/gatus | string |
controllers.gatus.containers.app.image.tag (6) v5.30.0@sha256:bab5a31cb3cfde7fd9913a5ff97652883e4db08f3b429a62a7a188c746df4219 | string |
| boolean | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| number | |
| boolean | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| number | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| string | |
| string | |
controllers.gatus.containers.config-sync.env.LABEL (1) gatus.io/enabled | string |
| string | |
| string | |
| string | |
| boolean | |
| string | |
controllers.gatus.containers.config-sync.image.repository (1) ghcr.io/kiwigrid/k8s-sidecar | string |
controllers.gatus.containers.config-sync.image.tag (1) 1.30.9@sha256:8c06e1ba643a4625de14b2db65c356f5db6b1482a25fce4754380a2936207338 | string |
| string | |
| string | |
| string | |
| string | |
controllers.gatus.initContainers.init-config.env.LABEL (5) gatus.io/enabled | string |
| string | |
| string | |
| string | |
| boolean | |
controllers.gatus.initContainers.init-config.image.repository (5) ghcr.io/kiwigrid/k8s-sidecar | string |
controllers.gatus.initContainers.init-config.image.tag (5) 2.1.2@sha256:8b875915be0869624cf5dfd48a1dfbfb627e778793cc1612d00fb281a8805c63 | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
controllers.gatus.initContainers.init-db.image.repository (2) ghcr.io/home-operations/postgres-init | string |
| number, string | |
| string | |
| string | |
| string | |
| number | |
| string | |
| number | |
| boolean | |
| number | |
controllers.gatus.pod.securityContext.sysctls[].name (1) net.ipv4.ping_group_range | string |
| string | |
| string | |
controllers.main.containers.app.env.TZ (1) Europe/Berlin | string |
controllers.main.containers.app.image.repository (1) docker.io/twinproduction/gatus | string |
controllers.main.containers.app.image.tag (1) v5.30.0@sha256:bab5a31cb3cfde7fd9913a5ff97652883e4db08f3b429a62a7a188c746df4219 | string |
controllers.main.containers.config-sync.env[].name (1) FOLDER | string |
controllers.main.containers.config-sync.env[].value (1) /config | string |
controllers.main.containers.config-sync.image.repository (1) ghcr.io/kiwigrid/k8s-sidecar | string |
| string | |
| string | |
controllers.main.containers.main.env.CLUSTER_NAME (1) ${CLUSTER_NAME} | string |
| number | |
| string | |
controllers.main.containers.main.env.NTFY_TOKEN (1) ${SECRET_NTFY_TOKEN} | string |
controllers.main.containers.main.env.SECRET_DOMAIN (1) ${SECRET_DOMAIN} | string |
controllers.main.containers.main.env.TZ (1) Europe/London | string |
| string | |
controllers.main.containers.main.image.repository (1) ghcr.io/twin/gatus | string |
| string | |
| string | |
| string | |
| string | |
| number | |
| string | |
| number | |
| number | |
controllers.main.initContainers.init-config-sync.env[].name (1) FOLDER | string |
controllers.main.initContainers.init-config-sync.env[].value (1) /config | string |
controllers.main.initContainers.init-config-sync.image.repository (1) ghcr.io/kiwigrid/k8s-sidecar | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| number | |
service.app.ipFamilyPolicy (1) PreferDualStack | string |
| number | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
serviceMonitor.app.endpoints[].metricRelabelings[].action (1) labeldrop | string |
| string | |
| string | |
| string | |
| string | |
| number | |
| string | |
| number | |
| boolean | |
| number | |
| string | |
| string | |
| string | |
ingress.main.hosts[].host (4) status.${DOMAIN_NAME} | string |
| string | |
| string | |
| string | |
| string | |
| string | |
ingress.main.className (3) traefik | string |
| boolean | |
| string | |
ingress.main.annotations."traefik.ingress.kubernetes.io/router.middlewares" (2) network-system-authelia-auth@kubernetescrd | string |
| string | |
| string | |
| string | |
ingress.main.annotations."gethomepage.dev/group" (1) Observability | string |
| string | |
| string | |
| string | |
| string | |
ingress.main.annotations."hajimari.io/info" (1) Service Status Monitor | string |
ingress.main.annotations."hajimari.io/url" (1) https://status.${XYZ_DOMAIN} | string |
ingress.main.annotations."nginx.ingress.kubernetes.io/whitelist-source-range" (1) 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 | string |
| string | |
| string | |
ingress.main.tls[].hosts[] (2) - status.${XYZ_DOMAIN} | string |
| string | |
ingress.app.hosts[].host (3) status.${domain_name} | string |
| string | |
| string | |
| string | |
ingress.app.annotations."external-dns.alpha.kubernetes.io/target" (1) external.${HOME_DOMAIN} | string |
| string | |
ingress.app.annotations."nginx.ingress.kubernetes.io/auth-response-headers" (1) Set-Cookie,X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid | string |
ingress.app.annotations."nginx.ingress.kubernetes.io/auth-signin" (1) https://status.${domain_name}/outpost.goauthentik.io/start?rd=$scheme://$http_host$escaped_request_uri | string |
ingress.app.annotations."nginx.ingress.kubernetes.io/auth-snippet" (1) proxy_set_header X-Forwarded-Host $http_host; | string |
ingress.app.annotations."nginx.ingress.kubernetes.io/auth-url" (1) http://ak-outpost-proxy-outpost.authentik.svc.cluster.local:9000/outpost.goauthentik.io/auth/nginx | string |
| string | |
ingress.app.annotations."traefik.ingress.kubernetes.io/router.middlewares" (1) networking-rfc1918-ips@kubernetescrd | string |
ingress.app.tls[].hosts[] (1) - status.home.${SECRET_DOMAIN} | string |
ingress.app.tls[].secretName (1) wildcard-internal-${SECRET_DOMAIN/./-}-tls | string |
| string | |
| string | |
ingress.tailscale.className (1) nginx-tailscale | string |
| boolean | |
ingress.tailscale.hosts[].host (1) status.${SECRET_DOMAIN} | string |
| string | |
| string | |
| string | |
ingress.tailscale.tls[].hosts[] (1) - status.${SECRET_DOMAIN} | string |
| string | |
| string | |
rbac.bindings.gatus.type (2) ClusterRoleBinding | string |
rbac.roles.gatus.rules[].apiGroups[] (2) - | string |
rbac.roles.gatus.rules[].resources[] (2) - services | string |
rbac.roles.gatus.rules[].verbs[] (2) - get | string |
rbac.roles.gatus.type (2) ClusterRole | string |
| boolean | |
| string | |
configMaps.config.data."config.yaml" (1) alerting:
pagerduty:
integration-key: "${PAGERDUTTY_KEY}"
default-alert:
enabled: true
description: "health check failed"
send-on-resolved: true
failure-threshold: 5
success-threshold: 5
slack:
webhook-url: "${FLUX_SLACK_URL}"
default-alert:
enabled: true
description: "health check failed"
send-on-resolved: true
failure-threshold: 5
success-threshold: 5
storage:
type: sqlite
path: /data/data.db
endpoints:
- name: Proxmox 1
group: core
url: "https://pve1.${CLUSTER_DOMAIN}:8006"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Proxmox 2
group: core
url: "https://pve2.${CLUSTER_DOMAIN}:8006"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Proxmox 3
group: core
url: "https://pve3.${CLUSTER_DOMAIN}:8006"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Proxmox 4
group: core
url: "https://pve4.${CLUSTER_DOMAIN}:8006"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: dev ssh
group: core
url: "tcp://casa96.${CLUSTER_DOMAIN}:22322"
interval: 5m
alerts:
- type: slack
- type: pagerduty
client:
insecure: true
conditions:
- "[CONNECTED] == true"
- name: Authentik
group: core
url: "https://authentik.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: LDAP
group: core
url: "tls://ldap.${CLUSTER_DOMAIN}:636"
interval: 30m
client:
timeout: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[CONNECTED] == true"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: Nas
group: core
url: "http://nas.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Nas Backup
group: core
url: "http://nas-backup.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Unifi
group: core
url: "https://unifi.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Postgres Operator
group: core
url: "https://postgres-operator.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Home Assistant
group: home-assistant
url: "https://ha.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Home Assistant editor
group: home-assistant
url: https://ha-editor.pub.${CLUSTER_DOMAIN}
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Home Assistant Adppdaemon
group: home-assistant
url: https://ha-app.pub.${CLUSTER_DOMAIN}
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Deepstack
group: home-assistant
url: https://deepstack.pub.${CLUSTER_DOMAIN}
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Raspberrymatic
group: home-assistant
url: "http://ccu"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: esphome
group: home-assistant
url: "https://esphome.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Esphome editor
group: home-assistant
url: "https://esphome-editor.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: paperless
group: paperless
url: "https://paperless.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: paperless-javi
group: paperless
url: "https://paperless-javi.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: paperless-mireille-work
group: paperless
url: "https://paperless-mireille-work.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: paperless-recipes
group: paperless
url: "https://paperless-recipes.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: paperless-madrid
group: paperless
url: "https://paperless-madrid.home.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: paperless-edu
group: paperless
url: "https://paperless-edu.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: QBittorrent
group: downloads
url: "https://torrent.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: radarr
group: downloads
url: "https://radarr.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: sonarr
group: downloads
url: "https://sonarr.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: lidarr
group: downloads
url: "https://lidarr.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: readarr
group: downloads
url: "https://readarr.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: prowlarr
group: downloads
url: "https://prowlarr.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Ubuntu
group: downloads
url: "https://ubuntu.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Mega
group: downloads
url: "https://mega.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Nextcloud
group: DNS
url: "192.168.2.1" # Address of the DNS server to use
interval: 5m
alerts:
- type: slack
- type: pagerduty
dns:
query-name: "nextcloud.${CLUSTER_DOMAIN}"
query-type: "A"
conditions:
- "[BODY] == 192.168.1.128"
- "[DNS_RCODE] == NOERROR"
- name: home-assistant
group: DNS
url: "192.168.2.1" # Address of the DNS server to use
interval: 5m
alerts:
- type: slack
- type: pagerduty
dns:
query-name: "ha.${CLUSTER_DOMAIN}"
query-type: "A"
conditions:
- "[BODY] == 192.168.1.128"
- "[DNS_RCODE] == NOERROR"
- name: Maddy smtp extern starttls
group: mail
url: "starttls://mx.${CLUSTER_DOMAIN}:25"
interval: 30m
client:
timeout: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[CONNECTED] == true"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: Maddy smtp starttls
group: mail
url: "starttls://mx.${CLUSTER_DOMAIN}:587"
interval: 30m
client:
timeout: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[CONNECTED] == true"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: Maddy smtp tls
group: mail
url: "tls://mx.${CLUSTER_DOMAIN}:465"
interval: 30m
client:
timeout: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[CONNECTED] == true"
- "[CERTIFICATE_EXPIRATION] > 48h"
# - name: Maddy imap starttls
# group: mail
# url: "starttls://mx.${CLUSTER_DOMAIN}:143"
# interval: 30m
# client:
# timeout: 5s
# conditions:
# - "[CONNECTED] == true"
# - "[CERTIFICATE_EXPIRATION] > 48h"
- name: Maddy imap tls
group: mail
url: "tls://mx.${CLUSTER_DOMAIN}:993"
interval: 30m
client:
timeout: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[CONNECTED] == true"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: Maddy editor
group: mail
url: https://maddy-editor.pub.${CLUSTER_DOMAIN}
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Gitea
group: apps
url: "https://git.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Gitea ssh
group: apps
url: "tcp://git.${CLUSTER_DOMAIN}:2222"
interval: 5m
alerts:
- type: slack
- type: pagerduty
client:
insecure: true
conditions:
- "[CONNECTED] == true"
- name: Nextcloud
group: apps
url: "http://nextcloud.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Tiny tiny RSS
group: apps
url: "http://rss.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Hajimari
group: apps
url: "https://home.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Jellyfin
group: apps
url: "http://jellyfin.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Photos
group: apps
url: "https://photos.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Recipes
group: apps
url: "https://recipes.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Handbrake
group: apps
url: "https://handbrake.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Mealie
group: apps
url: "https://mealie.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
- name: Fritzbox casa 96
group: wireguard
url: "https://192.168.63.1"
interval: 5m
alerts:
- type: slack
- type: pagerduty
client:
insecure: true
conditions:
- "[STATUS] == 200"
- name: Fritzbox madrid
group: wireguard
url: "https://192.168.101.1"
interval: 5m
alerts:
- type: slack
- type: pagerduty
client:
insecure: true
conditions:
- "[STATUS] == 200"
- name: Fritzbox casa 128
group: wireguard
url: "https://192.168.103.1"
interval: 5m
alerts:
- type: slack
- type: pagerduty
client:
insecure: true
conditions:
- "[STATUS] == 200"
- name: Fritzbox pueblo
group: wireguard
url: "https://192.168.105.1"
interval: 5m
alerts:
- type: slack
- type: pagerduty
client:
insecure: true
conditions:
- "[STATUS] == 200"
- name: Printer Cannon
group: others
url: "https://print.pub.${CLUSTER_DOMAIN}"
interval: 5m
alerts:
- type: slack
- type: pagerduty
conditions:
- "[STATUS] == 200"
| string |
| boolean | |
| string | |
| string | |
route.app.annotations."gethomepage.dev/description" (1) Uptime Monitoring | string |
| string | |
| string | |
| string | |
| string | |
route.app.hostnames[] (1) - status.techtales.io | string |
| string | |
route.app.parentRefs[].namespace (1) kube-system | string |
| string |