From 6abc11dd7f8035a53615def12464698df8d78648 Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Sun, 1 Oct 2023 10:30:15 +0200 Subject: [PATCH] feat(cherry): add uptime-kuma --- clusters/cherry/apps/uptime-kuma.yaml | 20 ++++++++ .../cherry/manifests/uptime-kuma/ingress.yaml | 25 +++++++++ .../cherry/manifests/uptime-kuma/service.yaml | 14 +++++ .../manifests/uptime-kuma/statefulset.yaml | 51 +++++++++++++++++++ 4 files changed, 110 insertions(+) create mode 100644 clusters/cherry/apps/uptime-kuma.yaml create mode 100644 clusters/cherry/manifests/uptime-kuma/ingress.yaml create mode 100644 clusters/cherry/manifests/uptime-kuma/service.yaml create mode 100644 clusters/cherry/manifests/uptime-kuma/statefulset.yaml diff --git a/clusters/cherry/apps/uptime-kuma.yaml b/clusters/cherry/apps/uptime-kuma.yaml new file mode 100644 index 0000000..08f3e2e --- /dev/null +++ b/clusters/cherry/apps/uptime-kuma.yaml @@ -0,0 +1,20 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: cherry-uptime-kuma + namespace: argocd +spec: + project: infrastructure + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true + destination: + server: https://kubernetes.default.svc + namespace: uptime-kuma + source: + path: clusters/cherry/manifests/uptime-kuma/ + repoURL: https://github.com/vojtechmares/gitops.git + targetRevision: HEAD diff --git a/clusters/cherry/manifests/uptime-kuma/ingress.yaml b/clusters/cherry/manifests/uptime-kuma/ingress.yaml new file mode 100644 index 0000000..f2d5aaf --- /dev/null +++ b/clusters/cherry/manifests/uptime-kuma/ingress.yaml @@ -0,0 +1,25 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: uptime-kuma + namespace: uptime-kuma + annotations: + nginx.ingress.kubernetes.io/backend-protocol: "HTTP" + cert-manager.io/cluster-issuer: "letsencrypt-prod" +spec: + ingressClassName: nginx + tls: + - hosts: + - status.mareshq.com + secretName: uptime-kuma-tls + rules: + - host: status.mareshq.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: uptime-kuma + port: + name: http diff --git a/clusters/cherry/manifests/uptime-kuma/service.yaml b/clusters/cherry/manifests/uptime-kuma/service.yaml new file mode 100644 index 0000000..ef3f0a9 --- /dev/null +++ b/clusters/cherry/manifests/uptime-kuma/service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: uptime-kuma + namespace: kuma +spec: + clusterIP: None + selector: + app: uptime-kuma + ports: + - name: http + protocol: TCP + port: 3001 + targetPort: 3001 diff --git a/clusters/cherry/manifests/uptime-kuma/statefulset.yaml b/clusters/cherry/manifests/uptime-kuma/statefulset.yaml new file mode 100644 index 0000000..f47557c --- /dev/null +++ b/clusters/cherry/manifests/uptime-kuma/statefulset.yaml @@ -0,0 +1,51 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: uptime-kuma + namespace: uptime-kuma +spec: + replicas: 1 + serviceName: uptime-kuma + selector: + matchLabels: + app: uptime-kuma + minReadySeconds: 5 + template: + metadata: + labels: + app: uptime-kuma + spec: + terminationGracePeriodSeconds: 10 + containers: + - name: uptime-kuma + image: louislam/uptime-kuma:1.23.2 + env: + - name: UPTIME_KUMA_PORT + value: "3001" + - name: PORT + value: "3001" + ports: + - name: http + containerPort: 3001 + protocol: TCP + volumeMounts: + - name: kuma-data + mountPath: /app/data + resources: + limits: + cpu: 500m + memory: 1Gi + requests: + cpu: 500m + memory: 1Gi + + volumeClaimTemplates: + - metadata: + name: kuma-data + spec: + accessModes: ["ReadWriteOnce"] + storageClassName: "hcloud-volumes" + volumeMode: Filesystem + resources: + requests: + storage: 1Gi