Add Gatus for monitoring and subfolder kustomization bases
This commit is contained in:
parent
9a3ffed81b
commit
5490abf355
65 changed files with 304 additions and 27 deletions
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: ollama-
|
||||
resources:
|
||||
- ../../../kustomize/deployment/
|
||||
- ../../../kustomize/bases/deployment/
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: open-webui-
|
||||
resources:
|
||||
- ../../../kustomize/helmchart/
|
||||
- ../../../kustomize/bases/helmchart/
|
||||
|
||||
patches:
|
||||
- path: patches/chart.yaml
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: tabby-
|
||||
resources:
|
||||
- ../../../kustomize/deployment/
|
||||
- ../../../kustomize/bases/deployment/
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: atuin-
|
||||
resources:
|
||||
- ../../../kustomize/deployment/
|
||||
- ../../../kustomize/bases/deployment/
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: dolibarr-
|
||||
resources:
|
||||
- ../../../kustomize/public-oidc/
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: forgejo-
|
||||
resources:
|
||||
- ../../../kustomize/deployment/
|
||||
- ../../../kustomize/bases/deployment/
|
||||
- extra/ssh-service.yaml
|
||||
- extra/ssh-tcproute.yaml
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: linkwarden-
|
||||
resources:
|
||||
- ../../../kustomize/public-oidc/
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: mealie-
|
||||
resources:
|
||||
- ../../../kustomize/public-oidc/
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: paperless-
|
||||
resources:
|
||||
- ../../../kustomize/public-oidc/
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
- extra/deploy-sync.yaml
|
||||
- extra/pvc-consume.yaml
|
||||
- extra/pvc-sftp.yaml
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: syncthing-
|
||||
resources:
|
||||
- ../../../kustomize/statefulset/
|
||||
- ../../../kustomize/bases/statefulset/
|
||||
|
||||
labels:
|
||||
- includeSelectors: true
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: vaultwarden-
|
||||
resources:
|
||||
- ../../../kustomize/deployment/
|
||||
- ../../../kustomize/bases/deployment/
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: authentik-
|
||||
resources:
|
||||
- ../../../kustomize/helmchart
|
||||
- ../../../kustomize/bases/helmchart
|
||||
|
||||
patches:
|
||||
- path: patches/chart.yaml
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: cert-manager-
|
||||
resources:
|
||||
- ../../../kustomize/helmchart-noaddons
|
||||
- ../../../kustomize/bases/helmchart-noaddons
|
||||
- extras/cloudflare-token.yaml
|
||||
|
||||
patches:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: gotenburg-
|
||||
resources:
|
||||
- ../../../kustomize/deployservice/
|
||||
- ../../../kustomize/bases/deployservice/
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: minio-
|
||||
resources:
|
||||
- ../../../kustomize/deployment/
|
||||
- ../../../kustomize/bases/deployment/
|
||||
- extras/server-svc.yaml
|
||||
- extras/server-route.yaml
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: pgdump-
|
||||
resources:
|
||||
- ../../../kustomize/backups/
|
||||
- ../../../kustomize/bases/backups/
|
||||
|
||||
labels:
|
||||
- includeSelectors: true
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: postgres-
|
||||
resources:
|
||||
- ../../../kustomize/statefulset/
|
||||
- ../../../kustomize/bases/statefulset/
|
||||
- extras/tcproute.yaml
|
||||
|
||||
labels:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: redis-
|
||||
resources:
|
||||
- ../../../kustomize/statefulset/
|
||||
- ../../../kustomize/bases/statefulset/
|
||||
|
||||
labels:
|
||||
- includeSelectors: true
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: tika-
|
||||
resources:
|
||||
- ../../../kustomize/deployservice/
|
||||
- ../../../kustomize/bases/deployservice/
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: infisical-
|
||||
resources:
|
||||
- ../../../kustomize/helmchart-noaddons
|
||||
- ../../../kustomize/bases/helmchart-noaddons
|
||||
|
||||
patches:
|
||||
- path: patches/chart.yaml
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: longhorn-
|
||||
resources:
|
||||
- ../../../kustomize/helmchart
|
||||
- ../../../kustomize/bases/helmchart
|
||||
- extras/longhorn-public-storageclass.yaml
|
||||
- extras/longhorn-private-storageclass.yaml
|
||||
- extras/longhorn-secret.yaml
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: diun-
|
||||
resources:
|
||||
- ../../../kustomize/noservice/
|
||||
- ../../../kustomize/bases/noservice/
|
||||
- extra/serviceaccount.yaml
|
||||
- extra/clusterrole.yaml
|
||||
- extra/clusterrolebinding.yaml
|
||||
|
|
24
namespaces/monitoring/gatus/base-config.yaml
Normal file
24
namespaces/monitoring/gatus/base-config.yaml
Normal file
|
@ -0,0 +1,24 @@
|
|||
metrics: true
|
||||
ui:
|
||||
title: "JLP Homelab Health | Gatus"
|
||||
skip-invalid-config-update: true
|
||||
|
||||
endpoints:
|
||||
- name: website
|
||||
url: https://twin.sh/health
|
||||
interval: 5m
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[BODY].status == UP"
|
||||
|
||||
- name: github
|
||||
url: https://api.github.com/healthz
|
||||
interval: 5m
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
|
||||
- name: self
|
||||
url: http://localhost:8080/health
|
||||
interval: 5m
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
|
@ -0,0 +1,8 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: gatus-k8s-sidecar
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["configmaps", "secrets"]
|
||||
verbs: ["get", "watch", "list"]
|
12
namespaces/monitoring/gatus/extras/sidecar-crb.yaml
Normal file
12
namespaces/monitoring/gatus/extras/sidecar-crb.yaml
Normal file
|
@ -0,0 +1,12 @@
|
|||
kind: ClusterRoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: gatus-k8s-sidecar
|
||||
roleRef:
|
||||
kind: ClusterRole
|
||||
name: gatus-k8s-sidecar
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: gatus-k8s-sidecar
|
||||
namespace: monitoring
|
|
@ -0,0 +1,4 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: gatus-k8s-sidecar
|
149
namespaces/monitoring/gatus/kustomization.yaml
Normal file
149
namespaces/monitoring/gatus/kustomization.yaml
Normal file
|
@ -0,0 +1,149 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
transformers:
|
||||
- |-
|
||||
apiVersion: builtin
|
||||
kind: NamespaceTransformer
|
||||
metadata:
|
||||
name: notImportantHere
|
||||
namespace: monitoring
|
||||
unsetOnly: true
|
||||
|
||||
namePrefix: gatus-
|
||||
resources:
|
||||
- ../../../kustomize/bases/deployment/
|
||||
- extras/sidecar-crb.yaml
|
||||
- extras/sidecar-serviceAccount.yaml
|
||||
- extras/sidecar-clusterRole.yaml
|
||||
|
||||
patches:
|
||||
- path: patches/deployment.yaml
|
||||
target:
|
||||
kind: Deployment
|
||||
name: app
|
||||
- path: patches/pvc.yaml
|
||||
target:
|
||||
kind: PersistentVolumeClaim
|
||||
name: pvc
|
||||
|
||||
labels:
|
||||
- includeSelectors: true
|
||||
pairs:
|
||||
app.kubernetes.io/appName: gatus
|
||||
- pairs:
|
||||
app.kubernetes.io/appNamespace: monitoring
|
||||
- pairs:
|
||||
app.kubernetes.io/routePrefix: status
|
||||
|
||||
configMapGenerator:
|
||||
- name: gatus-config
|
||||
files:
|
||||
- base-config.yaml
|
||||
- name: gatus-settings
|
||||
literals:
|
||||
- GATUS_CONFIG_PATH=/config
|
||||
- name: k8s-sidecar-settings
|
||||
literals:
|
||||
- LABEL="homelab.kubernetes.io/k8s-sidecar"
|
||||
- LABEL_VALUE="gatus"
|
||||
- FOLDER="/config"
|
||||
- METHOD="SLEEP"
|
||||
- SLEEP_TIME=60
|
||||
|
||||
replacements:
|
||||
# Service
|
||||
- source:
|
||||
kind: Deployment
|
||||
name: app
|
||||
fieldPath: metadata.labels.[app.kubernetes.io/appName]
|
||||
targets:
|
||||
- select:
|
||||
kind: Service
|
||||
fieldPaths:
|
||||
- spec.ports.0.name
|
||||
- spec.ports.0.targetPort
|
||||
- source:
|
||||
kind: Deployment
|
||||
name: app
|
||||
fieldPath: spec.template.spec.containers.0.ports.0.containerPort
|
||||
targets:
|
||||
- select:
|
||||
kind: Service
|
||||
fieldPaths:
|
||||
- spec.ports.0.port
|
||||
# Secrets
|
||||
- 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/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
|
||||
# HTTP Route
|
||||
- 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: HTTPRoute
|
||||
options:
|
||||
create: true
|
||||
delimiter: "."
|
||||
index: 0
|
||||
fieldPaths:
|
||||
- spec.hostnames.0
|
||||
- source:
|
||||
kind: Deployment
|
||||
name: app
|
||||
fieldPath: spec.template.spec.containers.0.ports.0.containerPort
|
||||
targets:
|
||||
- select:
|
||||
kind: HTTPRoute
|
||||
fieldPaths:
|
||||
- spec.rules.0.backendRefs.0.port
|
||||
- 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
|
75
namespaces/monitoring/gatus/patches/deployment.yaml
Normal file
75
namespaces/monitoring/gatus/patches/deployment.yaml
Normal file
|
@ -0,0 +1,75 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: app
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
serviceAccountName: gatus-k8s-sidecar
|
||||
tolerations:
|
||||
- key: "public"
|
||||
operator: "Equal"
|
||||
value: "true"
|
||||
effect: "NoSchedule"
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
- weight: 100
|
||||
preference:
|
||||
matchExpressions:
|
||||
- key: public
|
||||
operator: In
|
||||
values:
|
||||
- "true"
|
||||
containers:
|
||||
- name: gatus
|
||||
image: twinproduction/gatus:v5.17.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
name: gatus
|
||||
protocol: TCP
|
||||
resources:
|
||||
limits:
|
||||
cpu: 250m
|
||||
memory: 100M
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 30M
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 8080
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
failureThreshold: 3
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 8080
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
failureThreshold: 5
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: gatus-settings
|
||||
volumeMounts:
|
||||
- mountPath: /config/config.yaml
|
||||
name: gatus-config
|
||||
subPath: base-config.yaml
|
||||
- name: config-collector
|
||||
image: kiwigrid/k8s-sidecar:1.30.3
|
||||
volumeMounts:
|
||||
- name: collected
|
||||
mountPath: /config/
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: k8s-sidecar-settings
|
||||
volumes:
|
||||
- configMap:
|
||||
name: gatus-config
|
||||
name: gatus-config
|
||||
- name: collected
|
||||
emptyDir: {}
|
5
namespaces/monitoring/gatus/patches/pvc.yaml
Normal file
5
namespaces/monitoring/gatus/patches/pvc.yaml
Normal file
|
@ -0,0 +1,5 @@
|
|||
$patch: delete
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: pvc
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: healthchecks-
|
||||
resources:
|
||||
- ../../../kustomize/public-oidc/
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: ntfy-
|
||||
resources:
|
||||
- ../../../kustomize/public-oidc/
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: umami-
|
||||
resources:
|
||||
- ../../../kustomize/public-oidc/
|
||||
- ../../../kustomize/bases/public-oidc/
|
||||
|
||||
replacements:
|
||||
- source:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: uptime-kuma-
|
||||
resources:
|
||||
- ../../../kustomize/deployment/
|
||||
- ../../../kustomize/bases/deployment/
|
||||
# - extra/middleware-auth.yaml
|
||||
|
||||
replacements:
|
||||
|
|
|
@ -12,7 +12,7 @@ transformers:
|
|||
|
||||
namePrefix: traefik-lb
|
||||
resources:
|
||||
- ../../../kustomize/helmchart-noaddons/
|
||||
- ../../../kustomize/bases/helmchart-noaddons/
|
||||
|
||||
patches:
|
||||
- path: patches/chart.yaml
|
||||
|
|
Loading…
Add table
Reference in a new issue