From c284a104f64a13f9dfc6063bdc5f0760fe2b5a23 Mon Sep 17 00:00:00 2001 From: Michael Thomson Date: Sun, 7 Jul 2024 11:43:27 -0400 Subject: [PATCH] Revert "remove nextcloud" This reverts commit 7fc16afa5904bf49b255b5be4ff5ea2ecdc364a9. --- .../helmrepository-nextcloud.yaml | 8 +++ .../kustomization-nextcloud.yaml | 18 ++++++ bootstrap/namespaces/namespace-nextcloud.yaml | 4 ++ nextcloud/dns-endpoint.yaml | 12 ++++ nextcloud/helmrelease-nextcloud.yaml | 56 +++++++++++++++++++ 5 files changed, 98 insertions(+) create mode 100644 bootstrap/helmrepositories/helmrepository-nextcloud.yaml create mode 100644 bootstrap/kustomizations/kustomization-nextcloud.yaml create mode 100644 bootstrap/namespaces/namespace-nextcloud.yaml create mode 100644 nextcloud/dns-endpoint.yaml create mode 100644 nextcloud/helmrelease-nextcloud.yaml diff --git a/bootstrap/helmrepositories/helmrepository-nextcloud.yaml b/bootstrap/helmrepositories/helmrepository-nextcloud.yaml new file mode 100644 index 0000000..97a5b28 --- /dev/null +++ b/bootstrap/helmrepositories/helmrepository-nextcloud.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: HelmRepository +metadata: + name: nextcloud + namespace: flux-system +spec: + interval: 15m + url: https://nextcloud.github.io/helm/ diff --git a/bootstrap/kustomizations/kustomization-nextcloud.yaml b/bootstrap/kustomizations/kustomization-nextcloud.yaml new file mode 100644 index 0000000..2a044fd --- /dev/null +++ b/bootstrap/kustomizations/kustomization-nextcloud.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: nextcloud + namespace: flux-system +spec: + interval: 15m + path: ./nextcloud + 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/v2beta1 + kind: HelmRelease + name: nextcloud + namespace: nextcloud diff --git a/bootstrap/namespaces/namespace-nextcloud.yaml b/bootstrap/namespaces/namespace-nextcloud.yaml new file mode 100644 index 0000000..e8c2e8f --- /dev/null +++ b/bootstrap/namespaces/namespace-nextcloud.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: nextcloud diff --git a/nextcloud/dns-endpoint.yaml b/nextcloud/dns-endpoint.yaml new file mode 100644 index 0000000..75825f2 --- /dev/null +++ b/nextcloud/dns-endpoint.yaml @@ -0,0 +1,12 @@ +apiVersion: externaldns.k8s.io/v1alpha1 +kind: DNSEndpoint +metadata: + name: nextcloud.michaelthomson.dev + namespace: nextcloud +spec: + endpoints: + - dnsName: nextcloud.michaelthomson.dev + recordTTL: 180 + recordType: CNAME + targets: + - server.michaelthomson.dev diff --git a/nextcloud/helmrelease-nextcloud.yaml b/nextcloud/helmrelease-nextcloud.yaml new file mode 100644 index 0000000..b043368 --- /dev/null +++ b/nextcloud/helmrelease-nextcloud.yaml @@ -0,0 +1,56 @@ +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: nextcloud + namespace: nextcloud +spec: + chart: + spec: + chart: nextcloud + version: 4.6.x + sourceRef: + kind: HelmRepository + name: nextcloud + namespace: flux-system + interval: 15m + timeout: 5m + releaseName: nextcloud + values: + ingress: + enabled: true + className: traefik + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.tls: "true" + tls: + - hosts: + - nextcloud.michaelthomson.dev + secretName: letsencrypt-wildcard-cert-michaelthomson.dev + labels: {} + path: / + pathType: Prefix + + phpClientHttpsFix: + enabled: true + + nextcloud: + host: nextcloud.michaelthomson.dev + username: admin + password: admin + datadir: /data + + persistence: + enabled: true + storageClass: longhorn + accessMode: ReadWriteOnce + size: 8Gi + + nextcloudData: + enabled: true + storageClass: nfs-client + accessMode: ReadWriteOnce + size: 14Ti + livenessProbe: + enabled: false + readinessProbe: + enabled: false