forked from k-space/kube
		
	Add Crunchydata PGO
This commit is contained in:
		
							
								
								
									
										8
									
								
								postgres-clusters/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								postgres-clusters/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| # Postgres clusters | ||||
|  | ||||
| This is namespace for Postgres clusters managed by operator-bundle | ||||
|  | ||||
| ``` | ||||
| kubectl create namespace postgres-clusters | ||||
| kubectl apply -n postgres-clusters -f application.yaml | ||||
| ``` | ||||
							
								
								
									
										102
									
								
								postgres-clusters/application.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								postgres-clusters/application.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,102 @@ | ||||
| --- | ||||
| apiVersion: codemowers.io/v1alpha1 | ||||
| kind: ClusterPostgresDatabaseClass | ||||
| metadata: | ||||
|   name: dedicated | ||||
| spec: | ||||
|   targetNamespace: postgres-clusters | ||||
|   description: "Dedicated Postgres cluster" | ||||
|   replicas: 3 | ||||
|   routers: 2 | ||||
|   storageClass: postgres | ||||
|   podSpec: | ||||
|     nodeSelector: | ||||
|       dedicated: storage | ||||
|     tolerations: | ||||
|       - effect: NoSchedule | ||||
|         key: dedicated | ||||
|         operator: Equal | ||||
|         value: storage | ||||
| --- | ||||
| apiVersion: codemowers.io/v1alpha1 | ||||
| kind: ClusterPostgresDatabaseClass | ||||
| metadata: | ||||
|   name: shared | ||||
| spec: | ||||
|   targetCluster: shared | ||||
|   targetNamespace: postgres-clusters | ||||
|   description: "Shared Postgres cluster" | ||||
|   replicas: 3 | ||||
|   routers: 2 | ||||
|   storageClass: postgres | ||||
|   podSpec: | ||||
|     nodeSelector: | ||||
|       dedicated: storage | ||||
|     tolerations: | ||||
|       - effect: NoSchedule | ||||
|         key: dedicated | ||||
|         operator: Equal | ||||
|         value: storage | ||||
| --- | ||||
| apiVersion: apps/v1 | ||||
| kind: Deployment | ||||
| metadata: | ||||
|   name: pgweb | ||||
|   namespace: postgres-clusters | ||||
| spec: | ||||
|   replicas: 1 | ||||
|   selector: | ||||
|     matchLabels: &selector | ||||
|       app: pgweb | ||||
|   template: | ||||
|     metadata: | ||||
|       labels: *selector | ||||
|     spec: | ||||
|       containers: | ||||
|         - name: pgweb | ||||
|           image: sosedoff/pgweb | ||||
|           command: | ||||
|             - /usr/bin/pgweb | ||||
|             - --bind=0.0.0.0 | ||||
|             - --sessions | ||||
|             - --no-ssh | ||||
| --- | ||||
| apiVersion: v1 | ||||
| kind: Service | ||||
| metadata: | ||||
|   name: pgweb | ||||
|   namespace: postgres-clusters | ||||
| spec: | ||||
|   selector: | ||||
|     app: pgweb | ||||
|   ports: | ||||
|     - protocol: TCP | ||||
|       port: 8081 | ||||
|       targetPort: 8081 | ||||
| --- | ||||
| apiVersion: networking.k8s.io/v1 | ||||
| kind: Ingress | ||||
| metadata: | ||||
|   name: pgweb | ||||
|   namespace: postgres-clusters | ||||
|   annotations: | ||||
|     kubernetes.io/ingress.class: traefik | ||||
|     traefik.ingress.kubernetes.io/router.entrypoints: websecure | ||||
|     traefik.ingress.kubernetes.io/router.tls: "true" | ||||
|     external-dns.alpha.kubernetes.io/target: traefik.k-space.ee | ||||
|     traefik.ingress.kubernetes.io/router.middlewares: traefik-sso@kubernetescrd | ||||
| spec: | ||||
|   rules: | ||||
|     - host: pgweb.k-space.ee | ||||
|       http: | ||||
|         paths: | ||||
|           - pathType: Prefix | ||||
|             path: "/" | ||||
|             backend: | ||||
|               service: | ||||
|                 name: pgweb | ||||
|                 port: | ||||
|                   number: 8081 | ||||
|   tls: | ||||
|     - hosts: | ||||
|         - "*.k-space.ee" | ||||
							
								
								
									
										1
									
								
								postgres-operator/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								postgres-operator/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| postgres-operator-examples | ||||
							
								
								
									
										8
									
								
								postgres-operator/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								postgres-operator/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| # Postgres operator | ||||
|  | ||||
| ``` | ||||
| git clone https://github.com/CrunchyData/postgres-operator-examples | ||||
| helm template -n postgres-operator postgres-operator-examples/helm/install --include-crds --set debug=false > application.yml | ||||
| kubectl create namespace postgres-operator | ||||
| kubectl apply -n postgres-operator --server-side -f application.yml | ||||
| ``` | ||||
							
								
								
									
										13720
									
								
								postgres-operator/application.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13720
									
								
								postgres-operator/application.yml
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,67 +0,0 @@ | ||||
| apiVersion: apps/v1 | ||||
| kind: Deployment | ||||
| metadata: | ||||
|   name: pgweb | ||||
| spec: | ||||
|   replicas: 3 | ||||
|   selector: | ||||
|     matchLabels: | ||||
|       app: pgweb | ||||
|   template: | ||||
|     metadata: | ||||
|       labels: | ||||
|         app: pgweb | ||||
|     spec: | ||||
|       containers: | ||||
|         - name: pgweb | ||||
|           image: sosedoff/pgweb | ||||
|           env: | ||||
|             - name: PMA_PORT | ||||
|               value: "3306" | ||||
|             - name: PMA_HOSTS | ||||
|               value: mariadb,mariadb.etherpad.svc.cluster.local | ||||
|             - name: MYSQL_ROOT_PASSWORD | ||||
|               value: password | ||||
| --- | ||||
| apiVersion: v1 | ||||
| kind: Service | ||||
| metadata: | ||||
|   name: pgweb | ||||
|   annotations: | ||||
|     prometheus.io/scrape: 'true' | ||||
| spec: | ||||
|   selector: | ||||
|     app: pgweb | ||||
|   ports: | ||||
|   - protocol: TCP | ||||
|     port: 8081 | ||||
|     targetPort: 8081 | ||||
| --- | ||||
| apiVersion: networking.k8s.io/v1 | ||||
| kind: Ingress | ||||
| metadata: | ||||
|   name: pgweb | ||||
|   annotations: | ||||
|     kubernetes.io/ingress.class: traefik | ||||
|     cert-manager.io/cluster-issuer: default | ||||
|     traefik.ingress.kubernetes.io/router.entrypoints: websecure | ||||
|     traefik.ingress.kubernetes.io/router.middlewares: authelia-chain-k6-authelia-auth@kubernetescrd | ||||
|     traefik.ingress.kubernetes.io/router.tls: "true" | ||||
|     external-dns.alpha.kubernetes.io/target: traefik.k-space.ee | ||||
| spec: | ||||
|   rules: | ||||
|   - host: postgres.k-space.ee | ||||
|     http: | ||||
|       paths: | ||||
|       - pathType: Prefix | ||||
|         path: "/" | ||||
|         backend: | ||||
|           service: | ||||
|             name: pgweb | ||||
|             port: | ||||
|               number: 8081 | ||||
|   tls: | ||||
|   - hosts: | ||||
|     - postgres.k-space.ee | ||||
|     secretName: postgres-tls | ||||
|  | ||||
| @@ -1,86 +0,0 @@ | ||||
| --- | ||||
| apiVersion: apps/v1 | ||||
| kind: StatefulSet | ||||
| metadata: | ||||
|   name: postgres | ||||
| spec: | ||||
|   serviceName: postgres | ||||
|   selector: | ||||
|     matchLabels: | ||||
|       app: postgres | ||||
|   replicas: 1 | ||||
|   template: | ||||
|     metadata: | ||||
|       labels: | ||||
|         app: postgres | ||||
|     spec: | ||||
|       containers: | ||||
|       - name: exporter | ||||
|         image: prometheuscommunity/postgres-exporter:latest | ||||
|         env: | ||||
|         - name: DATA_SOURCE_NAME | ||||
|           value: exporter@tcp(127.0.0.1)/ | ||||
|       - name: postgres | ||||
|         image: postgres:latest | ||||
|         securityContext: | ||||
|           readOnlyRootFilesystem: true | ||||
|           runAsNonRoot: true | ||||
|           runAsUser: 999 | ||||
|         env: | ||||
|         - name: POSTGRES_USER | ||||
|           valueFrom: | ||||
|             fieldRef: | ||||
|               fieldPath: metadata.namespace | ||||
|         - name: POSTGRES_DB | ||||
|           valueFrom: | ||||
|             fieldRef: | ||||
|               fieldPath: metadata.namespace | ||||
|         - name: POSTGRES_PASSWORD | ||||
|           valueFrom: | ||||
|             secretKeyRef: | ||||
|               name: postgres-secrets | ||||
|               key: POSTGRES_PASSWORD | ||||
|         volumeMounts: | ||||
|         - mountPath: /var/lib/postgresql | ||||
|           name: postgres-data | ||||
|         - mountPath: /var/run/postgresql | ||||
|           name: postgres-run | ||||
|       volumes: | ||||
|       - name: postgres-run | ||||
|         emptyDir: | ||||
|           medium: Memory | ||||
|           sizeLimit: 1Mi | ||||
|   volumeClaimTemplates: | ||||
|   - metadata: | ||||
|       name: postgres-data | ||||
|     spec: | ||||
|       storageClassName: longhorn | ||||
|       accessModes: | ||||
|         - ReadWriteOnce | ||||
|       resources: | ||||
|         requests: | ||||
|           storage: 2Gi | ||||
| --- | ||||
| apiVersion: v1 | ||||
| kind: Service | ||||
| metadata: | ||||
|   name: postgres | ||||
| spec: | ||||
|   ports: | ||||
|     - protocol: TCP | ||||
|       port: 5432 | ||||
|   selector: | ||||
|     app: postgres | ||||
| --- | ||||
| apiVersion: v1 | ||||
| kind: Service | ||||
| metadata: | ||||
|   name: postgres-exporter | ||||
|   annotations: | ||||
|     prometheus.io/scrape: 'true' | ||||
| spec: | ||||
|   ports: | ||||
|     - protocol: TCP | ||||
|       port: 9187 | ||||
|   selector: | ||||
|     app: exporter | ||||
		Reference in New Issue
	
	Block a user