diff --git a/uptime-kuma/argocd.yaml b/uptime-kuma/argocd.yaml new file mode 100644 index 0000000..4fafb16 --- /dev/null +++ b/uptime-kuma/argocd.yaml @@ -0,0 +1,44 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: uptime-kuma + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: default + sources: + - repoURL: https://dirsigler.github.io/uptime-kuma-helm + chart: uptime-kuma + targetRevision: 2.24.0 + helm: + valueFiles: + - $values/uptime-kuma/helm-values.yaml + - repoURL: https://github.com/K3S-HOME/monitoring.git + targetRevision: main + ref: values + - repoURL: https://github.com/K3S-HOME/monitoring.git + targetRevision: main + path: uptime-kuma + destination: + server: https://kubernetes.default.svc + namespace: uptime-kuma + syncPolicy: + automated: + prune: true + selfHeal: true + allowEmpty: false + syncOptions: + - CreateNamespace=true + - PrunePropagationPolicy=foreground + - PruneLast=true + retry: + limit: 5 + backoff: + duration: 5s + factor: 2 + maxDuration: 3m + managedNamespaceMetadata: + labels: + goldilocks.fairwinds.com/enabled: 'true' + revisionHistoryLimit: 10 diff --git a/uptime-kuma/helm-values.yaml b/uptime-kuma/helm-values.yaml new file mode 100644 index 0000000..4bcb314 --- /dev/null +++ b/uptime-kuma/helm-values.yaml @@ -0,0 +1,32 @@ +image: + tag: "1" + +service: + type: ClusterIP + port: 3001 + +persistence: + enabled: true + size: 1Gi + storageClass: "local-path" + accessMode: ReadWriteOnce + +resources: + requests: + cpu: 50m + memory: 128Mi + limits: + memory: 256Mi + +livenessProbe: + enabled: true + initialDelaySeconds: 180 + +readinessProbe: + enabled: true + initialDelaySeconds: 10 + +serviceMonitor: + enabled: true + namespace: prometheus + interval: 60s diff --git a/uptime-kuma/ingress.yaml b/uptime-kuma/ingress.yaml new file mode 100644 index 0000000..533d624 --- /dev/null +++ b/uptime-kuma/ingress.yaml @@ -0,0 +1,24 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: uptime-kuma-ingress + namespace: uptime-kuma + annotations: + cert-manager.io/cluster-issuer: "letsencrypt-prod" +spec: + ingressClassName: traefik + tls: + - hosts: + - kuma0213.kro.kr + secretName: uptime-kuma-tls + rules: + - host: kuma0213.kro.kr + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: uptime-kuma + port: + number: 3001 diff --git a/uptime-kuma/kustomization.yaml b/uptime-kuma/kustomization.yaml new file mode 100644 index 0000000..14d8f3a --- /dev/null +++ b/uptime-kuma/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ingress.yaml