Compare commits
3 commits
779bfe169b
...
fdf6582554
Author | SHA1 | Date | |
---|---|---|---|
fdf6582554 | |||
b1642382fa | |||
08bccadc21 |
62 changed files with 670 additions and 219 deletions
27
namespaces/ai/ollama/extra/gatus-endpoints.yaml
Normal file
27
namespaces/ai/ollama/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
ollama-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Ollama
|
||||
url: http://ollama-svc.ai.svc.cluster.local:11434/
|
||||
group: Internal/AI
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
# ollama-external-gatus-endpoints.yaml: |
|
||||
# endpoints:
|
||||
# - name: Ollama
|
||||
# url: https://ollama.leechpepin.com/
|
||||
# group: External
|
||||
# interval: 5m
|
||||
# alerts:
|
||||
# - type: ntfy
|
||||
# conditions:
|
||||
# - "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: ollama-
|
||||
resources:
|
||||
- ../../../kustomize/bases/deployment/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/ai/openwebui/extra/gatus-endpoints.yaml
Normal file
27
namespaces/ai/openwebui/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
owui-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Open WebUI
|
||||
url: http://open-webui.ai.svc.cluster.local:9998/
|
||||
group: Internal/AI
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
owui-external-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Open WebUI
|
||||
url: https://owui.leechpepin.com/
|
||||
group: External
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: open-webui-
|
||||
resources:
|
||||
- ../../../kustomize/bases/helmchart/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
patches:
|
||||
- path: patches/chart.yaml
|
||||
|
|
27
namespaces/ai/tabby/extra/gatus-endpoints.yaml
Normal file
27
namespaces/ai/tabby/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
tabby-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Tabby
|
||||
url: http://tabby-svc.ai.svc.cluster.local/
|
||||
group: Internal/AI
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
# tabby-external-gatus-endpoints.yaml: |
|
||||
# endpoints:
|
||||
# - name: Tabby
|
||||
# url: https://tabby.leechpepin.com/
|
||||
# group: External
|
||||
# interval: 5m
|
||||
# alerts:
|
||||
# - type: ntfy
|
||||
# conditions:
|
||||
# - "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: tabby-
|
||||
resources:
|
||||
- ../../../kustomize/bases/deployment/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/apps/atuin/extra/gatus-endpoints.yaml
Normal file
27
namespaces/apps/atuin/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
atuin-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Atuin
|
||||
url: http://atuin-svc.apps.svc.cluster.local/
|
||||
group: Internal/Apps
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
atuin-external-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Atuin
|
||||
url: https://atuin.leechpepin.com/
|
||||
group: External
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: atuin-
|
||||
resources:
|
||||
- ../../../kustomize/bases/deployment/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/apps/dolibarr/extra/gatus-endpoints.yaml
Normal file
27
namespaces/apps/dolibarr/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
dolibarr-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Dolibarr
|
||||
url: http://dolibarr-svc.apps.svc.cluster.local/
|
||||
group: Internal/Apps
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
# dolibarr-external-gatus-endpoints.yaml: |
|
||||
# endpoints:
|
||||
# - name: Dolibarr
|
||||
# url: https://dolibarr.leechpepin.com/
|
||||
# group: External
|
||||
# interval: 5m
|
||||
# alerts:
|
||||
# - type: ntfy
|
||||
# conditions:
|
||||
# - "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: dolibarr-
|
||||
resources:
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/apps/forgejo/extra/gatus-endpoints.yaml
Normal file
27
namespaces/apps/forgejo/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
forgejo-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Forgejo
|
||||
url: http://forgejo-svc.apps.svc.cluster.local/
|
||||
group: Internal/Apps
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
forgejo-external-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Forgejo
|
||||
url: https://forgejo.leechpepin.com/
|
||||
group: External
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
|
@ -15,6 +15,7 @@ resources:
|
|||
- ../../../kustomize/bases/deployment/
|
||||
- extra/ssh-service.yaml
|
||||
- extra/ssh-tcproute.yaml
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/apps/linkwarden/extra/gatus-endpoints.yaml
Normal file
27
namespaces/apps/linkwarden/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
linkwarden-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Linkwarden
|
||||
url: http://linkwarden-svc.apps.svc.cluster.local/
|
||||
group: Internal/Apps
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
linkwarden-external-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Linkwarden
|
||||
url: https://linkwarden.leechpepin.com/
|
||||
group: External
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: linkwarden-
|
||||
resources:
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/apps/mealie/extra/gatus-endpoints.yaml
Normal file
27
namespaces/apps/mealie/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
mealie-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Mealie
|
||||
url: http://mealie-svc.apps.svc.cluster.local/
|
||||
group: Internal/Apps
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
mealie-external-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Mealie
|
||||
url: https://mealie.leechpepin.com/
|
||||
group: External
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: mealie-
|
||||
resources:
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/apps/paperless/extra/gatus-endpoints.yaml
Normal file
27
namespaces/apps/paperless/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
paperless-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Paperless
|
||||
url: http://paperless-svc.apps.svc.cluster.local/
|
||||
group: Internal/Apps
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
paperless-external-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Paperless
|
||||
url: https://paperless.leechpepin.com/
|
||||
group: External
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
|
@ -17,6 +17,7 @@ resources:
|
|||
- extra/pvc-consume.yaml
|
||||
- extra/pvc-sftp.yaml
|
||||
- extra/pv-sftp.yaml
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/apps/syncthing/extra/gatus-endpoints.yaml
Normal file
27
namespaces/apps/syncthing/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
syncthing-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Syncthing
|
||||
url: http://syncthing-svc.apps.svc.cluster.local:8384/
|
||||
group: Internal/Apps
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
# syncthing-external-gatus-endpoints.yaml: |
|
||||
# endpoints:
|
||||
# - name: Syncthing
|
||||
# url: https://syncthing.leechpepin.com/
|
||||
# group: External
|
||||
# interval: 5m
|
||||
# alerts:
|
||||
# - type: ntfy
|
||||
# conditions:
|
||||
# - "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: syncthing-
|
||||
resources:
|
||||
- ../../../kustomize/bases/statefulset/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
labels:
|
||||
- includeSelectors: true
|
||||
|
|
|
@ -33,4 +33,4 @@ spec:
|
|||
storageClassName: longhorn-private
|
||||
resources:
|
||||
requests:
|
||||
storage: 50Gi
|
||||
storage: 100Gi
|
||||
|
|
27
namespaces/apps/vaultwarden/extra/gatus-endpoints.yaml
Normal file
27
namespaces/apps/vaultwarden/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
vaultwarden-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Vaultwarden
|
||||
url: http://vaultwarden-svc.apps.svc.cluster.local/
|
||||
group: Internal/Apps
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
vaultwarden-external-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Vaultwarden
|
||||
url: https://vaultwarden.leechpepin.com/
|
||||
group: External
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: vaultwarden-
|
||||
resources:
|
||||
- ../../../kustomize/bases/deployment/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/auth/authentik/extra/gatus-endpoints.yaml
Normal file
27
namespaces/auth/authentik/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
authentik-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Authentik
|
||||
url: http://authentik-chart-server.auth.svc.cluster.local/
|
||||
group: Internal/Auth
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
authentik-external-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Authentik
|
||||
url: https://auth.leechpepin.com/
|
||||
group: External
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: authentik-
|
||||
resources:
|
||||
- ../../../kustomize/bases/helmchart
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
patches:
|
||||
- path: patches/chart.yaml
|
||||
|
|
|
@ -13,7 +13,7 @@ transformers:
|
|||
namePrefix: cert-manager-
|
||||
resources:
|
||||
- ../../../kustomize/bases/helmchart-noaddons
|
||||
- extras/cloudflare-token.yaml
|
||||
- extra/cloudflare-token.yaml
|
||||
|
||||
patches:
|
||||
- path: patches/chart.yaml
|
||||
|
|
27
namespaces/core/gotenburg/extra/gatus-endpoints.yaml
Normal file
27
namespaces/core/gotenburg/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
gotenburg-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Gotenburg
|
||||
url: http://gotenburg-svc.core.svc.cluster.local:3000/health
|
||||
group: Internal/Core
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
# gotenburg-external-gatus-endpoints.yaml: |
|
||||
# endpoints:
|
||||
# - name: Gotenburg
|
||||
# url: https://gotenburg.leechpepin.com/
|
||||
# group: External
|
||||
# interval: 5m
|
||||
# alerts:
|
||||
# - type: ntfy
|
||||
# conditions:
|
||||
# - "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: gotenburg-
|
||||
resources:
|
||||
- ../../../kustomize/bases/deployservice/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/core/minio/extra/gatus-endpoint.yaml
Normal file
27
namespaces/core/minio/extra/gatus-endpoint.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
minio-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Minio
|
||||
url: http://minio-server-svc.core.svc.cluster.local:9000/minio/health/live
|
||||
group: Internal/Core
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
# minio-external-gatus-endpoints.yaml: |
|
||||
# endpoints:
|
||||
# - name: Minio
|
||||
# url: https://minio.leechpepin.com/
|
||||
# group: External
|
||||
# interval: 5m
|
||||
# alerts:
|
||||
# - type: ntfy
|
||||
# conditions:
|
||||
# - "[STATUS] == 200"
|
|
@ -13,8 +13,9 @@ transformers:
|
|||
namePrefix: minio-
|
||||
resources:
|
||||
- ../../../kustomize/bases/deployment/
|
||||
- extras/server-svc.yaml
|
||||
- extras/server-route.yaml
|
||||
- extra/server-svc.yaml
|
||||
- extra/server-route.yaml
|
||||
- extra/gatus-endpoint.yaml
|
||||
|
||||
labels:
|
||||
- includeSelectors: true
|
||||
|
|
27
namespaces/core/postgres/extra/gatus-endpoints.yaml
Normal file
27
namespaces/core/postgres/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
postgres-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Postgres
|
||||
url: tcp://postgres-svc.core.svc.cluster.local:5432
|
||||
group: Internal/Core
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[CONNECTED] == true"
|
||||
# postgres-external-gatus-endpoints.yaml: |
|
||||
# endpoints:
|
||||
# - name: Postgres
|
||||
# url: https://postgres.leechpepin.com/
|
||||
# group: External
|
||||
# interval: 5m
|
||||
# alerts:
|
||||
# - type: ntfy
|
||||
# conditions:
|
||||
# - "[STATUS] == 200"
|
|
@ -13,7 +13,8 @@ transformers:
|
|||
namePrefix: postgres-
|
||||
resources:
|
||||
- ../../../kustomize/bases/statefulset/
|
||||
- extras/tcproute.yaml
|
||||
- extra/tcproute.yaml
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
labels:
|
||||
- includeSelectors: true
|
||||
|
|
27
namespaces/core/redis/extra/gatus-endpoints.yaml
Normal file
27
namespaces/core/redis/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
redis-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Redis
|
||||
url: tcp://redis-svc.core.svc.cluster.local:6379
|
||||
group: Internal/Core
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[CONNECTED] == true"
|
||||
# redis-external-gatus-endpoints.yaml: |
|
||||
# endpoints:
|
||||
# - name: Redis
|
||||
# url: https://redis.leechpepin.com/
|
||||
# group: External
|
||||
# interval: 5m
|
||||
# alerts:
|
||||
# - type: ntfy
|
||||
# conditions:
|
||||
# - "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: redis-
|
||||
resources:
|
||||
- ../../../kustomize/bases/statefulset/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
labels:
|
||||
- includeSelectors: true
|
||||
|
|
27
namespaces/core/tika/extra/gatus-endpoints.yaml
Normal file
27
namespaces/core/tika/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
tika-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Tika
|
||||
url: http://tika-svc.core.svc.cluster.local:9998/
|
||||
group: Internal/Core
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
# tika-external-gatus-endpoints.yaml: |
|
||||
# endpoints:
|
||||
# - name: Tika
|
||||
# url: https://tika.leechpepin.com/
|
||||
# group: External
|
||||
# interval: 5m
|
||||
# alerts:
|
||||
# - type: ntfy
|
||||
# conditions:
|
||||
# - "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: tika-
|
||||
resources:
|
||||
- ../../../kustomize/bases/deployservice/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/longhorn/longhorn/extra/gatus-endpoints.yaml
Normal file
27
namespaces/longhorn/longhorn/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
Longhorn-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Longhorn
|
||||
url: http://longhorn-frontend.longhorn.svc.cluster.local/
|
||||
group: Internal/Core
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
# Longhorn-external-gatus-endpoints.yaml: |
|
||||
# endpoints:
|
||||
# - name: Longhorn
|
||||
# url: https://Longhorn.leechpepin.com/
|
||||
# group: External
|
||||
# interval: 5m
|
||||
# alerts:
|
||||
# - type: ntfy
|
||||
# conditions:
|
||||
# - "[STATUS] == 200"
|
|
@ -13,10 +13,11 @@ transformers:
|
|||
namePrefix: longhorn-
|
||||
resources:
|
||||
- ../../../kustomize/bases/helmchart
|
||||
- extras/longhorn-public-storageclass.yaml
|
||||
- extras/longhorn-private-storageclass.yaml
|
||||
- extras/longhorn-secret.yaml
|
||||
- extras/longhorn-backupjob.yaml
|
||||
- extra/longhorn-public-storageclass.yaml
|
||||
- extra/longhorn-private-storageclass.yaml
|
||||
- extra/longhorn-secret.yaml
|
||||
- extra/longhorn-backupjob.yaml
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
patches:
|
||||
- path: patches/chart.yaml
|
||||
|
|
|
@ -1,24 +1,48 @@
|
|||
metrics: true
|
||||
ui:
|
||||
title: "JLP Homelab Health | Gatus"
|
||||
skip-invalid-config-update: true
|
||||
config.yaml: |
|
||||
metrics: true
|
||||
ui:
|
||||
title: "JLP Homelab Health | Gatus"
|
||||
skip-invalid-config-update: true
|
||||
|
||||
storage:
|
||||
type: postgres
|
||||
caching: true
|
||||
path: "postgres://gatus:${POSTGRES_PASSWORD}@postgres-svc.core.svc.cluster.local:5432/gatus?sslmode=disable"
|
||||
alerting:
|
||||
ntfy:
|
||||
url: https://ntfy.leechpepin.com
|
||||
topic: gatus-laakeI3fNWqNC7ZR
|
||||
token: ${NTFY_TOKEN}
|
||||
disable-firebase: true
|
||||
defaultAlert:
|
||||
description: "healthcheck failed"
|
||||
enabled: true
|
||||
send-on-resolved: true
|
||||
success-threshold: 3
|
||||
failure-threshold: 3
|
||||
|
||||
endpoints:
|
||||
- name: website
|
||||
url: https://twin.sh/health
|
||||
- name: Gatus
|
||||
url: http://gatus-svc.monitoring.svc.cluster.local:8080/health
|
||||
group: Internal/Monitoring
|
||||
interval: 5m
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[BODY].status == UP"
|
||||
|
||||
- name: github
|
||||
url: https://api.github.com/healthz
|
||||
alerts:
|
||||
- type: ntfy
|
||||
- name: Blog
|
||||
url: https://blog.leechpepin.com
|
||||
group: Static Pages
|
||||
interval: 5m
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
|
||||
- name: self
|
||||
url: http://localhost:8080/health
|
||||
alerts:
|
||||
- type: ntfy
|
||||
- name: Techdocs
|
||||
url: https://docs.leechpepin.com
|
||||
group: Static Pages
|
||||
interval: 5m
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
alerts:
|
||||
- type: ntfy
|
||||
|
|
|
@ -13,8 +13,8 @@ transformers:
|
|||
namePrefix: gatus-
|
||||
resources:
|
||||
- ../../../kustomize/bases/deployment/
|
||||
- extras/sidecar-crb.yaml
|
||||
- extras/sidecar-serviceAccount.yaml
|
||||
- extra/sidecar-crb.yaml
|
||||
- extra/sidecar-serviceAccount.yaml
|
||||
|
||||
patches:
|
||||
- path: patches/deployment.yaml
|
||||
|
@ -36,10 +36,7 @@ labels:
|
|||
app.kubernetes.io/routePrefix: status
|
||||
|
||||
configMapGenerator:
|
||||
- name: gatus-config
|
||||
files:
|
||||
- base-config.yaml
|
||||
- name: gatus-settings
|
||||
- name: settings
|
||||
literals:
|
||||
- GATUS_CONFIG_PATH=/config
|
||||
- name: k8s-sidecar-settings
|
||||
|
@ -49,6 +46,10 @@ configMapGenerator:
|
|||
- FOLDER="/config"
|
||||
- METHOD="SLEEP"
|
||||
- SLEEP_TIME=60
|
||||
- NAMESPACE="auth,ai,monitoring,apps,core,longhorn"
|
||||
- name: base-config
|
||||
files:
|
||||
- base-config.yaml
|
||||
|
||||
replacements:
|
||||
# Service
|
||||
|
@ -81,6 +82,13 @@ replacements:
|
|||
kind: InfisicalSecret
|
||||
fieldPaths:
|
||||
- spec.managedSecretReference.secretNamespace
|
||||
- select:
|
||||
kind: InfisicalSecret
|
||||
options:
|
||||
delimiter: "/"
|
||||
index: 1
|
||||
fieldPaths:
|
||||
- spec.authentication.universalAuth.secretsScope.secretsPath
|
||||
- source:
|
||||
kind: Deployment
|
||||
name: app
|
||||
|
|
|
@ -32,7 +32,7 @@ spec:
|
|||
resources:
|
||||
limits:
|
||||
cpu: 250m
|
||||
memory: 100M
|
||||
memory: 500M
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 30M
|
||||
|
@ -55,21 +55,39 @@ spec:
|
|||
envFrom:
|
||||
- configMapRef:
|
||||
name: gatus-settings
|
||||
env:
|
||||
- name: NTFY_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: gatus-secrets
|
||||
key: NTFY_TOKEN
|
||||
optional: false
|
||||
- name: POSTGRES_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: gatus-secrets
|
||||
key: POSTGRES_PASSWORD
|
||||
optional: false
|
||||
volumeMounts:
|
||||
- mountPath: /config/config.yaml
|
||||
name: gatus-config
|
||||
subPath: base-config.yaml
|
||||
- name: collected
|
||||
mountPath: /config/
|
||||
- name: config-collector
|
||||
image: kiwigrid/k8s-sidecar:1.30.3
|
||||
volumeMounts:
|
||||
- name: collected
|
||||
mountPath: /config/
|
||||
- mountPath: /config/config.yaml
|
||||
name: gatus-config
|
||||
subPath: base-config.yaml
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: k8s-sidecar-settings
|
||||
volumes:
|
||||
- configMap:
|
||||
name: gatus-config
|
||||
name: base-config
|
||||
name: gatus-config
|
||||
- name: collected
|
||||
emptyDir: {}
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
healthchecks-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Healthchecks
|
||||
url: http://healthchecks-svc.monitoring.svc.cluster.local/
|
||||
headers:
|
||||
Host: "healthchecks.leechpepin.com"
|
||||
group: Internal/Monitoring
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
healthchecks-external-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Healthchecks
|
||||
url: https://healthchecks.leechpepin.com/
|
||||
group: External
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: healthchecks-
|
||||
resources:
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/monitoring/ntfy/extra/gatus-endpoints.yaml
Normal file
27
namespaces/monitoring/ntfy/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
ntfy-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Ntfy
|
||||
url: http://ntfy-svc.monitoring.svc.cluster.local/
|
||||
group: Internal/Monitoring
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
ntfy-external-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Ntfy
|
||||
url: https://ntfy.leechpepin.com/
|
||||
group: External
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: ntfy-
|
||||
resources:
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
27
namespaces/monitoring/umami/extra/gatus-endpoints.yaml
Normal file
27
namespaces/monitoring/umami/extra/gatus-endpoints.yaml
Normal file
|
@ -0,0 +1,27 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
homelab.kubernetes.io/k8s-sidecar: gatus
|
||||
name: gatus-endpoints
|
||||
data:
|
||||
umami-internal-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Umami
|
||||
url: http://umami-svc.monitoring.svc.cluster.local/
|
||||
group: Internal/Monitoring
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
umami-external-gatus-endpoints.yaml: |
|
||||
endpoints:
|
||||
- name: Umami
|
||||
url: https://umami.leechpepin.com/
|
||||
group: External
|
||||
interval: 5m
|
||||
alerts:
|
||||
- type: ntfy
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
|
@ -13,6 +13,7 @@ transformers:
|
|||
namePrefix: umami-
|
||||
resources:
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
- extra/gatus-endpoints.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: authentik-forward-auth
|
||||
namespace: monitoring # adjust as needed
|
||||
spec:
|
||||
forwardAuth:
|
||||
address: http://ak-outpost-authentik-embedded-outpost.auth.svc.cluster.local:9000/outpost.goauthentik.io/auth/traefik
|
||||
trustForwardHeader: true
|
||||
authResponseHeaders:
|
||||
- X-Authentik-Username
|
||||
- X-Authentik-Groups
|
||||
- X-Authentik-Email
|
||||
authRequestHeaders:
|
||||
- Accept
|
||||
- Cookie
|
||||
- Host
|
||||
- X-Forwarded-For
|
||||
- X-Forwarded-Host
|
||||
- X-Forwarded-Proto
|
||||
- X-Forwarded-Uri
|
||||
- X-Forwarded-Port
|
||||
- X-Forwarded-Method
|
||||
# Add these to handle redirect
|
||||
authResponseHeadersRegex: "X-.*"
|
|
@ -1,96 +0,0 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
transformers:
|
||||
- |-
|
||||
apiVersion: builtin
|
||||
kind: NamespaceTransformer
|
||||
metadata:
|
||||
name: notImportantHere
|
||||
namespace: monitoring
|
||||
unsetOnly: true
|
||||
|
||||
namePrefix: uptime-kuma-
|
||||
resources:
|
||||
- ../../../kustomize/bases/deployment/
|
||||
# - extra/middleware-auth.yaml
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
kind: Service
|
||||
name: svc
|
||||
targets:
|
||||
- select:
|
||||
kind: HTTPRoute
|
||||
options:
|
||||
create: true
|
||||
fieldPaths:
|
||||
- spec.rules.0.backendRefs.0.name
|
||||
- source:
|
||||
kind: Deployment
|
||||
name: app
|
||||
fieldPath: metadata.labels.[app.kubernetes.io/appName]
|
||||
targets:
|
||||
- select:
|
||||
kind: InfisicalSecret
|
||||
options:
|
||||
delimiter: "-"
|
||||
index: 0
|
||||
fieldPaths:
|
||||
- spec.managedSecretReference.secretName
|
||||
- select:
|
||||
kind: InfisicalSecret
|
||||
options:
|
||||
delimiter: "/"
|
||||
index: 2
|
||||
fieldPaths:
|
||||
- spec.authentication.universalAuth.secretsScope.secretsPath
|
||||
- select:
|
||||
kind: Service
|
||||
fieldPaths:
|
||||
- spec.ports.0.name
|
||||
- spec.ports.0.targetPort
|
||||
- source:
|
||||
kind: Deployment
|
||||
name: app
|
||||
fieldPath: metadata.labels.[app.kubernetes.io/appNamespace]
|
||||
targets:
|
||||
- select:
|
||||
kind: InfisicalSecret
|
||||
fieldPaths:
|
||||
- spec.managedSecretReference.secretNamespace
|
||||
- source:
|
||||
kind: Deployment
|
||||
name: app
|
||||
fieldPath: metadata.labels.[app.kubernetes.io/routePrefix]
|
||||
targets:
|
||||
- select:
|
||||
kind: HTTPRoute
|
||||
options:
|
||||
create: true
|
||||
delimiter: "."
|
||||
index: 0
|
||||
fieldPaths:
|
||||
- spec.hostnames.0
|
||||
|
||||
patches:
|
||||
- path: patches/deployment.yaml
|
||||
target:
|
||||
kind: Deployment
|
||||
name: app
|
||||
- path: patches/httproute.yaml
|
||||
target:
|
||||
kind: HTTPRoute
|
||||
- path: patches/pvc.yaml
|
||||
target:
|
||||
kind: PersistentVolumeClaim
|
||||
name: pvc
|
||||
|
||||
labels:
|
||||
- includeSelectors: true
|
||||
pairs:
|
||||
app.kubernetes.io/appName: uptime-kuma
|
||||
- pairs:
|
||||
app.kubernetes.io/appNamespace: monitoring
|
||||
- pairs:
|
||||
app.kubernetes.io/routePrefix: status
|
|
@ -1,48 +0,0 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: app
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
tolerations:
|
||||
- key: "public"
|
||||
operator: "Equal"
|
||||
value: "true"
|
||||
effect: "NoSchedule"
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
- weight: 100
|
||||
preference:
|
||||
matchExpressions:
|
||||
- key: public
|
||||
operator: In
|
||||
values:
|
||||
- "true"
|
||||
containers:
|
||||
- name: uptime-kuma
|
||||
image: louislam/uptime-kuma:1
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 3001
|
||||
name: uptime-kuma
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: uptime-kuma
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 10
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
scheme: HTTP
|
||||
path: /
|
||||
port: uptime-kuma
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 10
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: /app/data
|
||||
volumes:
|
||||
- name: data
|
||||
persistentVolumeClaim:
|
||||
claimName: uptime-kuma-pvc
|
|
@ -1,14 +0,0 @@
|
|||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: HTTPRoute
|
||||
metadata:
|
||||
name: http
|
||||
# spec:
|
||||
# rules:
|
||||
# - backendRefs:
|
||||
# - port: 80
|
||||
# filters:
|
||||
# - type: ExtensionRef
|
||||
# extensionRef:
|
||||
# group: traefik.io
|
||||
# kind: Middleware
|
||||
# name: authentik-forward-auth
|
|
@ -1,6 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: pvc
|
||||
spec:
|
||||
storageClassName: longhorn-public
|
Loading…
Add table
Reference in a new issue