Cambios en Firefly para crear un deployment de respaldo Cambios en PGO para crear una instancia de postgres Cambios en Mediawiki y otrosmain
| @ -0,0 +1,23 @@ | |||||
| # Backup date | |||||
| today=$(date "+%Y_%m_%d-%H_%M_%S") | |||||
| echo "Current date: $today" | |||||
| # build up filename | |||||
| # destination folder (change to your own needs) | |||||
| BACKUP_FOLDER=/tmp | |||||
| file_name=$BACKUP_FOLDER/bkup_fireflyiii | |||||
| new_name=$file_name-$today.sql | |||||
| echo "Backup file name: " "$new_name" | |||||
| sudo kubectl --kubeconfig /home/creylopez/.kube/config exec `kubectl --kubeconfig /home/creylopez/.kube/config get pod -n firefly|grep iii-mysql|cut -f1 -d' '` -n firefly -- /usr/bin/mysqldump -u root --password=Rey-1176 fireflyiii > $new_name | |||||
| message="Backup stored "$today | |||||
| sudo -u creylopez cat $new_name | mail -s "FireflyIII backup finished" "creylopez@yahoo.es" | |||||
| sudo rm $new_name | |||||
| @ -0,0 +1,4 @@ | |||||
| kubectl create -f pv-local-ff.yaml | |||||
| kubectl create -f pv-local-mysql.yaml | |||||
| kubectl create -k ./ | |||||
| #watch kubectl get all -n firefly-res | |||||
| @ -0,0 +1 @@ | |||||
| kubectl exec -ti deployment.apps/firefly-iii -n firefly -- /bin/bash | |||||
| @ -0,0 +1,2 @@ | |||||
| echo "Comando '$1'" | |||||
| kubectl exec -ti `kubectl get pod -n firefly | grep -v mysql |grep -v phpmy |grep -v NAME|cut -c1-27` -n firefly -- runuser -u www-data "$1" | |||||
| @ -0,0 +1,4 @@ | |||||
| apiVersion: v1 | |||||
| kind: Namespace | |||||
| metadata: | |||||
| name: firefly-res | |||||
| @ -0,0 +1,12 @@ | |||||
| apiVersion: v1 | |||||
| kind: Secret | |||||
| metadata: | |||||
| name: firefly-iii-res-secrets | |||||
| namespace: firefly-res | |||||
| type: Opaque | |||||
| stringData: | |||||
| db_password: Rey-1176 | |||||
| app_key: 4VF2JAHT5PA9VCW7EUBUJCWAWV89G9PC | |||||
| access_token: 4VF2JAHT5PA9VCW7EUBUJCWAWV89G9PC | |||||
| mail_user: celestino_rey@ymail.com | |||||
| mail_password: kbryvwxkockqckss | |||||
| @ -0,0 +1 @@ | |||||
| kubectl logs deployment.apps/firefly-iii -n firefly | |||||
| @ -0,0 +1,110 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolumeClaim | |||||
| metadata: | |||||
| name: firefly-iii-res-upload-claim | |||||
| namespace: firefly-res | |||||
| labels: | |||||
| app: firefly-iii-res | |||||
| spec: | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| storageClassName: "" | |||||
| resources: | |||||
| requests: | |||||
| storage: 10Gi | |||||
| --- | |||||
| apiVersion: v1 | |||||
| kind: Service | |||||
| metadata: | |||||
| name: firefly-iii-res | |||||
| namespace: firefly-res | |||||
| labels: | |||||
| app: firefly-iii-res | |||||
| spec: | |||||
| type: NodePort | |||||
| ports: | |||||
| - name: firefly-res | |||||
| port: 8080 | |||||
| nodePort: 30580 | |||||
| targetPort: firefly-iii-res | |||||
| selector: | |||||
| app: firefly-iii-res | |||||
| tier: frontend | |||||
| --- | |||||
| apiVersion: apps/v1 | |||||
| kind: Deployment | |||||
| metadata: | |||||
| name: firefly-iii-res | |||||
| namespace: firefly-res | |||||
| labels: | |||||
| app: firefly-iii-res | |||||
| spec: | |||||
| selector: | |||||
| matchLabels: | |||||
| app: firefly-iii-res | |||||
| tier: frontend | |||||
| strategy: | |||||
| type: Recreate | |||||
| template: | |||||
| metadata: | |||||
| labels: | |||||
| app: firefly-iii-res | |||||
| tier: frontend | |||||
| spec: | |||||
| containers: | |||||
| - image: fireflyiii/core:latest | |||||
| name: firefly-iii-res | |||||
| env: | |||||
| - name: APP_ENV | |||||
| value: local | |||||
| - name: APP_KEY | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: firefly-iii-res-secrets | |||||
| key: app_key | |||||
| - name: DB_HOST | |||||
| value: firefly-iii-res-mysql | |||||
| - name: DB_CONNECTION | |||||
| value: mysql | |||||
| - name: DB_DATABASE | |||||
| value: "firefly-resiii" | |||||
| - name: DB_USERNAME | |||||
| value: "root" | |||||
| - name: DB_PASSWORD | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: firefly-iii-res-secrets | |||||
| key: db_password | |||||
| - name: TRUSTED_PROXIES | |||||
| value: "**" | |||||
| - name: MAIL_MAILER | |||||
| value: smtp | |||||
| - name: MAIL_HOST | |||||
| value: "smtp.mail.yahoo.com" | |||||
| - name: MAIL_PORT | |||||
| value: "465" | |||||
| - name: MAIL_FROM | |||||
| value: "celestino_rey@ymail.com" | |||||
| - name: MAIL_USERNAME | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: firefly-iii-res-secrets | |||||
| key: mail_user | |||||
| - name: MAIL_PASSWORD | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: firefly-iii-res-secrets | |||||
| key: mail_password | |||||
| - name: MAIL_ENCRYPTION | |||||
| value: "ssl" | |||||
| ports: | |||||
| - containerPort: 8080 | |||||
| name: firefly-iii-res | |||||
| volumeMounts: | |||||
| - mountPath: "/var/www/html/firefly-iii-res/storage/upload" | |||||
| name: firefly-iii-res-upload | |||||
| imagePullPolicy: Always | |||||
| volumes: | |||||
| - name: firefly-iii-res-upload | |||||
| persistentVolumeClaim: | |||||
| claimName: firefly-iii-res-upload-claim | |||||
| @ -0,0 +1,7 @@ | |||||
| resources: | |||||
| - ff-namespace.yaml | |||||
| - ff-secrets.yaml | |||||
| - mysql-deployment.yaml | |||||
| - firefly-deployment.yaml | |||||
| - php-deployment.yaml | |||||
| @ -0,0 +1 @@ | |||||
| kubectl exec deployment.apps/firefly-iii -n firefly -- runuser -u www-data /usr/local/bin/php /var/www/html/artisan firefly-iii:cron | |||||
| @ -0,0 +1,72 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolumeClaim | |||||
| metadata: | |||||
| name: firefly-iii-res-data-pvc | |||||
| namespace: firefly-res | |||||
| labels: | |||||
| app: firefly-iii-res | |||||
| spec: | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| storageClassName: "" | |||||
| resources: | |||||
| requests: | |||||
| storage: 20Gi | |||||
| --- | |||||
| apiVersion: v1 | |||||
| kind: Service | |||||
| metadata: | |||||
| name: firefly-iii-res-mysql | |||||
| namespace: firefly-res | |||||
| labels: | |||||
| app: firefly-iii-res | |||||
| spec: | |||||
| type: NodePort | |||||
| ports: | |||||
| - name: mysql | |||||
| port: 3306 | |||||
| nodePort: 30581 | |||||
| targetPort: mysql | |||||
| selector: | |||||
| app: firefly-iii-res | |||||
| tier: mysql | |||||
| --- | |||||
| apiVersion: apps/v1 | |||||
| kind: Deployment | |||||
| metadata: | |||||
| name: firefly-iii-res-mysql | |||||
| namespace: firefly-res | |||||
| labels: | |||||
| app: firefly-iii-res | |||||
| spec: | |||||
| selector: | |||||
| matchLabels: | |||||
| app: firefly-iii-res | |||||
| tier: mysql | |||||
| strategy: | |||||
| type: Recreate | |||||
| template: | |||||
| metadata: | |||||
| labels: | |||||
| app: firefly-iii-res | |||||
| tier: mysql | |||||
| spec: | |||||
| containers: | |||||
| - image: mariadb:latest | |||||
| name: mysql | |||||
| env: | |||||
| - name: MYSQL_ROOT_PASSWORD | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: firefly-iii-res-secrets | |||||
| key: db_password | |||||
| ports: | |||||
| - containerPort: 3306 | |||||
| name: mysql | |||||
| volumeMounts: | |||||
| - name: mysql-persistent-storage | |||||
| mountPath: /var/lib/mysql | |||||
| volumes: | |||||
| - name: mysql-persistent-storage | |||||
| persistentVolumeClaim: | |||||
| claimName: firefly-iii-res-data-pvc | |||||
| @ -0,0 +1,3 @@ | |||||
| kubectl delete -k ./ | |||||
| kubectl delete -f pv-local-ff.yaml | |||||
| kubectl delete -f pv-local-mysql.yaml | |||||
| @ -0,0 +1,54 @@ | |||||
| apiVersion: v1 | |||||
| kind: Service | |||||
| metadata: | |||||
| name: phpmyadmin-firefly-res | |||||
| namespace: firefly-res | |||||
| labels: | |||||
| app: firefly-iii-res | |||||
| spec: | |||||
| selector: | |||||
| app: firefly-iii-res | |||||
| tier: phpmyadmin | |||||
| type: NodePort | |||||
| ports: | |||||
| - name: phpadmin | |||||
| port: 80 | |||||
| nodePort: 30588 | |||||
| targetPort: phpmyadm | |||||
| --- | |||||
| apiVersion: apps/v1 | |||||
| kind: Deployment | |||||
| metadata: | |||||
| name: phpmyadmin-firefly-res | |||||
| namespace: firefly-res | |||||
| labels: | |||||
| app: firefly-iii-res | |||||
| spec: | |||||
| selector: | |||||
| matchLabels: | |||||
| app: firefly-iii-res | |||||
| tier: phpmyadmin | |||||
| strategy: | |||||
| type: Recreate | |||||
| template: | |||||
| metadata: | |||||
| labels: | |||||
| app: firefly-iii-res | |||||
| tier: phpmyadmin | |||||
| spec: | |||||
| containers: | |||||
| - name: phpmyadmin | |||||
| image: phpmyadmin | |||||
| ports: | |||||
| - containerPort: 80 | |||||
| name: phpmyadm | |||||
| env: | |||||
| - name: PMA_HOST | |||||
| value: firefly-iii-res-mysql | |||||
| - name: PMA_PORT | |||||
| value: "3306" | |||||
| - name: MYSQL_ROOT_PASSWORD | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: firefly-iii-res-secrets | |||||
| key: db_password | |||||
| @ -0,0 +1 @@ | |||||
| kubectl exec -ti `kubectl get pod -n firefly | grep -v mysql |grep -v phpmy |grep -v NAME|cut -c1-27` -n firefly -- runuser -u www-data touch pepe | |||||
| @ -0,0 +1,11 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolume | |||||
| metadata: | |||||
| name: data-firefly-iii-res | |||||
| spec: | |||||
| capacity: | |||||
| storage: 10Gi | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| hostPath: | |||||
| path: "/mnt/cluster/firefly-res/firefly-uploads" | |||||
| @ -0,0 +1,11 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolume | |||||
| metadata: | |||||
| name: data-firefly-iii-res-mysql | |||||
| spec: | |||||
| capacity: | |||||
| storage: 20Gi | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| hostPath: | |||||
| path: "/mnt/cluster/firefly-res/firefly-db" | |||||
| @ -1,4 +1,4 @@ | |||||
| kubectl create -f pv-local-ff.yaml | kubectl create -f pv-local-ff.yaml | ||||
| kubectl create -f pv-local-mysql.yaml | kubectl create -f pv-local-mysql.yaml | ||||
| kubectl create -k ./ | kubectl create -k ./ | ||||
| watch kubectl get all -n firefly | |||||
| #watch kubectl get all -n firefly | |||||
| @ -0,0 +1 @@ | |||||
| kubectl exec -ti deployment.apps/firefly-iii-mysql -n firefly -- /bin/bash | |||||
| @ -0,0 +1,8 @@ | |||||
| # pgadmin | |||||
| kubectl create -f pv-local-pgadmin.yaml | |||||
| kubectl create -f pvc-pgadmin.yaml | |||||
| kubectl create -f pgadmin-secret.yaml | |||||
| kubectl create -f pgadmin-service.yaml | |||||
| kubectl create -f pgadmin-deployment.yaml | |||||
| kubectl create -f pgadmin-configmap.yaml | |||||
| watch kubectl get all -n postgres | |||||
| @ -0,0 +1 @@ | |||||
| kubectl exec -ti deployment.apps/postgres -n postgres -- /bin/bash | |||||
| @ -0,0 +1,6 @@ | |||||
| kubectl delete -f pgadmin-configmap.yaml | |||||
| kubectl delete -f pgadmin-secret.yaml | |||||
| kubectl delete -f pgadmin-service.yaml | |||||
| kubectl delete -f pgadmin-deployment.yaml | |||||
| kubectl delete -f pvc-pgadmin.yaml | |||||
| kubectl delete -f pv-local-pgadmin.yaml | |||||
| @ -0,0 +1,52 @@ | |||||
| apiVersion: apps/v1 | |||||
| kind: Deployment | |||||
| metadata: | |||||
| name: pgadmin | |||||
| namespace: postgres | |||||
| spec: | |||||
| replicas: 1 | |||||
| selector: | |||||
| matchLabels: | |||||
| app: pgadmin | |||||
| template: | |||||
| metadata: | |||||
| labels: | |||||
| app: pgadmin | |||||
| spec: | |||||
| initContainers: | |||||
| - name: pgadmin-init | |||||
| image: alpine | |||||
| args: [ "sh", "-c", "chown 5050:5050 /var/lib/pgadmin " ] | |||||
| volumeMounts: | |||||
| - name: pgadmin-data | |||||
| mountPath: /var/lib/pgadmin | |||||
| containers: | |||||
| - name: pgadmin | |||||
| image: ubuntu | |||||
| imagePullPolicy: Always | |||||
| env: | |||||
| - name: PGADMIN_DEFAULT_EMAIL | |||||
| value: creylopez@yahoo.es | |||||
| - name: PGADMIN_DEFAULT_PASSWORD | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: pgadmin | |||||
| key: pgadmin-password | |||||
| volumeMounts: | |||||
| - name: pgadmin-config | |||||
| mountPath: /pgadmin4/servers.json | |||||
| subPath: servers.json | |||||
| readOnly: true | |||||
| - name: pgadmin-config | |||||
| mountPath: /pgadmin4/config_local.py | |||||
| subPath: config_local.py | |||||
| readOnly: true | |||||
| - name: pgadmin-data | |||||
| mountPath: /var/lib/pgadmin | |||||
| volumes: | |||||
| - name: pgadmin-config | |||||
| configMap: | |||||
| name: pgadmin-config | |||||
| - name: pgadmin-data | |||||
| persistentVolumeClaim: | |||||
| claimName: pgadmin-pv-claim | |||||
| @ -0,0 +1,14 @@ | |||||
| apiVersion: v1 | |||||
| kind: Service # Create service | |||||
| metadata: | |||||
| name: pgadmin # Sets the service name | |||||
| namespace: postgres | |||||
| labels: | |||||
| app: pgadmin # Defines app to create service for | |||||
| spec: | |||||
| type: NodePort # Sets the service type | |||||
| ports: | |||||
| - port: 80 # Sets the port to run the postgres application | |||||
| nodePort: 30200 | |||||
| selector: | |||||
| app: pgadmin | |||||
| @ -0,0 +1,11 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolume | |||||
| metadata: | |||||
| name: pgadmin-config | |||||
| spec: | |||||
| capacity: | |||||
| storage: 1Gi | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| hostPath: | |||||
| path: "/mnt/cluster/postgres/pgadmin-config" | |||||
| @ -0,0 +1,14 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolumeClaim | |||||
| metadata: | |||||
| name: pgadmin-config-pv-claim | |||||
| namespace: postgres | |||||
| labels: | |||||
| app: postgres | |||||
| spec: | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| storageClassName: "" | |||||
| resources: | |||||
| requests: | |||||
| storage: 1Gi | |||||
| @ -0,0 +1,14 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolumeClaim | |||||
| metadata: | |||||
| name: pgadmin-pv-claim | |||||
| namespace: postgres | |||||
| labels: | |||||
| app: postgres | |||||
| spec: | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| storageClassName: "" | |||||
| resources: | |||||
| requests: | |||||
| storage: 3Gi | |||||
| @ -1,4 +1,4 @@ | |||||
| kubectl create -f pv-local-mysql-mw.yaml | kubectl create -f pv-local-mysql-mw.yaml | ||||
| kubectl create -f pv-local-mediawiki.yaml | kubectl create -f pv-local-mediawiki.yaml | ||||
| kubectl create -k ./ | kubectl create -k ./ | ||||
| watch kubectl get all -n mediawiki | |||||
| #watch kubectl get all -n mediawiki | |||||
| @ -1,4 +1,4 @@ | |||||
| kubectl create -f pv-local-nextcloud.yaml | kubectl create -f pv-local-nextcloud.yaml | ||||
| kubectl create -f pv-local-mysql.yaml | kubectl create -f pv-local-mysql.yaml | ||||
| kubectl create -k ./ | kubectl create -k ./ | ||||
| watch kubectl get all -n nextcloud | |||||
| #watch kubectl get all -n nextcloud | |||||
| @ -0,0 +1 @@ | |||||
| kubectl exec -ti deployment.apps/postgres -n postgres -- psql -h localhost -U postgres --password -p 5432 postgresdb | |||||
| @ -1,13 +0,0 @@ | |||||
| apiVersion: v1 | |||||
| kind: Service | |||||
| metadata: | |||||
| name: pgadmin-service | |||||
| namespace: postgres | |||||
| spec: | |||||
| ports: | |||||
| - protocol: TCP | |||||
| port: 80 | |||||
| targetPort: http | |||||
| selector: | |||||
| app: pgadmin | |||||
| type: NodePort | |||||
| @ -0,0 +1,23 @@ | |||||
| apiVersion: v1 | |||||
| kind: ConfigMap | |||||
| metadata: | |||||
| name: pgadmin-config | |||||
| namespace: postgres | |||||
| data: | |||||
| servers.json: | | |||||
| { | |||||
| "Servers": { | |||||
| "1": { | |||||
| "Name": "PostgreSQL DB", | |||||
| "Group": "Servers", | |||||
| "Port": 5432, | |||||
| "Username": "postgres", | |||||
| "Host": "postgres", | |||||
| "SSLMode": "prefer", | |||||
| "MaintenanceDB": "postgres" | |||||
| } | |||||
| } | |||||
| } | |||||
| config_local.py: | | |||||
| SECURITY_EMAIL_VALIDATOR_ARGS={"check_deliverability": False} | |||||
| @ -0,0 +1,52 @@ | |||||
| apiVersion: apps/v1 | |||||
| kind: Deployment | |||||
| metadata: | |||||
| name: pgadmin | |||||
| namespace: postgres | |||||
| spec: | |||||
| replicas: 1 | |||||
| selector: | |||||
| matchLabels: | |||||
| app: pgadmin | |||||
| template: | |||||
| metadata: | |||||
| labels: | |||||
| app: pgadmin | |||||
| spec: | |||||
| initContainers: | |||||
| - name: pgadmin-init | |||||
| image: alpine | |||||
| args: [ "sh", "-c", "chown 5050:5050 /var/lib/pgadmin " ] | |||||
| volumeMounts: | |||||
| - name: pgadmin-data | |||||
| mountPath: /var/lib/pgadmin | |||||
| containers: | |||||
| - name: pgadmin | |||||
| image: dpage/pgadmin4:6.17 | |||||
| imagePullPolicy: Always | |||||
| env: | |||||
| - name: PGADMIN_DEFAULT_EMAIL | |||||
| value: creylopez@yahoo.es | |||||
| - name: PGADMIN_DEFAULT_PASSWORD | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: pgadmin | |||||
| key: pgadmin-password | |||||
| volumeMounts: | |||||
| - name: pgadmin-config | |||||
| mountPath: /pgadmin4/servers.json | |||||
| subPath: servers.json | |||||
| readOnly: true | |||||
| - name: pgadmin-config | |||||
| mountPath: /pgadmin4/config_local.py | |||||
| subPath: config_local.py | |||||
| readOnly: true | |||||
| - name: pgadmin-data | |||||
| mountPath: /var/lib/pgadmin | |||||
| volumes: | |||||
| - name: pgadmin-config | |||||
| configMap: | |||||
| name: pgadmin-config | |||||
| - name: pgadmin-data | |||||
| persistentVolumeClaim: | |||||
| claimName: pgadmin-pv-claim | |||||
| @ -0,0 +1,48 @@ | |||||
| apiVersion: apps/v1 | |||||
| kind: Deployment | |||||
| metadata: | |||||
| name: pgadmin | |||||
| namespace: postgres | |||||
| spec: | |||||
| replicas: 1 | |||||
| selector: | |||||
| matchLabels: | |||||
| app: pgadmin | |||||
| template: | |||||
| metadata: | |||||
| labels: | |||||
| app: pgadmin | |||||
| spec: | |||||
| initContainers: | |||||
| - name: pgadmin-init | |||||
| image: alpine | |||||
| args: [ "sh", "-c", "chown 5050:5050 /var/lib/pgadmin " ] | |||||
| volumeMounts: | |||||
| - name: pgadmin-data | |||||
| mountPath: /var/lib/pgadmin | |||||
| containers: | |||||
| - name: pgadmin | |||||
| image: dpage/pgadmin4:5.5 | |||||
| imagePullPolicy: Always | |||||
| env: | |||||
| - name: PGADMIN_DEFAULT_EMAIL | |||||
| value: celestino.rey@gmail.com | |||||
| - name: PGADMIN_DEFAULT_PASSWORD | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: pgadmin | |||||
| key: pgadmin-password | |||||
| volumeMounts: | |||||
| - name: pgadmin-config | |||||
| mountPath: /pgadmin4/servers.json | |||||
| subPath: servers.json | |||||
| readOnly: true | |||||
| - name: pgadmin-data | |||||
| mountPath: /var/lib/pgadmin | |||||
| volumes: | |||||
| - name: pgadmin-config | |||||
| configMap: | |||||
| name: pgadmin-config | |||||
| - name: pgadmin-data | |||||
| persistentVolumeClaim: | |||||
| claimName: pgadmin-pv-claim | |||||
| @ -0,0 +1,8 @@ | |||||
| apiVersion: v1 | |||||
| kind: Secret | |||||
| type: Opaque | |||||
| metadata: | |||||
| name: pgadmin | |||||
| namespace: postgres | |||||
| data: | |||||
| pgadmin-password: UmV5MTE3Ngo= | |||||
| @ -0,0 +1,14 @@ | |||||
| apiVersion: v1 | |||||
| kind: Service # Create service | |||||
| metadata: | |||||
| name: pgadmin # Sets the service name | |||||
| namespace: postgres | |||||
| labels: | |||||
| app: pgadmin # Defines app to create service for | |||||
| spec: | |||||
| type: NodePort # Sets the service type | |||||
| ports: | |||||
| - port: 80 # Sets the port to run the postgres application | |||||
| nodePort: 30200 | |||||
| selector: | |||||
| app: pgadmin | |||||
| @ -0,0 +1,55 @@ | |||||
| apiVersion: apps/v1 | |||||
| kind: StatefulSet | |||||
| metadata: | |||||
| name: pgadmin | |||||
| namespace: postgres | |||||
| spec: | |||||
| serviceName: pgadmin-service | |||||
| podManagementPolicy: Parallel | |||||
| replicas: 1 | |||||
| updateStrategy: | |||||
| type: RollingUpdate | |||||
| selector: | |||||
| matchLabels: | |||||
| app: pgadmin | |||||
| template: | |||||
| metadata: | |||||
| labels: | |||||
| app: pgadmin | |||||
| spec: | |||||
| terminationGracePeriodSeconds: 10 | |||||
| containers: | |||||
| - name: pgadmin | |||||
| image: dpage/pgadmin4:5.4 | |||||
| imagePullPolicy: Always | |||||
| env: | |||||
| - name: PGADMIN_DEFAULT_EMAIL | |||||
| value: celestino.rey@gmail.com | |||||
| - name: PGADMIN_DEFAULT_PASSWORD | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: pgadmin | |||||
| key: pgadmin-password | |||||
| ports: | |||||
| - name: http | |||||
| containerPort: 80 | |||||
| protocol: TCP | |||||
| volumeMounts: | |||||
| - name: pgadmin-config | |||||
| mountPath: /pgadmin4/servers.json | |||||
| subPath: servers.json | |||||
| readOnly: true | |||||
| - name: pgadmin-data | |||||
| mountPath: /var/lib/pgadmin | |||||
| volumes: | |||||
| - name: pgadmin-config | |||||
| configMap: | |||||
| name: pgadmin-config | |||||
| volumeClaimTemplates: | |||||
| - metadata: | |||||
| name: pgadmin-data | |||||
| spec: | |||||
| accessModes: [ "ReadWriteOnce" ] | |||||
| resources: | |||||
| requests: | |||||
| storage: 3Gi | |||||
| @ -0,0 +1,11 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolume | |||||
| metadata: | |||||
| name: pgadmin-config | |||||
| spec: | |||||
| capacity: | |||||
| storage: 1Gi | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| hostPath: | |||||
| path: "/mnt/cluster/postgres/pgadmin-config" | |||||
| @ -0,0 +1,11 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolume | |||||
| metadata: | |||||
| name: pgadmin-data | |||||
| spec: | |||||
| capacity: | |||||
| storage: 3Gi | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| hostPath: | |||||
| path: "/mnt/cluster/postgres/pgadmin" | |||||
| @ -0,0 +1,14 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolumeClaim | |||||
| metadata: | |||||
| name: pgadmin-config-pv-claim | |||||
| namespace: postgres | |||||
| labels: | |||||
| app: postgres | |||||
| spec: | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| storageClassName: "" | |||||
| resources: | |||||
| requests: | |||||
| storage: 1Gi | |||||
| @ -0,0 +1,14 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolumeClaim | |||||
| metadata: | |||||
| name: pgadmin-pv-claim | |||||
| namespace: postgres | |||||
| labels: | |||||
| app: postgres | |||||
| spec: | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| storageClassName: "" | |||||
| resources: | |||||
| requests: | |||||
| storage: 3Gi | |||||
| @ -1,13 +1,12 @@ | |||||
| # Create ConfigMap postgres-secret for the postgres app | |||||
| # Define default database name, user, and password | |||||
| apiVersion: v1 | apiVersion: v1 | ||||
| kind: ConfigMap | kind: ConfigMap | ||||
| metadata: | metadata: | ||||
| name: postgres-secret | |||||
| name: postgres-config | |||||
| namespace: postgres | namespace: postgres | ||||
| labels: | labels: | ||||
| app: postgres | app: postgres | ||||
| data: | data: | ||||
| POSTGRES_DB: productos | |||||
| POSTGRES_USER: creylopez | |||||
| POSTGRES_DB: postgresdb | |||||
| POSTGRES_USER: postgres | |||||
| POSTGRES_PASSWORD: Rey-1176 | POSTGRES_PASSWORD: Rey-1176 | ||||
| @ -0,0 +1 @@ | |||||
| kubectl patch pv pgadmin-data -p '{"metadata":{"finalizers":null}}' | |||||
| @ -1,4 +1,4 @@ | |||||
| kubectl create -f pv-local-mysql.yaml | kubectl create -f pv-local-mysql.yaml | ||||
| kubectl create -f pv-local-wordpress.yaml | kubectl create -f pv-local-wordpress.yaml | ||||
| kubectl create -k ./ | kubectl create -k ./ | ||||
| watch kubectl get all -n wordpress | |||||
| #watch kubectl get all -n wordpress | |||||
| @ -0,0 +1,7 @@ | |||||
| raiz=$PWD | |||||
| for i in Mediawiki Firefly/k8s-cluster Nginx Wordpress NextCloud | |||||
| do | |||||
| cd $i | |||||
| sh creaTodo.sh | |||||
| cd $raiz | |||||
| done | |||||