| @ -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 | |||
| @ -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 | |||
| @ -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 | |||
| @ -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 | |||
| @ -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 | |||
| @ -0,0 +1,3 @@ | |||
| kubectl delete -k ./ | |||
| kubectl delete -f pv-local-mysql-gogs.yaml | |||
| kubectl delete namespace gogs | |||
| @ -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 | |||
| @ -0,0 +1,11 @@ | |||
| apiVersion: v1 | |||
| kind: PersistentVolume | |||
| metadata: | |||
| name: gogs-data | |||
| spec: | |||
| capacity: | |||
| storage: 20Gi | |||
| accessModes: | |||
| - ReadWriteOnce | |||
| hostPath: | |||
| path: "/mnt/cluster/gogs" | |||