From 006cc47cd2100007c77be738c50cb0e067f39604 Mon Sep 17 00:00:00 2001 From: xavor Date: Sun, 27 Apr 2025 22:54:47 +0000 Subject: [PATCH] Primer commit --- deployments/mariadb.yaml | 35 +++++++++++++++++++++++++++++++++++ deployments/nextcloud.yaml | 35 +++++++++++++++++++++++++++++++++++ ingress/ingress.yaml | 25 +++++++++++++++++++++++++ kustomization.yaml | 11 +++++++++++ namespace.yaml | 4 ++++ pvc/mariadb-pvc.yaml | 12 ++++++++++++ pvc/nextcloud-pvc.yaml | 12 ++++++++++++ services/mariadb.yaml | 10 ++++++++++ services/nextcloud.yaml | 10 ++++++++++ 9 files changed, 154 insertions(+) create mode 100644 deployments/mariadb.yaml create mode 100644 deployments/nextcloud.yaml create mode 100644 ingress/ingress.yaml create mode 100644 kustomization.yaml create mode 100644 namespace.yaml create mode 100644 pvc/mariadb-pvc.yaml create mode 100644 pvc/nextcloud-pvc.yaml create mode 100644 services/mariadb.yaml create mode 100644 services/nextcloud.yaml diff --git a/deployments/mariadb.yaml b/deployments/mariadb.yaml new file mode 100644 index 0000000..fd54b42 --- /dev/null +++ b/deployments/mariadb.yaml @@ -0,0 +1,35 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mariadb + namespace: nextcloud +spec: + selector: + matchLabels: + app: mariadb + template: + metadata: + labels: + app: mariadb + spec: + containers: + - name: mariadb + image: mariadb:10.11 + env: + - name: MYSQL_ROOT_PASSWORD + value: nextcloud + - name: MYSQL_DATABASE + value: nextcloud + - name: MYSQL_USER + value: nextcloud + - name: MYSQL_PASSWORD + value: nextcloud + ports: + - containerPort: 3306 + volumeMounts: + - mountPath: /var/lib/mysql + name: mariadb-storage + volumes: + - name: mariadb-storage + persistentVolumeClaim: + claimName: mariadb-pvc \ No newline at end of file diff --git a/deployments/nextcloud.yaml b/deployments/nextcloud.yaml new file mode 100644 index 0000000..b44fefa --- /dev/null +++ b/deployments/nextcloud.yaml @@ -0,0 +1,35 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nextcloud + namespace: nextcloud +spec: + selector: + matchLabels: + app: nextcloud + template: + metadata: + labels: + app: nextcloud + spec: + containers: + - name: nextcloud + image: nextcloud:27 + env: + - name: MYSQL_PASSWORD + value: nextcloud + - name: MYSQL_DATABASE + value: nextcloud + - name: MYSQL_USER + value: nextcloud + - name: MYSQL_HOST + value: mariadb + ports: + - containerPort: 80 + volumeMounts: + - mountPath: /var/www/html + name: nextcloud-storage + volumes: + - name: nextcloud-storage + persistentVolumeClaim: + claimName: nextcloud-pvc \ No newline at end of file diff --git a/ingress/ingress.yaml b/ingress/ingress.yaml new file mode 100644 index 0000000..b26a8eb --- /dev/null +++ b/ingress/ingress.yaml @@ -0,0 +1,25 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: nextcloud-ingress + namespace: nextcloud + annotations: + cert-manager.io/cluster-issuer: "letsencrypt-prod" + nginx.ingress.kubernetes.io/ssl-redirect: "true" +spec: + ingressClassName: nginx + tls: + - hosts: + - nextcloud.manabo.org + secretName: nextcloud-tls + rules: + - host: nextcloud.manabo.org + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: nextcloud + port: + number: 80 \ No newline at end of file diff --git a/kustomization.yaml b/kustomization.yaml new file mode 100644 index 0000000..e7f3529 --- /dev/null +++ b/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- namespace.yaml +- deployments/mariadb.yaml +- deployments/nextcloud.yaml +- services/mariadb.yaml +- services/nextcloud.yaml +- pvc/mariadb-pvc.yaml +- pvc/nextcloud-pvc.yaml +- ingress/ingress.yaml \ No newline at end of file diff --git a/namespace.yaml b/namespace.yaml new file mode 100644 index 0000000..bc64f64 --- /dev/null +++ b/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: nextcloud \ No newline at end of file diff --git a/pvc/mariadb-pvc.yaml b/pvc/mariadb-pvc.yaml new file mode 100644 index 0000000..88bb848 --- /dev/null +++ b/pvc/mariadb-pvc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mariadb-pvc + namespace: nextcloud +spec: + accessModes: + - ReadWriteOnce + storageClassName: nfs-manabo + resources: + requests: + storage: 8Gi \ No newline at end of file diff --git a/pvc/nextcloud-pvc.yaml b/pvc/nextcloud-pvc.yaml new file mode 100644 index 0000000..d7e7d11 --- /dev/null +++ b/pvc/nextcloud-pvc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: nextcloud-pvc + namespace: nextcloud +spec: + accessModes: + - ReadWriteOnce + storageClassName: nfs-manabo + resources: + requests: + storage: 20Gi \ No newline at end of file diff --git a/services/mariadb.yaml b/services/mariadb.yaml new file mode 100644 index 0000000..7d6d265 --- /dev/null +++ b/services/mariadb.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: mariadb + namespace: nextcloud +spec: + ports: + - port: 3306 + selector: + app: mariadb \ No newline at end of file diff --git a/services/nextcloud.yaml b/services/nextcloud.yaml new file mode 100644 index 0000000..863e229 --- /dev/null +++ b/services/nextcloud.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: nextcloud + namespace: nextcloud +spec: + ports: + - port: 80 + selector: + app: nextcloud \ No newline at end of file