add ghgost
This commit is contained in:
		
							
								
								
									
										30
									
								
								clusters/cl01tl/applications/ghost/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								clusters/cl01tl/applications/ghost/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| apiVersion: v2 | ||||
| name: ghost | ||||
| version: 1.0.0 | ||||
| description: Ghost | ||||
| keywords: | ||||
|   - ghost | ||||
|   - cms | ||||
|   - blog | ||||
| home: https://wiki.alexlebens.dev/doc/ghost-seATqp9RfU | ||||
| sources: | ||||
|   - https://github.com/TryGhost/Ghost | ||||
|   - https://github.com/cloudflare/cloudflared | ||||
|   - https://github.com/percona/percona-xtradb-cluster-operator | ||||
|   - https://hub.docker.com/r/bitnami/ghost | ||||
|   - https://github.com/bitnami/charts/tree/main/bitnami/ghost | ||||
|   - https://github.com/alexlebens/helm-charts/tree/main/charts/cloudflared | ||||
|   - https://github.com/percona/percona-helm-charts/tree/main/charts/pxc-db | ||||
| dependencies: | ||||
|   - name: ghost | ||||
|     repository: oci://registry-1.docker.io/bitnamicharts | ||||
|     version: 21.1.15 | ||||
|   - name: cloudflared | ||||
|     alias: cloudflared | ||||
|     repository: http://alexlebens.github.io/helm-charts | ||||
|     version: 1.4.0 | ||||
|   - name: pxc-db | ||||
|     version: 1.14.3 | ||||
|     repository: https://percona.github.io/percona-helm-charts | ||||
| icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/ghost.png | ||||
| appVersion: 5.86.2 | ||||
| @@ -0,0 +1,168 @@ | ||||
| apiVersion: external-secrets.io/v1beta1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: ghost-credentials-secret | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: ghost-credentials-secret | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: web | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: ghost-password | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/ghost/config/credentials | ||||
|         metadataPolicy: None | ||||
|         property: ghost-password | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1beta1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: ghost-cloudflared-secret | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: ghost-cloudflared-secret | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: web | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: cf-tunnel-token | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cloudflare/tunnels/ghost | ||||
|         metadataPolicy: None | ||||
|         property: token | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1beta1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: ghost-mysql-credentials-secret | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: ghost-mysql-credentials-secret | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: web | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: root | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/ghost/mysql/credentials | ||||
|         metadataPolicy: None | ||||
|         property: root | ||||
|     - secretKey: xtrabackup | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/ghost/mysql/credentials | ||||
|         metadataPolicy: None | ||||
|         property: xtrabackup | ||||
|     - secretKey: monitor | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/ghost/mysql/credentials | ||||
|         metadataPolicy: None | ||||
|         property: monitor | ||||
|     - secretKey: clustercheck | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/ghost/mysql/credentials | ||||
|         metadataPolicy: None | ||||
|         property: clustercheck | ||||
|     - secretKey: proxyadmin | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/ghost/mysql/credentials | ||||
|         metadataPolicy: None | ||||
|         property: proxyadmin | ||||
|     - secretKey: pmmserverkey | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/ghost/mysql/credentials | ||||
|         metadataPolicy: None | ||||
|         property: pmmserverkey | ||||
|     - secretKey: pmmserver | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/ghost/mysql/credentials | ||||
|         metadataPolicy: None | ||||
|         property: pmmserver | ||||
|     - secretKey: operator | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/ghost/mysql/credentials | ||||
|         metadataPolicy: None | ||||
|         property: operator | ||||
|     - secretKey: replication | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/ghost/mysql/credentials | ||||
|         metadataPolicy: None | ||||
|         property: replication | ||||
|     - secretKey: ghost-password | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/ghost/mysql/credentials | ||||
|         metadataPolicy: None | ||||
|         property: ghost-password | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1beta1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: ghost-mysql-backup-credentials-secret | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: ghost-mysql-backup-credentials-secret | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: web | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: AWS_ACCESS_KEY_ID | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /aws/keys/cl01tl-ghost-mysql | ||||
|         metadataPolicy: None | ||||
|         property: access_key | ||||
|     - secretKey: AWS_SECRET_ACCESS_KEY | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /aws/keys/cl01tl-ghost-mysql | ||||
|         metadataPolicy: None | ||||
|         property: secret_key | ||||
							
								
								
									
										134
									
								
								clusters/cl01tl/applications/ghost/values.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										134
									
								
								clusters/cl01tl/applications/ghost/values.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,134 @@ | ||||
| ghost: | ||||
|   updateStrategy: | ||||
|     type: Recreate | ||||
|   ghostUsername: user | ||||
|   existingSecret: ghost-credentials-secret | ||||
|   ghostEmail: alexanderlebens@gmail.com | ||||
|   ghostBlogTitle: Alex Lebens | ||||
|   ghostHost: blog.alexlebens.dev | ||||
|   ghostPath: / | ||||
|   ghostSkipInstall: false | ||||
|   replicaCount: 1 | ||||
|   resourcesPreset: small | ||||
|   service: | ||||
|     type: ClusterIP | ||||
|   persistence: | ||||
|     enabled: true | ||||
|     storageClass: ceph-block | ||||
|     accessModes: | ||||
|       - ReadWriteOnce | ||||
|     size: 10Gi | ||||
|   mysql: | ||||
|     enabled: false | ||||
|   externalDatabase: | ||||
|     host: ghost-mysql-8-cluster.ghost.svc.cluster.local | ||||
|     port: 3306 | ||||
|     user: ghost | ||||
|     database: ghost | ||||
|     existingSecret: ghost-mysql-credentials-secret | ||||
| cloudflared: | ||||
|   existingSecretName: ghost-cloudflared-secret | ||||
| pxc-db: | ||||
|   updateStrategy: SmartUpdate | ||||
|   upgradeOptions: | ||||
|     versionServiceEndpoint: https://check.percona.com | ||||
|     apply: disabled | ||||
|     schedule: "0 4 * * *" | ||||
|   pxc: | ||||
|     size: 3 | ||||
|     image: | ||||
|       repository: percona/percona-xtradb-cluster | ||||
|       tag: 8.0.36-28.1 | ||||
|     autoRecovery: true | ||||
|     expose: | ||||
|       enabled: false | ||||
|     resources: | ||||
|       requests: | ||||
|         memory: 512Mi | ||||
|         cpu: 100m | ||||
|     persistence: | ||||
|       enabled: true | ||||
|       storageClass: local-path | ||||
|       accessMode: ReadWriteOnce | ||||
|       size: 10Gi | ||||
|     disableTLS: false | ||||
|     certManager: true | ||||
|     clusterSecretName: ghost-mysql-credentials-secret | ||||
|   haproxy: | ||||
|     enabled: true | ||||
|     size: 3 | ||||
|     resources: | ||||
|       requests: | ||||
|         memory: 256Mi | ||||
|         cpu: 100m | ||||
|     exposePrimary: | ||||
|       enabled: true | ||||
|       type: ClusterIP | ||||
|       externalTrafficPolicy: Cluster | ||||
|       internalTrafficPolicy: Cluster | ||||
|     exposeReplicas: | ||||
|       enabled: false | ||||
|   logcollector: | ||||
|     enabled: true | ||||
|     resources: | ||||
|       requests: | ||||
|         memory: 128M | ||||
|         cpu: 100m | ||||
|   backup: | ||||
|     enabled: true | ||||
|     allowParallel: true | ||||
|     image: | ||||
|       repository: percona/percona-xtradb-cluster-operator | ||||
|       tag: 1.14.0-pxc8.0-backup-pxb8.0.35 | ||||
|     pitr: | ||||
|       enabled: true | ||||
|       storageName: s3-binlogs | ||||
|       timeBetweenUploads: 600 | ||||
|       timeoutSeconds: 60 | ||||
|       resources: | ||||
|         requests: | ||||
|           memory: 256Mi | ||||
|           cpu: 100m | ||||
|     storages: | ||||
|       s3-binlogs: | ||||
|         type: s3 | ||||
|         resources: | ||||
|           requests: | ||||
|             memory: 256Mi | ||||
|             cpu: 100m | ||||
|         s3: | ||||
|           bucket: cl01tl-mysql-backups/ghost/binlogs | ||||
|           credentialsSecret: ghost-mysql-backup-credentials-secret | ||||
|           region: us-east-2 | ||||
|           endpointUrl: https://s3.us-east-2.amazonaws.com  | ||||
|       s3-daily: | ||||
|         type: s3 | ||||
|         resources: | ||||
|           requests: | ||||
|             memory: 256Mi | ||||
|             cpu: 100m | ||||
|         s3: | ||||
|           bucket: cl01tl-mysql-backups/ghost/daily | ||||
|           credentialsSecret: ghost-mysql-backup-credentials-secret | ||||
|           region: us-east-2 | ||||
|           endpointUrl: https://s3.us-east-2.amazonaws.com | ||||
|       s3-weekly: | ||||
|         type: s3 | ||||
|         resources: | ||||
|           requests: | ||||
|             memory: 256Mi | ||||
|             cpu: 100m         | ||||
|         s3: | ||||
|           bucket: cl01tl-mysql-backups/ghost/weekly | ||||
|           credentialsSecret: ghost-mysql-backup-credentials-secret | ||||
|           region: us-east-2 | ||||
|           endpointUrl: https://s3.us-east-2.amazonaws.com | ||||
|     schedule: | ||||
|       - name: daily-backup | ||||
|         schedule: "0 0 * * *" | ||||
|         keep: 5 | ||||
|         storageName: s3-daily | ||||
|       - name: weekly-backup | ||||
|         schedule: "0 0 * * 6" | ||||
|         keep: 4 | ||||
|         storageName: s3-weekly | ||||
		Reference in New Issue
	
	Block a user