From 13d98ca1ba31ee657616d58c07722956e6b2e8e4 Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Tue, 10 Jan 2023 21:04:06 +0100 Subject: [PATCH] =?UTF-8?q?A=C3=B1ado=20Gogs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gogs/creaTodo.sh | 4 ++ Gogs/gogs-service.yaml | 22 +++++++++ Gogs/gogs-statefulset.yaml | 33 +++++++++++++ Gogs/kustomization.yaml | 12 +++++ Gogs/mysql-deployment-gogs.yaml | 71 +++++++++++++++++++++++++++ Gogs/paraTodo.sh | 3 ++ Gogs/php-myadmin-gogs-deployment.yaml | 54 ++++++++++++++++++++ Gogs/pv-local-mysql-gogs.yaml | 11 +++++ 8 files changed, 210 insertions(+) create mode 100755 Gogs/creaTodo.sh create mode 100644 Gogs/gogs-service.yaml create mode 100644 Gogs/gogs-statefulset.yaml create mode 100644 Gogs/kustomization.yaml create mode 100644 Gogs/mysql-deployment-gogs.yaml create mode 100755 Gogs/paraTodo.sh create mode 100644 Gogs/php-myadmin-gogs-deployment.yaml create mode 100644 Gogs/pv-local-mysql-gogs.yaml diff --git a/Gogs/creaTodo.sh b/Gogs/creaTodo.sh new file mode 100755 index 00000000..e00bf4bf --- /dev/null +++ b/Gogs/creaTodo.sh @@ -0,0 +1,4 @@ +kubectl create namespace gogs +kubectl create -f pv-local-mysql-gogs.yaml +kubectl create -k ./ +watch kubectl get all -n gogs diff --git a/Gogs/gogs-service.yaml b/Gogs/gogs-service.yaml new file mode 100644 index 00000000..7ebba435 --- /dev/null +++ b/Gogs/gogs-service.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: Service +metadata: + name: gogs-app + namespace: gogs + labels: + app: gogs-app +spec: + ports: + - name: ssh + protocol: TCP + port: 22 + targetPort: 22 + nodePort: 30022 + - name: http + protocol: TCP + port: 3000 + targetPort: 3000 + nodePort: 30009 + selector: + app: gogs-app + type: NodePort diff --git a/Gogs/gogs-statefulset.yaml b/Gogs/gogs-statefulset.yaml new file mode 100644 index 00000000..afec62db --- /dev/null +++ b/Gogs/gogs-statefulset.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + labels: + app: gogs-app + name: gogs-app + namespace: gogs +spec: + replicas: 1 + selector: + matchLabels: + app: gogs-app + serviceName: gogs-app + template: + metadata: + labels: + app: gogs-app + spec: + containers: + - image: gogs/gogs:latest + imagePullPolicy: IfNotPresent + name: gogs-app + resources: {} + ports: + - containerPort: 3000 + name: web + protocol: TCP + - containerPort: 22 + name: ssh + protocol: TCP + dnsPolicy: ClusterFirst + restartPolicy: Always + terminationGracePeriodSeconds: 30 diff --git a/Gogs/kustomization.yaml b/Gogs/kustomization.yaml new file mode 100644 index 00000000..93e7efd2 --- /dev/null +++ b/Gogs/kustomization.yaml @@ -0,0 +1,12 @@ +secretGenerator: +- name: mysqlgogs-pass + namespace: gogs + literals: + - password=Dsa-0213 + - db_user=root + - db_passwd=Dsa-0213 +resources: + - gogs-service.yaml + - php-myadmin-gogs-deployment.yaml + - mysql-deployment-gogs.yaml + - gogs-statefulset.yaml diff --git a/Gogs/mysql-deployment-gogs.yaml b/Gogs/mysql-deployment-gogs.yaml new file mode 100644 index 00000000..6f6dd4da --- /dev/null +++ b/Gogs/mysql-deployment-gogs.yaml @@ -0,0 +1,71 @@ +apiVersion: v1 +kind: Service +metadata: + name: gogs-mysql + namespace: gogs + labels: + app: gogs +spec: + type: NodePort + ports: + - name: mysql + port: 3306 + nodePort: 30306 + targetPort: mysql + selector: + app: gogs + tier: mysql +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mysql-gogs-pv-claim + namespace: gogs + labels: + app: gogs +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: gogs-mysql + namespace: gogs + labels: + app: gogs +spec: + selector: + matchLabels: + app: gogs + tier: mysql + strategy: + type: Recreate + template: + metadata: + labels: + app: gogs + tier: mysql + spec: + containers: + - image: mariadb + name: mysql + env: + - name: MYSQL_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlgogs-pass + key: password + ports: + - containerPort: 3306 + name: mysql + volumeMounts: + - name: mysql-persistent-storage + mountPath: /var/lib/mysql + volumes: + - name: mysql-persistent-storage + persistentVolumeClaim: + claimName: mysql-gogs-pv-claim diff --git a/Gogs/paraTodo.sh b/Gogs/paraTodo.sh new file mode 100755 index 00000000..02956e82 --- /dev/null +++ b/Gogs/paraTodo.sh @@ -0,0 +1,3 @@ +kubectl delete -k ./ +kubectl delete -f pv-local-mysql-gogs.yaml +kubectl delete namespace gogs diff --git a/Gogs/php-myadmin-gogs-deployment.yaml b/Gogs/php-myadmin-gogs-deployment.yaml new file mode 100644 index 00000000..fe46531b --- /dev/null +++ b/Gogs/php-myadmin-gogs-deployment.yaml @@ -0,0 +1,54 @@ +apiVersion: v1 +kind: Service +metadata: + name: phpmyadmin-gogs + namespace: gogs + labels: + app: gogs +spec: + selector: + app: gogs + tier: phpmyadmin + type: NodePort + ports: + - name: phpadmin + port: 80 + nodePort: 30382 + targetPort: phpmyadm +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: phpmyadmin-gogs + namespace: gogs + labels: + app: gogs +spec: + selector: + matchLabels: + app: gogs + tier: phpmyadmin + strategy: + type: Recreate + template: + metadata: + labels: + app: gogs + tier: phpmyadmin + spec: + containers: + - name: phpmyadmin + image: phpmyadmin + ports: + - containerPort: 80 + name: phpmyadm + env: + - name: PMA_HOST + value: gogs-mysql + - name: PMA_PORT + value: "3306" + - name: MYSQL_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlgogs-pass + key: password diff --git a/Gogs/pv-local-mysql-gogs.yaml b/Gogs/pv-local-mysql-gogs.yaml new file mode 100644 index 00000000..4566a520 --- /dev/null +++ b/Gogs/pv-local-mysql-gogs.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: gogs-data +spec: + capacity: + storage: 20Gi + accessModes: + - ReadWriteOnce + hostPath: + path: "/mnt/cluster/gogs"