diff --git a/cluster/_helm-chart-repositories/nextcloud-charts.yaml b/cluster/_helm-chart-repositories/nextcloud-charts.yaml new file mode 100644 index 000000000..fa5483770 --- /dev/null +++ b/cluster/_helm-chart-repositories/nextcloud-charts.yaml @@ -0,0 +1,10 @@ +--- +apiVersion: source.toolkit.fluxcd.io/v1beta1 +kind: HelmRepository +metadata: + name: longhorn-charts + namespace: flux-system +spec: + interval: 10m + url: https://nextcloud.github.io/helm + timeout: 3m diff --git a/cluster/data/_volumes.yaml b/cluster/data/_volumes.yaml new file mode 100644 index 000000000..c79bb91ea --- /dev/null +++ b/cluster/data/_volumes.yaml @@ -0,0 +1,26 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: nfs-home-claude + namespace: nfs-home-claude +spec: + accessModes: + - ReadWriteMany + storageClassName: nfs-home-claude + resources: + requests: + storage: 1Mi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: nfs-home-helene + namespace: nfs-home-helene +spec: + accessModes: + - ReadWriteMany + storageClassName: nfs-home-helene + resources: + requests: + storage: 1Mi diff --git a/cluster/data/nextcloud.yaml b/cluster/data/nextcloud.yaml new file mode 100644 index 000000000..493b880ad --- /dev/null +++ b/cluster/data/nextcloud.yaml @@ -0,0 +1,53 @@ +--- +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: nextcloud + namespace: data +spec: + interval: 5m + chart: + spec: + # renovate: registryUrl=https://nextcloud.github.io/helm + chart: nextcloud + version: 2.3.2 + sourceRef: + kind: HelmRepository + name: nextcloud-charts + namespace: flux-system + interval: 5m + values: + image: + repository: nextcloud + tag: 20.0.3 + pullPolicy: IfNotPresent + ingress: + enabled: true + annotations: + kubernetes.io/ingress.class: "nginx" + nextcloud: + extraVolumes: + - name: home-claude + persistentVolumeClaim: + claimName: nfs-home-claude + - name: home-helene + persistentVolumeClaim: + claimName: nfs-home-helene + extraVolumeMounts: + - name: home-claude + mountPath: /mnt/home/claude + - name: home-helene + mountPath: /mnt/home/helene + internalDatabase: + enabled: false + externalDatabase: + enabled: true + type: postgresql + resources: + requests: + cpu: 50m + memory: 512Mi + valuesFrom: + - kind: ConfigMap + name: helmrelease-data-nextcloud +--- diff --git a/cluster/volumes.yaml b/cluster/volumes.yaml index d3642878c..39320265d 100644 --- a/cluster/volumes.yaml +++ b/cluster/volumes.yaml @@ -107,4 +107,48 @@ apiVersion: storage.k8s.io/v1 metadata: name: nfs-gitea provisioner: nfs -reclaimPolicy: Retain \ No newline at end of file +reclaimPolicy: Retain +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: nfs-home-claude +spec: + storageClassName: nfs-home-claude + capacity: + storage: 1Mi + accessModes: + - ReadWriteMany + persistentVolumeReclaimPolicy: Retain + nfs: + server: truenas + path: "/mnt/storage/home/claude" +--- +kind: StorageClass +apiVersion: storage.k8s.io/v1 +metadata: + name: nfs-home-claude +provisioner: nfs +reclaimPolicy: Retain +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: nfs-home-helene +spec: + storageClassName: nfs-home-helene + capacity: + storage: 1Mi + accessModes: + - ReadWriteMany + persistentVolumeReclaimPolicy: Retain + nfs: + server: truenas + path: "/mnt/storage/home/helene" +--- +kind: StorageClass +apiVersion: storage.k8s.io/v1 +metadata: + name: nfs-home-helene +provisioner: nfs +reclaimPolicy: Retain diff --git a/secrets/helmrelease-data-nextcloud.yaml b/secrets/helmrelease-data-nextcloud.yaml new file mode 100644 index 000000000..5a584d539 --- /dev/null +++ b/secrets/helmrelease-data-nextcloud.yaml @@ -0,0 +1,36 @@ +apiVersion: v1 +data: + values.yaml: ENC[AES256_GCM,data:XC9OjA2ptBKxPpzOnmDJodWG85XtayqEN1MWwhLMqDVD2UJOjf/45E/IyMhdXkgP/8sWnfIbwi/10B+MuQbWLbeVl602GsPQHSibTo1QV0lxi3uT6stH/VvBBLKgEohpY6mZmVplxfFeM9QeInury4eame1uuzoS8Oj0F4Qivc5q4hKoeEWnOcLPOvNZB8hrA3eilhTW2pGYYqKDcmCogXmfQETCrDSMuB8kqP7arvA1mkicrewVfKxhNCToPNiOG74IlcWq35BpVyBIIi1XE6t8ACRNNpO8Iht321gYL2eEqcDnB7avS2EUM/w/CgK7LYRCIUsX2IKQ8kR7/Bw9KaRscvgLZC3ZlIjLw1KHjkAKSs+JJhi9EoBGU2xbJW9TL+jxy98bqrnlH0qTdJNzH9NJR+LYCIcTQNqLbA==,iv:WzuxuMriO9pGJ6dzQUrU0hdsRa64MNRQ2MKuuJ9hthA=,tag:XgbKeh1TtPWCNlJ+LZp2gA==,type:str] +kind: ConfigMap +metadata: + creationTimestamp: null + name: helmrelease-data-nextcloud + namespace: data +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + lastmodified: '2020-12-12T11:01:42Z' + mac: ENC[AES256_GCM,data:5o7coTz100o/oLL9K3t5hyVqsYyEw+iw3pKEc2YpvIbVjWRzt9WW3Evm1+KOJw4jwFTJfNl5GH61tgLCrZy21YdGY1rBHKQdDanMNCZHWABXvhfsflf61pQUxqOcYZT5q5b8BTtYHkLtbEDFVWdoxXUlBPn1kLuYOSh3i8DBoz4=,iv:/R9fAPftiJnveaYWHicpL5pSPDpAX2S81cnETuzNh7M=,tag:3k+/VP7JCu95sVdah634Ag==,type:str] + pgp: + - created_at: '2020-12-12T11:01:41Z' + enc: | + -----BEGIN PGP MESSAGE----- + + hQGMA/JorPHm1g9XAQwAkFgVkEmbtN3ysaqpgjojE4tmYqjEI0ROG3mcI1oWt2Lh + 5sdvMLvQlG/ottowvjVHjRbHVFgGThDKAENlBIensIYopFquo/EQ/e9RLecAA9A/ + N15ww+WasNgPqmD/CSK0TUUJN+wb2R44ucY9So+zK1LTG3pUQdh1Fcm43190/nFA + 6xAgQmnK4h3RnCNDgw9ZuMP9QlXsKwhBhDCjpwdxE6xbg+LWFm2OkA8uX+NG9634 + 3jVNs44+pWr44trreVsgyi7/uVl1DCqnksnfML6dqnaBjAAl9Ii7oH9vN8qVvfxS + pipjeyBzMK6ValLxkEcd4kNjd8Ia12nZ4OIfHn8tAt7ONcRW0aTk7O5B4TYzllfa + d/547KexaFb5i05K9flDYSt+1Kw1nkkpd4gNkKAc63APKnhmqK2vFHXr1K5GShjs + /EZEeboRqSSFKauwBYfzxsm0dnj2qlTqtITbugpiQskmSC4K0xLCRoucVD3tMRcO + q58JP2VxaPewBYZoQ+GT0l4B5R6SsD06BF/It8ZUEYy5vVNHckyKsfMpYJD5pEr2 + T7TZ48RDQUH/j6yA3pGQPR7Fhxk6NLtBhDn4E8JRucMgqxbj3ncXJ6+p+5xyDOml + UgzX7OGplEB5KMHoSvkh + =Iemz + -----END PGP MESSAGE----- + fp: C8F8A49D04A1AB639F8EA21CDBA4B1DCB1FA5BDD + encrypted_regex: ^(data|stringData)$ + version: 3.6.1