apiVersion: v1 data: config.yaml: | metrics: true services: - name: website url: https://twin.sh/health interval: 1m conditions: - "[STATUS] == 200" - name: github url: https://api.github.com/healthz interval: 5m conditions: - "[STATUS] == 200" - name: cat-fact url: "https://cat-fact.herokuapp.com/facts/random" interval: 5m conditions: - "[STATUS] == 200" - "[BODY].deleted == false" - "len([BODY].text) > 0" - "[BODY].text == pat(*cat*)" - "[STATUS] == pat(2*)" - "[CONNECTED] == true" - name: example url: https://example.com/ conditions: - "[STATUS] == 200" kind: ConfigMap metadata: name: gatus namespace: kube-system --- apiVersion: apps/v1 kind: Deployment metadata: name: gatus namespace: kube-system spec: replicas: 1 selector: matchLabels: k8s-app: gatus template: metadata: labels: k8s-app: gatus name: gatus namespace: kube-system spec: containers: - image: twinproduction/gatus imagePullPolicy: IfNotPresent name: gatus ports: - containerPort: 8080 name: http protocol: TCP resources: limits: cpu: 250m memory: 100M requests: cpu: 50m memory: 30M volumeMounts: - mountPath: /config name: gatus-config volumes: - configMap: name: gatus name: gatus-config --- apiVersion: v1 kind: Service metadata: name: gatus namespace: kube-system spec: ports: - name: http port: 8080 protocol: TCP targetPort: 8080 selector: k8s-app: gatus