diff --git a/namespaces/ai/ollama/extra/gatus-endpoints.yaml b/namespaces/ai/ollama/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..ee15832
--- /dev/null
+++ b/namespaces/ai/ollama/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/ai/ollama/kustomization.yaml b/namespaces/ai/ollama/kustomization.yaml
index eea1d82..ab4a054 100644
--- a/namespaces/ai/ollama/kustomization.yaml
+++ b/namespaces/ai/ollama/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: ollama-
 resources:
   - ../../../kustomize/bases/deployment/
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/ai/openwebui/extra/gatus-endpoints.yaml b/namespaces/ai/openwebui/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..422eb96
--- /dev/null
+++ b/namespaces/ai/openwebui/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/ai/openwebui/kustomization.yaml b/namespaces/ai/openwebui/kustomization.yaml
index 3b770a1..07f3a58 100644
--- a/namespaces/ai/openwebui/kustomization.yaml
+++ b/namespaces/ai/openwebui/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: open-webui-
 resources:
   - ../../../kustomize/bases/helmchart/
+  - extra/gatus-endpoints.yaml
 
 patches:
   - path: patches/chart.yaml
diff --git a/namespaces/ai/tabby/extra/gatus-endpoints.yaml b/namespaces/ai/tabby/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..020d53c
--- /dev/null
+++ b/namespaces/ai/tabby/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/ai/tabby/kustomization.yaml b/namespaces/ai/tabby/kustomization.yaml
index e13595b..05de069 100644
--- a/namespaces/ai/tabby/kustomization.yaml
+++ b/namespaces/ai/tabby/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: tabby-
 resources:
   - ../../../kustomize/bases/deployment/
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/apps/atuin/extra/gatus-endpoints.yaml b/namespaces/apps/atuin/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..b38d5f4
--- /dev/null
+++ b/namespaces/apps/atuin/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/apps/atuin/kustomization.yaml b/namespaces/apps/atuin/kustomization.yaml
index 23c6e3c..51912df 100644
--- a/namespaces/apps/atuin/kustomization.yaml
+++ b/namespaces/apps/atuin/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: atuin-
 resources:
   - ../../../kustomize/bases/deployment/
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/apps/dolibarr/extra/gatus-endpoints.yaml b/namespaces/apps/dolibarr/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..69a932e
--- /dev/null
+++ b/namespaces/apps/dolibarr/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/apps/dolibarr/kustomization.yaml b/namespaces/apps/dolibarr/kustomization.yaml
index 26bef45..cc49327 100644
--- a/namespaces/apps/dolibarr/kustomization.yaml
+++ b/namespaces/apps/dolibarr/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: dolibarr-
 resources:
   - ../../../kustomize/bases/public-oidc/
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/apps/forgejo/extra/gatus-endpoints.yaml b/namespaces/apps/forgejo/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..bc5bc0a
--- /dev/null
+++ b/namespaces/apps/forgejo/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/apps/forgejo/kustomization.yaml b/namespaces/apps/forgejo/kustomization.yaml
index 7bdd5f2..d7ee11d 100644
--- a/namespaces/apps/forgejo/kustomization.yaml
+++ b/namespaces/apps/forgejo/kustomization.yaml
@@ -15,6 +15,7 @@ resources:
   - ../../../kustomize/bases/deployment/
   - extra/ssh-service.yaml
   - extra/ssh-tcproute.yaml
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/apps/linkwarden/extra/gatus-endpoints.yaml b/namespaces/apps/linkwarden/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..6e42475
--- /dev/null
+++ b/namespaces/apps/linkwarden/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/apps/linkwarden/kustomization.yaml b/namespaces/apps/linkwarden/kustomization.yaml
index 6bb096a..2fe15c3 100644
--- a/namespaces/apps/linkwarden/kustomization.yaml
+++ b/namespaces/apps/linkwarden/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: linkwarden-
 resources:
   - ../../../kustomize/bases/public-oidc/
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/apps/mealie/extra/gatus-endpoints.yaml b/namespaces/apps/mealie/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..69e731e
--- /dev/null
+++ b/namespaces/apps/mealie/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/apps/mealie/kustomization.yaml b/namespaces/apps/mealie/kustomization.yaml
index abf1931..866bf37 100644
--- a/namespaces/apps/mealie/kustomization.yaml
+++ b/namespaces/apps/mealie/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: mealie-
 resources:
   - ../../../kustomize/bases/public-oidc/
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/apps/paperless/extra/gatus-endpoints.yaml b/namespaces/apps/paperless/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..21d9f56
--- /dev/null
+++ b/namespaces/apps/paperless/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/apps/paperless/kustomization.yaml b/namespaces/apps/paperless/kustomization.yaml
index 0b444ff..1d5b65a 100644
--- a/namespaces/apps/paperless/kustomization.yaml
+++ b/namespaces/apps/paperless/kustomization.yaml
@@ -17,6 +17,7 @@ resources:
   - extra/pvc-consume.yaml
   - extra/pvc-sftp.yaml
   - extra/pv-sftp.yaml
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/apps/syncthing/extra/gatus-endpoints.yaml b/namespaces/apps/syncthing/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..8782101
--- /dev/null
+++ b/namespaces/apps/syncthing/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/apps/syncthing/kustomization.yaml b/namespaces/apps/syncthing/kustomization.yaml
index 5c5225f..f872e1b 100644
--- a/namespaces/apps/syncthing/kustomization.yaml
+++ b/namespaces/apps/syncthing/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: syncthing-
 resources:
   - ../../../kustomize/bases/statefulset/
+  - extra/gatus-endpoints.yaml
 
 labels:
   - includeSelectors: true
diff --git a/namespaces/apps/vaultwarden/extra/gatus-endpoints.yaml b/namespaces/apps/vaultwarden/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..0b6494e
--- /dev/null
+++ b/namespaces/apps/vaultwarden/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/apps/vaultwarden/kustomization.yaml b/namespaces/apps/vaultwarden/kustomization.yaml
index 50f3b02..cb512a3 100644
--- a/namespaces/apps/vaultwarden/kustomization.yaml
+++ b/namespaces/apps/vaultwarden/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: vaultwarden-
 resources:
   - ../../../kustomize/bases/deployment/
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/auth/authentik/extra/gatus-endpoints.yaml b/namespaces/auth/authentik/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..eaa5a81
--- /dev/null
+++ b/namespaces/auth/authentik/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/auth/authentik/kustomization.yaml b/namespaces/auth/authentik/kustomization.yaml
index a27790d..e763fbb 100644
--- a/namespaces/auth/authentik/kustomization.yaml
+++ b/namespaces/auth/authentik/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: authentik-
 resources:
   - ../../../kustomize/bases/helmchart
+  - extra/gatus-endpoints.yaml
 
 patches:
   - path: patches/chart.yaml
diff --git a/namespaces/core/gotenburg/extra/gatus-endpoints.yaml b/namespaces/core/gotenburg/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..21016e6
--- /dev/null
+++ b/namespaces/core/gotenburg/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/core/gotenburg/kustomization.yaml b/namespaces/core/gotenburg/kustomization.yaml
index ebf412a..c32cc58 100644
--- a/namespaces/core/gotenburg/kustomization.yaml
+++ b/namespaces/core/gotenburg/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: gotenburg-
 resources:
   - ../../../kustomize/bases/deployservice/
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/core/minio/extra/gatus-endpoint.yaml b/namespaces/core/minio/extra/gatus-endpoint.yaml
new file mode 100644
index 0000000..17308e0
--- /dev/null
+++ b/namespaces/core/minio/extra/gatus-endpoint.yaml
@@ -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"
diff --git a/namespaces/core/minio/kustomization.yaml b/namespaces/core/minio/kustomization.yaml
index 089f084..188dda1 100644
--- a/namespaces/core/minio/kustomization.yaml
+++ b/namespaces/core/minio/kustomization.yaml
@@ -15,6 +15,7 @@ resources:
   - ../../../kustomize/bases/deployment/
   - extra/server-svc.yaml
   - extra/server-route.yaml
+  - extra/gatus-endpoint.yaml
 
 labels:
   - includeSelectors: true
diff --git a/namespaces/core/postgres/extra/gatus-endpoints.yaml b/namespaces/core/postgres/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..d98fd2b
--- /dev/null
+++ b/namespaces/core/postgres/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/core/postgres/kustomization.yaml b/namespaces/core/postgres/kustomization.yaml
index e5db159..8e28817 100644
--- a/namespaces/core/postgres/kustomization.yaml
+++ b/namespaces/core/postgres/kustomization.yaml
@@ -14,6 +14,7 @@ namePrefix: postgres-
 resources:
   - ../../../kustomize/bases/statefulset/
   - extra/tcproute.yaml
+  - extra/gatus-endpoints.yaml
 
 labels:
   - includeSelectors: true
diff --git a/namespaces/core/redis/extra/gatus-endpoints.yaml b/namespaces/core/redis/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..32c1a73
--- /dev/null
+++ b/namespaces/core/redis/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/core/redis/kustomization.yaml b/namespaces/core/redis/kustomization.yaml
index ac37284..7c74a04 100644
--- a/namespaces/core/redis/kustomization.yaml
+++ b/namespaces/core/redis/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: redis-
 resources:
   - ../../../kustomize/bases/statefulset/
+  - extra/gatus-endpoints.yaml
 
 labels:
   - includeSelectors: true
diff --git a/namespaces/core/tika/extra/gatus-endpoints.yaml b/namespaces/core/tika/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..102cc02
--- /dev/null
+++ b/namespaces/core/tika/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/core/tika/kustomization.yaml b/namespaces/core/tika/kustomization.yaml
index 4ab5afd..e87a67c 100644
--- a/namespaces/core/tika/kustomization.yaml
+++ b/namespaces/core/tika/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: tika-
 resources:
   - ../../../kustomize/bases/deployservice/
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/longhorn/longhorn/extra/gatus-endpoints.yaml b/namespaces/longhorn/longhorn/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..36a4ecf
--- /dev/null
+++ b/namespaces/longhorn/longhorn/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/longhorn/longhorn/kustomization.yaml b/namespaces/longhorn/longhorn/kustomization.yaml
index 130fe6f..f61af54 100644
--- a/namespaces/longhorn/longhorn/kustomization.yaml
+++ b/namespaces/longhorn/longhorn/kustomization.yaml
@@ -17,6 +17,7 @@ resources:
   - extra/longhorn-private-storageclass.yaml
   - extra/longhorn-secret.yaml
   - extra/longhorn-backupjob.yaml
+  - extra/gatus-endpoints.yaml
 
 patches:
   - path: patches/chart.yaml
diff --git a/namespaces/monitoring/gatus/base-config.yaml b/namespaces/monitoring/gatus/base-config.yaml
index 12a144a..b0c17c1 100644
--- a/namespaces/monitoring/gatus/base-config.yaml
+++ b/namespaces/monitoring/gatus/base-config.yaml
@@ -4,6 +4,23 @@ config.yaml: |
     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: ${NTFY_TOPIC}
+    token: ${NTFY_TOKEN}
+    disable-firebase: true
+    defaultAlert:
+      description: "healthcheck failed"
+      enabled: true
+      send-on-resolved: true
+      success-threshold: 3
+      failure-threshold: 3
+
 endpoints:
   - name: Gatus
     url: http://gatus-svc.monitoring.svc.cluster.local:8080/health
@@ -11,3 +28,21 @@ endpoints:
     interval: 5m
     conditions:
       - "[STATUS] == 200"
+    alerts:
+      - type: ntfy
+  - name: Blog
+    url: https://blog.leechpepin.com
+    group: Static Pages
+    interval: 5m
+    conditions:
+      - "[STATUS] == 200"
+    alerts:
+      - type: ntfy
+  - name: Techdocs
+    url: https://docs.leechpepin.com
+    group: Static Pages
+    interval: 5m
+    conditions:
+      - "[STATUS] == 200"
+    alerts:
+      - type: ntfy
diff --git a/namespaces/monitoring/gatus/kustomization.yaml b/namespaces/monitoring/gatus/kustomization.yaml
index 8d64b1c..5fa11d3 100644
--- a/namespaces/monitoring/gatus/kustomization.yaml
+++ b/namespaces/monitoring/gatus/kustomization.yaml
@@ -46,7 +46,7 @@ configMapGenerator:
       - FOLDER="/config"
       - METHOD="SLEEP"
       - SLEEP_TIME=60
-      - NAMESPACE="auth,monitoring,apps,core,longhorn"
+      - NAMESPACE="auth,ai,monitoring,apps,core,longhorn"
   - name: base-config
     files:
       - base-config.yaml
@@ -82,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
diff --git a/namespaces/monitoring/gatus/patches/deployment.yaml b/namespaces/monitoring/gatus/patches/deployment.yaml
index 4cad86e..1185fc8 100644
--- a/namespaces/monitoring/gatus/patches/deployment.yaml
+++ b/namespaces/monitoring/gatus/patches/deployment.yaml
@@ -55,6 +55,19 @@ 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
diff --git a/namespaces/monitoring/healthchecks/extra/gatus-endpoints.yaml b/namespaces/monitoring/healthchecks/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..1ef68e3
--- /dev/null
+++ b/namespaces/monitoring/healthchecks/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/monitoring/healthchecks/kustomization.yaml b/namespaces/monitoring/healthchecks/kustomization.yaml
index 0fe4e50..aa79657 100644
--- a/namespaces/monitoring/healthchecks/kustomization.yaml
+++ b/namespaces/monitoring/healthchecks/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: healthchecks-
 resources:
   - ../../../kustomize/bases/public-oidc/
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/monitoring/ntfy/extra/gatus-endpoints.yaml b/namespaces/monitoring/ntfy/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..e7ac1c5
--- /dev/null
+++ b/namespaces/monitoring/ntfy/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/monitoring/ntfy/kustomization.yaml b/namespaces/monitoring/ntfy/kustomization.yaml
index 246fce6..0c87f82 100644
--- a/namespaces/monitoring/ntfy/kustomization.yaml
+++ b/namespaces/monitoring/ntfy/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: ntfy-
 resources:
   - ../../../kustomize/bases/public-oidc/
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source:
diff --git a/namespaces/monitoring/umami/extra/gatus-endpoints.yaml b/namespaces/monitoring/umami/extra/gatus-endpoints.yaml
new file mode 100644
index 0000000..04f1be3
--- /dev/null
+++ b/namespaces/monitoring/umami/extra/gatus-endpoints.yaml
@@ -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"
diff --git a/namespaces/monitoring/umami/kustomization.yaml b/namespaces/monitoring/umami/kustomization.yaml
index d898c38..31dad60 100644
--- a/namespaces/monitoring/umami/kustomization.yaml
+++ b/namespaces/monitoring/umami/kustomization.yaml
@@ -13,6 +13,7 @@ transformers:
 namePrefix: umami-
 resources:
   - ../../../kustomize/bases/public-oidc/
+  - extra/gatus-endpoints.yaml
 
 replacements:
   - source: