diff --git a/bootstrap/helmrepositories/helmrepository-uptime-kuma.yaml b/bootstrap/helmrepositories/helmrepository-uptime-kuma.yaml new file mode 100644 index 0000000..6c9778d --- /dev/null +++ b/bootstrap/helmrepositories/helmrepository-uptime-kuma.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: HelmRepository +metadata: + name: uptime-kuma + namespace: flux-system +spec: + interval: 15m + url: https://k3rnelpan1c-dev.github.io/uptime-kuma-helm/ diff --git a/bootstrap/kustomizations/kustomization-uptime-kuma.yaml b/bootstrap/kustomizations/kustomization-uptime-kuma.yaml new file mode 100644 index 0000000..477f76c --- /dev/null +++ b/bootstrap/kustomizations/kustomization-uptime-kuma.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: uptime-kuma + namespace: flux-system +spec: + interval: 15m + path: ./uptime-kuma + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + healthChecks: + - apiVersion: helm.toolkit.fluxcd.io/v2beta2 + kind: HelmRelease + name: uptime-kuma + namespace: uptime-kuma diff --git a/bootstrap/namespaces/namespace-uptime-kuma.yaml b/bootstrap/namespaces/namespace-uptime-kuma.yaml new file mode 100644 index 0000000..92c7bb2 --- /dev/null +++ b/bootstrap/namespaces/namespace-uptime-kuma.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: uptime-kuma diff --git a/uptime-kuma/dns-endpoint-uptime-kuma.yaml b/uptime-kuma/dns-endpoint-uptime-kuma.yaml new file mode 100644 index 0000000..206670a --- /dev/null +++ b/uptime-kuma/dns-endpoint-uptime-kuma.yaml @@ -0,0 +1,12 @@ +apiVersion: externaldns.k8s.io/v1alpha1 +kind: DNSEndpoint +metadata: + name: kuma.michaelthomson.dev + namespace: uptime-kuma +spec: + endpoints: + - dnsName: kuma.michaelthomson.dev + recordTTL: 180 + recordType: CNAME + targets: + - server.michaelthomson.dev diff --git a/uptime-kuma/helmrelease-uptime-kuma.yaml b/uptime-kuma/helmrelease-uptime-kuma.yaml new file mode 100644 index 0000000..a0a9cee --- /dev/null +++ b/uptime-kuma/helmrelease-uptime-kuma.yaml @@ -0,0 +1,38 @@ +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: uptime-kuma + namespace: uptime-kuma +spec: + chart: + spec: + chart: uptime-kuma + version: 1.x + sourceRef: + kind: HelmRepository + name: uptime-kuma + namespace: flux-system + interval: 15m + timeout: 5m + releaseName: uptime-kuma + values: + ingress: + enabled: true + className: traefik + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.tls: "true" + hosts: + - host: kuma.michaelthomson.dev + paths: + - path: / + pathType: Prefix + tls: + - hosts: + - kuma.michaelthomson.dev + secretName: letsencrypt-wildcard-cert-michaelthomson.dev + + persistence: + enabled: true + sizeLimit: 4Gi + storageClass: longhorn