diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..649516b --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +charts +*.lock diff --git a/Chart.yaml b/Chart.yaml index e7a9eca..ea414be 100644 --- a/Chart.yaml +++ b/Chart.yaml @@ -12,4 +12,3 @@ dependencies: - name: ingress-nginx repository: "https://kubernetes.github.io/ingress-nginx" version: ">= 1.12.0" - diff --git a/README.org b/README.org index 86db599..0acde4b 100644 --- a/README.org +++ b/README.org @@ -1,3 +1,15 @@ #+title: Homey A home environment for everyone! + +* Installation + +Install using + +#+begin_src bash + +#+end_src + +* Backing up + +We must find a better solution diff --git a/templates/homey.yaml b/templates/homey.yaml index a93a3e1..2ba3823 100644 --- a/templates/homey.yaml +++ b/templates/homey.yaml @@ -3,7 +3,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: homey-pv-nfs-a + name: homey-pv-nfs labels: isbackup: "true" spec: @@ -14,57 +14,22 @@ spec: - ReadWriteMany persistentVolumeReclaimPolicy: Recycle nfs: - path: /homey-backup + path: / server: {{ .Values.homey.storage.ip }} readOnly: false --- apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: homey-pvc-nfs-a + name: homey-pvc-nfs spec: accessModes: - ReadWriteMany resources: requests: - storage: {{ .Values.homey.storage.backupStorageCapacity }} + storage: {{ .Values.homey.storage.storageCapacity }} storageClassName: standard - selector: - matchLabels: - isbackup: "true" --- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: homey-pv-nfs-b - labels: - isbackup: "false" -spec: - capacity: - storage: {{ .Values.homey.storage.nobackupStorageCapacity }} - storageClassName: standard - accessModes: - - ReadWriteMany - persistentVolumeReclaimPolicy: Recycle - nfs: - path: /homey-nobackup - server: {{ .Values.homey.storage.ip }} - readOnly: false ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: homey-pvc-nfs-b -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: {{ .Values.homey.storage.nobackupStorageCapacity }} - storageClassName: standard - selector: - matchLabels: - isbackup: "false" #_DNS_ --- apiVersion: apps/v1 @@ -185,15 +150,15 @@ spec: containerPort: 636 volumeMounts: - mountPath: /etc/ldap/slapd.d - subPath: openldap/etc/ldap/slapd.d + subPath: backup/openldap/etc/ldap/slapd.d name: openldap-volume - mountPath: /var/lib/ldap - subPath: openldap/var/lib/ldap + subPath: backup/openldap/var/lib/ldap name: openldap-volume volumes: - name: openldap-volume persistentVolumeClaim: - claimName: homey-pvc-nfs-a + claimName: homey-pvc-nfs --- apiVersion: v1 kind: Service @@ -212,57 +177,56 @@ spec: targetPort: ssl-ldap selector: app.kubernetes.io/name: openldap -#--- -# apiVersion: apps/v1 -# kind: Deployment -# metadata: -# name: ldap-auth -# namespace: homecenter -# labels: -# app: ldap-auth -# spec: -# replicas: 1 -# selector: -# matchLabels: -# app: ldap-auth -# template: -# metadata: -# labels: -# app: ldap-auth -# name: ldap-auth -# spec: -# containers: -# - name: ldap-auth -# image: dignajar/another-ldap-auth:latest -# imagePullPolicy: Always -# env: -# - name: LDAP_ENDPOINT -# value: "ldap://openldap:389" -# - name: LDAP_MANAGER_DN_USERNAME -# value: "cn=readonly,dc=homecenter,dc=zakobar,dc=io" -# - name: LDAP_MANAGER_PASSWORD -# valueFrom: -# secretKeyRef: -# name: openldap-ro-pass -# key: password -# - name: LDAP_SEARCH_BASE -# value: "ou=users,dc=homecenter,dc=zakobar,dc=io" -# - name: LDAP_SEARCH_FILTER -# value: "(objectClass=inetOrgPerson)" -# - name: LDAP_BIND_DN -# value: "uid={username},ou=users,dc=homecenter,dc=zakobar,dc=io" -# --- -# apiVersion: v1 -# kind: Service -# metadata: -# name: ldap-auth -# spec: -# selector: -# app: ldap-auth -# ports: -# - port: 80 -# targetPort: 9000 -# name: ldap-auth-port +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ldap-auth + labels: + app: ldap-auth +spec: + replicas: 1 + selector: + matchLabels: + app: ldap-auth + template: + metadata: + labels: + app: ldap-auth + name: ldap-auth + spec: + containers: + - name: ldap-auth + image: dignajar/another-ldap-auth:latest + imagePullPolicy: Always + env: + - name: LDAP_ENDPOINT + value: "ldap://openldap:389" + - name: LDAP_MANAGER_DN_USERNAME + value: "cn=readonly,{{ .Values.homey.url | replace "." ",dc=" | printf "dc=%s " | trim }}" + - name: LDAP_MANAGER_PASSWORD + valueFrom: + secretKeyRef: + name: openldap-ro + key: password + - name: LDAP_SEARCH_BASE + value: "ou=users,{{ .Values.homey.url | replace "." ",dc=" | printf "dc=%s " | trim }}" + - name: LDAP_SEARCH_FILTER + value: "(objectClass=inetOrgPerson)" + - name: LDAP_BIND_DN + value: "uid={username},ou=users,{{ .Values.homey.url | replace "." ",dc=" | printf "dc=%s " | trim }}" +--- +apiVersion: v1 +kind: Service +metadata: + name: ldap-auth +spec: + selector: + app: ldap-auth + ports: + - port: 80 + targetPort: 9000 + name: ldap-auth-port --- #_PHPADMIN________ apiVersion: apps/v1 @@ -372,12 +336,12 @@ spec: key: password volumeMounts: - mountPath: /var/lib/postgresql/data - subPath: gitea/db + subPath: backup/gitea/db name: gitea-postgredb volumes: - name: gitea-postgredb persistentVolumeClaim: - claimName: homey-pvc-nfs-a + claimName: homey-pvc-nfs --- apiVersion: v1 kind: Service @@ -430,11 +394,11 @@ spec: volumeMounts: - name: gitea-persistent-storage mountPath: /data - subPath: gitea/gitea/data + subPath: backup/gitea/gitea/data volumes: - name: gitea-persistent-storage persistentVolumeClaim: - claimName: homey-pvc-nfs-a + claimName: homey-pvc-nfs --- apiVersion: v1 kind: Service @@ -473,73 +437,3 @@ spec: port: number: 3000 --- -apiVersion: v1 -kind: Secret -metadata: - name: gitea-postgres-pass - annotations: - secret-generator.v1.mittwald.de/autogenerate: password ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: gitea-postgres-config - labels: - app: gitea-postgres -data: - POSTGRES_DB: gitea - POSTGRES_USER: gitea ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: gitea-postgres - labels: - app: gitea-postgres -spec: - replicas: 1 - selector: - matchLabels: - app: gitea-postgres - template: - metadata: - labels: - app: gitea-postgres - name: gitea-postgres - spec: - containers: - - name: gitea-postgres - image: postgres:10.4 - imagePullPolicy: "IfNotPresent" - ports: - - containerPort: 5432 - envFrom: - - configMapRef: - name: gitea-postgres-config - env: - - name: POSTGRES_PASSWORD - valueFrom: - secretKeyRef: - name: gitea-postgres-pass - key: password - volumeMounts: - - mountPath: /var/lib/postgresql/data - subPath: gitea/db - name: gitea-postgredb - volumes: - - name: gitea-postgredb - persistentVolumeClaim: - claimName: homey-pvc-nfs-a ---- -apiVersion: v1 -kind: Service -metadata: - name: gitea-postgres-service - labels: - app: gitea-postgres -spec: - ports: - - port: 5432 - selector: - app: gitea-postgres - diff --git a/values.yaml b/values.yaml index 40e879e..1e3d072 100644 --- a/values.yaml +++ b/values.yaml @@ -83,8 +83,7 @@ homey: organization: "Zakobar Home Server" storage: ip: "192.168.0.101" - backupStorageCapacity: 30Gi - nobackupStorageCapacity: 400Gi - url: "home.zakobar.io" + storageCapacity: 500Gi + url: home.zakobar.io ip: 192.168.0.101