diff --git a/kubernetes/apps/uptime-kuma/app/ingress.yaml b/kubernetes/apps/uptime-kuma/app/ingress.yaml new file mode 100644 index 0000000..94ada8b --- /dev/null +++ b/kubernetes/apps/uptime-kuma/app/ingress.yaml @@ -0,0 +1,21 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: uptime-kuma-ingress + namespace: uptime-kuma + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/use-regex: "true" +spec: + ingressClassName: nginx + rules: + - host: "uptime-kuma.cluster.edward.sydney" + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: uptime-kuma + port: + number: 3001 \ No newline at end of file diff --git a/kubernetes/apps/uptime-kuma/app/pvc.yaml b/kubernetes/apps/uptime-kuma/app/pvc.yaml new file mode 100644 index 0000000..279e744 --- /dev/null +++ b/kubernetes/apps/uptime-kuma/app/pvc.yaml @@ -0,0 +1,46 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: uptime-kuma-pv + namespace: uptime-kuma + labels: + type: local +spec: + storageClassName: local-path + volumeMode: Filesystem + capacity: + storage: 4Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + local: + path: "/mnt/nfs/AppData/uptime-kuma" + claimRef: + apiVersion: v1 + kind: PersistentVolumeClaim + name: uptime-kuma-pvc + namespace: uptime-kuma + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - rpi5-cluster-node-1 +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: uptime-kuma-pvc + namespace: uptime-kuma + labels: + name: uptime-kuma-pvc +spec: + storageClassName: local-path + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 4Gi \ No newline at end of file diff --git a/kubernetes/apps/uptime-kuma/app/release.yaml b/kubernetes/apps/uptime-kuma/app/release.yaml new file mode 100644 index 0000000..48803ac --- /dev/null +++ b/kubernetes/apps/uptime-kuma/app/release.yaml @@ -0,0 +1,25 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: uptime-kuma + namespace: uptime-kuma +spec: + releaseName: uptime-kuma + targetNamespace: uptime-kuma + chart: + spec: + chart: uptime-kuma + sourceRef: + kind: HelmRepository + name: dirsigler + namespace: flux-system + interval: 1h + install: + remediation: + retries: 3 + values: + volume: + enabled: true + accessMode: ReadWriteOnce + size: 4Gi + existingClaim: "uptime-kuma-pvc" \ No newline at end of file diff --git a/kubernetes/apps/uptime-kuma/uptime-kuma.yaml b/kubernetes/apps/uptime-kuma/uptime-kuma.yaml new file mode 100644 index 0000000..d6517d6 --- /dev/null +++ b/kubernetes/apps/uptime-kuma/uptime-kuma.yaml @@ -0,0 +1,15 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: uptime-kuma + namespace: uptime-kuma +spec: + interval: 10m + timeout: 1m30s + retryInterval: 30s + path: ./kubernetes/apps/uptime-kuma/app + prune: true + sourceRef: + kind: GitRepository + namespace: flux-system + name: flux-system \ No newline at end of file diff --git a/kubernetes/infrastructure/kustomization.yaml b/kubernetes/infrastructure/kustomization.yaml index 284b590..b6349ee 100644 --- a/kubernetes/infrastructure/kustomization.yaml +++ b/kubernetes/infrastructure/kustomization.yaml @@ -10,6 +10,7 @@ resources: - ./namespaces/podinfo.yaml - ./namespaces/postgresql.yaml - ./namespaces/prometheus-operator.yaml + - ./namespaces/uptime-kuma.yaml - ./repositories/repositories.yaml # - ./cilium/cilium.yaml - ./ingress-nginx/ingress-nginx-config.yaml diff --git a/kubernetes/infrastructure/namespaces/uptime-kuma.yaml b/kubernetes/infrastructure/namespaces/uptime-kuma.yaml new file mode 100644 index 0000000..92c7bb2 --- /dev/null +++ b/kubernetes/infrastructure/namespaces/uptime-kuma.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: uptime-kuma diff --git a/kubernetes/infrastructure/repositories/repos/dirsigler.yaml b/kubernetes/infrastructure/repositories/repos/dirsigler.yaml new file mode 100644 index 0000000..fa2ef5b --- /dev/null +++ b/kubernetes/infrastructure/repositories/repos/dirsigler.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: HelmRepository +metadata: + name: dirsigler + namespace: flux-system +spec: + interval: 6h + url: https://dirsigler.github.io