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