diff --git a/Gitea/010-deployment.yaml b/Gitea/010-deployment.yaml index 48c4ab11..11aaacc8 100644 --- a/Gitea/010-deployment.yaml +++ b/Gitea/010-deployment.yaml @@ -42,3 +42,4 @@ spec: - name: git-data persistentVolumeClaim: claimName: git-pvc + diff --git a/Gitea/030-network.yaml b/Gitea/030-network.yaml index 750f409e..d85deaaf 100644 --- a/Gitea/030-network.yaml +++ b/Gitea/030-network.yaml @@ -10,8 +10,10 @@ metadata: spec: selector: app: gitea + type: NodePort ports: - name: gitea-http + nodePort: 30780 port: 3000 - name: gitea-ssh port: 22 diff --git a/Gitea/Makefile b/Gitea/Makefile new file mode 100644 index 00000000..20a498b4 --- /dev/null +++ b/Gitea/Makefile @@ -0,0 +1,57 @@ +export ARQUITECTURA := $(shell lscpu |grep itectur | tr -d ' '| cut -f2 -d':') +#export REGISTRY=localhost:5000 +export REGISTRY=registry.reymota.es + +export IMG_VERSION = 0.27 +export IMG_NGINX_VERSION = 2.3 + +# limpia todo +all: imagen clean install + +imagen: + cd ../; make + +install: + -kubectl create -f namespace.yaml + -kubectl create -f reg-secret.yaml + -kubectl create -f env-prod-configmap.yaml + -kubectl create -f env-prod-db-configmap.yaml + + -kubectl create -f pv-local-jugaralpadel.yaml + -kubectl create -f jugaralpadel-prod-persistentvolumeclaim.yaml + -kubectl create -f static-volume-persistentvolumeclaim.yaml + -kubectl create -f postgres-data-persistentvolumeclaim.yaml + + -kubectl create -f db-deployment.yaml + -kubectl create -f db-service.yaml + + -envsubst < jugaralpadel-deployment.yaml |kubectl create -f - + -envsubst < nginx-deployment.yaml |kubectl create -f - + -kubectl create -f nginx-service.yaml + +clean: + -envsubst < nginx-deployment.yaml |kubectl delete -f - + -kubectl delete -f nginx-service.yaml + -envsubst < jugaralpadel-deployment.yaml |kubectl delete -f - + + -kubectl delete -f db-deployment.yaml + -kubectl delete -f db-service.yaml + + -kubectl delete -f env-prod-configmap.yaml + -kubectl delete -f env-prod-db-configmap.yaml + + -kubectl delete -f postgres-data-persistentvolumeclaim.yaml + -kubectl delete -f static-volume-persistentvolumeclaim.yaml + -kubectl delete -f jugaralpadel-prod-persistentvolumeclaim.yaml + -kubectl delete -f pv-local-jugaralpadel.yaml + -kubectl delete -f reg-secret.yaml + -kubectl delete -f namespace.yaml + +nginx: + cd ../nginx; make + +verimg: + docker run -it ${REGISTRY}/jugaralpadel-${ARQUITECTURA}:${IMG_VERSION} bash + +backup: + kubectl --kubeconfig /home/creylopez/.kube/config -n jugaralpadel exec -ti deployment.apps/db -- /usr/lib/postgresql/15/bin/pg_dump --username=creylopez --dbname=jugaralpadel > jugaralpadel-$(IMG_VERSION).sql diff --git a/Gitea/creaTodo.sh b/Gitea/creaTodo.sh index bffdd158..fd1f34f5 100755 --- a/Gitea/creaTodo.sh +++ b/Gitea/creaTodo.sh @@ -1,2 +1,2 @@ -kubectl create -f pv-local-mysql-gitea.yaml +kubectl create -f pv-local-pg-gitea.yaml kubectl create -k ./ diff --git a/Gitea/db-deployment.yaml b/Gitea/db-deployment.yaml new file mode 100644 index 00000000..79c648d6 --- /dev/null +++ b/Gitea/db-deployment.yaml @@ -0,0 +1,52 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.34.0 (cbf2835db) + labels: + io.kompose.service: db + name: db + namespace: gitea-repo +spec: + replicas: 1 + selector: + matchLabels: + io.kompose.service: db + strategy: + type: Recreate + template: + metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.34.0 (cbf2835db) + labels: + io.kompose.service: db + spec: + containers: + - env: + - name: POSTGRES_DB + valueFrom: + configMapKeyRef: + key: POSTGRES_DB + name: env-prod-db + - name: POSTGRES_PASSWORD + valueFrom: + configMapKeyRef: + key: POSTGRES_PASSWORD + name: env-prod-db + - name: POSTGRES_USER + valueFrom: + configMapKeyRef: + key: POSTGRES_USER + name: env-prod-db + image: postgres:15 + name: db + volumeMounts: + - mountPath: /var/lib/postgresql/data + name: postgres-data + restartPolicy: Always + volumes: + - name: postgres-data + persistentVolumeClaim: + claimName: postgres-data diff --git a/Gitea/db-service.yaml b/Gitea/db-service.yaml new file mode 100644 index 00000000..31bee317 --- /dev/null +++ b/Gitea/db-service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.34.0 (cbf2835db) + labels: + io.kompose.service: db + name: db + namespace: gitea-repo +spec: + ports: + - name: "5432" + port: 5432 + targetPort: 5432 + selector: + io.kompose.service: db diff --git a/Gitea/entraPsql.sh b/Gitea/entraPsql.sh new file mode 100644 index 00000000..af85fcca --- /dev/null +++ b/Gitea/entraPsql.sh @@ -0,0 +1 @@ +kubectl -n gitea-repo exec -ti deployment.apps/db -- psql --username=creylopez --dbname=gitea diff --git a/Gitea/env-prod-db-configmap.yaml b/Gitea/env-prod-db-configmap.yaml new file mode 100644 index 00000000..2a88f56b --- /dev/null +++ b/Gitea/env-prod-db-configmap.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +data: + POSTGRES_DB: gitea + POSTGRES_PASSWORD: Dsa-0213 + POSTGRES_USER: creylopez +kind: ConfigMap +metadata: + labels: + io.kompose.service: db-env-prod-db + name: env-prod-db + namespace: gitea-repo diff --git a/Gitea/kustomization.yaml b/Gitea/kustomization.yaml index 0e546a71..8626f7c5 100644 --- a/Gitea/kustomization.yaml +++ b/Gitea/kustomization.yaml @@ -1,5 +1,5 @@ secretGenerator: -- name: mysqlgitea-pass +- name: sqlgitea-pass namespace: gitea-repo literals: - password=Dsa-0213 @@ -7,10 +7,10 @@ secretGenerator: - db_passwd=Dsa-0213 resources: - reg-secret.yaml - - mysql-deployment-gitea.yaml - - php-myadmin-gitea-deployment.yaml + - env-prod-db-configmap.yaml + - postgres-data-persistentvolumeclaim.yaml + - db-deployment.yaml + - db-service.yaml - 010-deployment.yaml - 020-volumes.yaml - 030-network.yaml - - nginx-deployment.yaml - - nginx-service.yaml diff --git a/Gitea/mysql-deployment-gitea.yaml b/Gitea/mysql-deployment-gitea.yaml deleted file mode 100644 index 56e45b47..00000000 --- a/Gitea/mysql-deployment-gitea.yaml +++ /dev/null @@ -1,73 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: gitea-mysql - namespace: gitea-repo - labels: - app: gitea -spec: - type: NodePort - ports: - - name: mysql - port: 3306 - nodePort: 30782 - targetPort: mysql - selector: - app: gitea - tier: mysql ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: mysql-gitea-pv-claim - namespace: gitea-repo - labels: - app: gitea -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 20Gi ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: gitea-mysql - namespace: gitea-repo - labels: - app: gitea -spec: - selector: - matchLabels: - app: gitea - tier: mysql - strategy: - type: Recreate - template: - metadata: - labels: - app: gitea - tier: mysql - spec: - containers: - - image: mariadb:latest - name: mysql - env: - - name: MYSQL_ROOT_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlgitea-pass - key: password - ports: - - containerPort: 3306 - name: mysql - volumeMounts: - - name: mysql-persistent-storage - mountPath: /var/lib/mysql - imagePullSecrets: - - name: reg-cred-secret - volumes: - - name: mysql-persistent-storage - persistentVolumeClaim: - claimName: mysql-gitea-pv-claim diff --git a/Gitea/paraTodo.sh b/Gitea/paraTodo.sh index 5b879dd8..0f35be79 100755 --- a/Gitea/paraTodo.sh +++ b/Gitea/paraTodo.sh @@ -1,2 +1,2 @@ kubectl delete -k ./ -kubectl delete -f pv-local-mysql-gitea.yaml +kubectl delete -f pv-local-pg-gitea.yaml diff --git a/Gitea/php-myadmin-gitea-deployment.yaml b/Gitea/php-myadmin-gitea-deployment.yaml deleted file mode 100644 index 12604338..00000000 --- a/Gitea/php-myadmin-gitea-deployment.yaml +++ /dev/null @@ -1,57 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: phpmyadmin-gitea - namespace: gitea-repo - labels: - app: gitea -spec: - selector: - app: gitea - tier: phpmyadmin - type: NodePort - ports: - - name: phpadmin - port: 80 - nodePort: 30781 - targetPort: phpmyadm ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: phpmyadmin-gitea - namespace: gitea-repo - labels: - app: gitea -spec: - selector: - matchLabels: - app: gitea - tier: phpmyadmin - strategy: - type: Recreate - template: - metadata: - labels: - app: gitea - tier: phpmyadmin - spec: - containers: - - name: phpmyadmin - image: phpmyadmin - ports: - - containerPort: 80 - name: phpmyadm - env: - - name: PMA_HOST - value: gitea-mysql - - name: PMA_PORT - value: "3306" - - name: MYSQL_ROOT_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlgitea-pass - key: password - imagePullSecrets: - - name: reg-cred-secret - diff --git a/Gitea/postgres-data-persistentvolumeclaim.yaml b/Gitea/postgres-data-persistentvolumeclaim.yaml new file mode 100644 index 00000000..3f32cd4b --- /dev/null +++ b/Gitea/postgres-data-persistentvolumeclaim.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + io.kompose.service: postgres-data + name: postgres-data + namespace: gitea-repo +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi diff --git a/Gitea/pv-local-mysql-gitea.yaml b/Gitea/pv-local-pg-gitea.yaml similarity index 78% rename from Gitea/pv-local-mysql-gitea.yaml rename to Gitea/pv-local-pg-gitea.yaml index 9ccdbe0c..46f6f580 100644 --- a/Gitea/pv-local-mysql-gitea.yaml +++ b/Gitea/pv-local-pg-gitea.yaml @@ -8,4 +8,4 @@ spec: accessModes: - ReadWriteOnce hostPath: - path: "/mnt/Externo/gitea/gitea-db" + path: "/mnt/Externo/gitea/pg"