Compare commits
6 Commits
postgres-c
...
postgres-c
Author | SHA1 | Date | |
---|---|---|---|
e57f859564 | |||
e98973b467 | |||
cb5c199d03 | |||
df4bb2acd7 | |||
7f494fcc1e | |||
337aee6940 |
@@ -1,6 +1,6 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: postgres-cluster
|
name: postgres-cluster
|
||||||
version: 6.0.5
|
version: 6.1.1
|
||||||
description: Cloudnative-pg Cluster
|
description: Cloudnative-pg Cluster
|
||||||
keywords:
|
keywords:
|
||||||
- database
|
- database
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# postgres-cluster
|
# postgres-cluster
|
||||||
|
|
||||||
 
|
 
|
||||||
|
|
||||||
Cloudnative-pg Cluster
|
Cloudnative-pg Cluster
|
||||||
|
|
||||||
@@ -19,19 +19,19 @@ Cloudnative-pg Cluster
|
|||||||
|
|
||||||
| Key | Type | Default | Description |
|
| Key | Type | Default | Description |
|
||||||
|-----|------|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
| backup | object | `{"enabled":false,"method":"objectStore","objectStore":[{"clusterName":"","data":{"compression":"snappy","encryption":"","jobs":1},"destinationPath":"","endpointCA":{"create":false,"key":"","name":""},"endpointCredentials":"","endpointURL":"","index":1,"isWALArchiver":true,"name":"external","retentionPolicy":"30d","wal":{"compression":"snappy","encryption":"","maxParallel":1}}],"scheduledBackups":[{"backupName":"external","backupOwnerReference":"self","name":"daily-backup","plugin":"barman-cloud.cloudnative-pg.io","schedule":"0 0 */3 * *","suspend":false}]}` | Backup settings |
|
| backup | object | `{"enabled":true,"method":"objectStore","objectStore":[{"clusterName":"","data":{"compression":"snappy","encryption":"","jobs":1},"destinationPath":"s3://postgres-backups","endpointCA":{"create":false,"key":"","name":""},"endpointCredentials":"","endpointURL":"https://nyc3.digitaloceanspaces.com","index":1,"isWALArchiver":true,"name":"external","retentionPolicy":"30d","wal":{"compression":"snappy","encryption":"","maxParallel":1}}],"scheduledBackups":[{"backupName":"external","backupOwnerReference":"self","name":"daily-backup","plugin":"barman-cloud.cloudnative-pg.io","schedule":"0 0 */3 * *","suspend":false}]}` | Backup settings |
|
||||||
| backup.enabled | bool | `false` | You need to configure backups manually, so backups are disabled by default. |
|
| backup.enabled | bool | `true` | You need to configure backups manually, so backups are disabled by default. |
|
||||||
| backup.method | string | `"objectStore"` | Method to create backups, options currently are only objectStore |
|
| backup.method | string | `"objectStore"` | Method to create backups, options currently are only objectStore |
|
||||||
| backup.objectStore | list | `[{"clusterName":"","data":{"compression":"snappy","encryption":"","jobs":1},"destinationPath":"","endpointCA":{"create":false,"key":"","name":""},"endpointCredentials":"","endpointURL":"","index":1,"isWALArchiver":true,"name":"external","retentionPolicy":"30d","wal":{"compression":"snappy","encryption":"","maxParallel":1}}]` | Options for object store backups |
|
| backup.objectStore | list | `[{"clusterName":"","data":{"compression":"snappy","encryption":"","jobs":1},"destinationPath":"s3://postgres-backups","endpointCA":{"create":false,"key":"","name":""},"endpointCredentials":"","endpointURL":"https://nyc3.digitaloceanspaces.com","index":1,"isWALArchiver":true,"name":"external","retentionPolicy":"30d","wal":{"compression":"snappy","encryption":"","maxParallel":1}}]` | Options for object store backups |
|
||||||
| backup.objectStore[0].clusterName | string | `""` | Override the name of the backup cluster, defaults to "cluster.name" |
|
| backup.objectStore[0].clusterName | string | `""` | Override the name of the backup cluster, defaults to "cluster.name" |
|
||||||
| backup.objectStore[0].data.compression | string | `"snappy"` | Data compression method. One of `` (for no compression), `gzip`, `bzip2` or `snappy`. |
|
| backup.objectStore[0].data.compression | string | `"snappy"` | Data compression method. One of `` (for no compression), `gzip`, `bzip2` or `snappy`. |
|
||||||
| backup.objectStore[0].data.encryption | string | `""` | Whether to instruct the storage provider to encrypt data files. One of `` (use the storage container default), `AES256` or `aws:kms`. |
|
| backup.objectStore[0].data.encryption | string | `""` | Whether to instruct the storage provider to encrypt data files. One of `` (use the storage container default), `AES256` or `aws:kms`. |
|
||||||
| backup.objectStore[0].data.jobs | int | `1` | Number of data files to be archived or restored in parallel. |
|
| backup.objectStore[0].data.jobs | int | `1` | Number of data files to be archived or restored in parallel. |
|
||||||
| backup.objectStore[0].destinationPath | string | `""` | Overrides the provider specific default path. Defaults to: S3: s3://<bucket><path> Azure: https://<storageAccount>.<serviceName>.core.windows.net/<containerName><path> Google: gs://<bucket><path> |
|
| backup.objectStore[0].destinationPath | string | `"s3://postgres-backups"` | Overrides the provider specific default path. Defaults to: S3: s3://<bucket><path> Azure: https://<storageAccount>.<serviceName>.core.windows.net/<containerName><path> Google: gs://<bucket><path> |
|
||||||
| backup.objectStore[0].endpointCA | object | `{"create":false,"key":"","name":""}` | Specifies a CA bundle to validate a privately signed certificate. |
|
| backup.objectStore[0].endpointCA | object | `{"create":false,"key":"","name":""}` | Specifies a CA bundle to validate a privately signed certificate. |
|
||||||
| backup.objectStore[0].endpointCA.create | bool | `false` | Creates a secret with the given value if true, otherwise uses an existing secret. |
|
| backup.objectStore[0].endpointCA.create | bool | `false` | Creates a secret with the given value if true, otherwise uses an existing secret. |
|
||||||
| backup.objectStore[0].endpointCredentials | string | `""` | Specifies secret that contains S3 credentials, should contain the keys ACCESS_KEY_ID and ACCESS_SECRET_KEY |
|
| backup.objectStore[0].endpointCredentials | string | `""` | Specifies secret that contains S3 credentials, should contain the keys ACCESS_KEY_ID and ACCESS_SECRET_KEY |
|
||||||
| backup.objectStore[0].endpointURL | string | `""` | Overrides the provider specific default endpoint. Defaults to: S3: https://s3.<region>.amazonaws.com" |
|
| backup.objectStore[0].endpointURL | string | `"https://nyc3.digitaloceanspaces.com"` | Overrides the provider specific default endpoint. Defaults to: S3: https://s3.<region>.amazonaws.com" |
|
||||||
| backup.objectStore[0].index | int | `1` | Generate external cluster name, uses: {{ .Release.Name }}-postgresql-<major version>-backup-index-{{ index }} |
|
| backup.objectStore[0].index | int | `1` | Generate external cluster name, uses: {{ .Release.Name }}-postgresql-<major version>-backup-index-{{ index }} |
|
||||||
| backup.objectStore[0].isWALArchiver | bool | `true` | Specificies if this backup will do WALs |
|
| backup.objectStore[0].isWALArchiver | bool | `true` | Specificies if this backup will do WALs |
|
||||||
| backup.objectStore[0].name | string | `"external"` | Object store backup name |
|
| backup.objectStore[0].name | string | `"external"` | Object store backup name |
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
Expand the name of the chart.
|
Expand the name of the chart.
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "cluster.name" -}}
|
{{- define "cluster.name" -}}
|
||||||
{{- if not (empty .Values.nameOverride ) }}
|
{{- if .Values.nameOverride }}
|
||||||
{{- .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
{{- .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
{{- printf "%s-postgresql-%s" .Release.Name ((semver .Values.cluster.image.tag).Major | toString) | trunc 63 | trimSuffix "-" -}}
|
{{- printf "%s-postgresql-%s" .Release.Name ((semver .Values.cluster.image.tag).Major | toString) | trunc 63 | trimSuffix "-" -}}
|
||||||
|
@@ -26,9 +26,9 @@ spec:
|
|||||||
{{ $context := . -}}
|
{{ $context := . -}}
|
||||||
{{ range .Values.backup.objectStore -}}
|
{{ range .Values.backup.objectStore -}}
|
||||||
- name: barman-cloud.cloudnative-pg.io
|
- name: barman-cloud.cloudnative-pg.io
|
||||||
isWALArchiver: {{ $context.isWALArchiver }}
|
isWALArchiver: {{ .isWALArchiver }}
|
||||||
parameters:
|
parameters:
|
||||||
barmanObjectName: "{{ include "cluster.name" . }}-{{ $context.name }}-backup"
|
barmanObjectName: "{{ include "cluster.name" $context }}-{{ .name }}-backup"
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if eq .Values.recovery.method "objectStore" }}
|
{{ if eq .Values.recovery.method "objectStore" }}
|
||||||
|
@@ -5,48 +5,48 @@
|
|||||||
apiVersion: barmancloud.cnpg.io/v1
|
apiVersion: barmancloud.cnpg.io/v1
|
||||||
kind: ObjectStore
|
kind: ObjectStore
|
||||||
metadata:
|
metadata:
|
||||||
name: "{{ include "cluster.name" $context }}-{{ $context.name }}-backup"
|
name: "{{ include "cluster.name" $context }}-{{ .name }}-backup"
|
||||||
namespace: {{ include "cluster.namespace" $context }}
|
namespace: {{ include "cluster.namespace" $context }}
|
||||||
labels:
|
labels:
|
||||||
{{- include "cluster.labels" $context | nindent 4 }}
|
{{- include "cluster.labels" $context | nindent 4 }}
|
||||||
spec:
|
spec:
|
||||||
retentionPolicy: {{ $context.retentionPolicy }}
|
retentionPolicy: {{ .retentionPolicy }}
|
||||||
configuration:
|
configuration:
|
||||||
destinationPath: {{ $context.destinationPath }}
|
destinationPath: {{ .destinationPath }}
|
||||||
endpointURL: {{ $context.endpointURL }}
|
endpointURL: {{ .endpointURL }}
|
||||||
{{- if not (empty $context.endpointCA.name) }}
|
{{ if .endpointCA.name }}
|
||||||
endpointCA:
|
endpointCA:
|
||||||
name: {{ $context.endpointCA.name }}
|
name: {{ .endpointCA.name }}
|
||||||
key: {{ $context.endpointCA.key }}
|
key: {{ .endpointCA.key }}
|
||||||
{{- end }}
|
{{ end }}
|
||||||
{{- if not (empty $context.clusterName) }}
|
{{- if .clusterName }}
|
||||||
serverName: "{{ $context.clusterName }}-backup-{{ $context.index }}"
|
serverName: "{{ .clusterName }}-backup-{{ .index }}"
|
||||||
{{- else }}
|
{{- else }}
|
||||||
serverName: "{{ include "cluster.name" $context }}-backup-{{ $context.index }}"
|
serverName: "{{ include "cluster.name" $context }}-backup-{{ .index }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
wal:
|
wal:
|
||||||
compression: {{ $context.wal.compression }}
|
compression: {{ .wal.compression }}
|
||||||
{{- with $context.wal.encryption}}
|
{{- with .wal.encryption}}
|
||||||
encryption: {{ . }}
|
encryption: {{ . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
maxParallel: {{ $context.wal.maxParallel }}
|
maxParallel: {{ .wal.maxParallel }}
|
||||||
data:
|
data:
|
||||||
compression: {{ $context.data.compression }}
|
compression: {{ .data.compression }}
|
||||||
{{- with $context.data.encryption }}
|
{{- with .data.encryption }}
|
||||||
encryption: {{ . }}
|
encryption: {{ . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
jobs: {{ $context.data.jobs }}
|
jobs: {{ .data.jobs }}
|
||||||
s3Credentials:
|
s3Credentials:
|
||||||
accessKeyId:
|
accessKeyId:
|
||||||
{{- if not (empty $context.endpointCredentials) }}
|
{{- if not (empty .endpointCredentials) }}
|
||||||
name: {{ $context.endpointCredentials }}
|
name: {{ .endpointCredentials }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
name: {{- printf "%s-backup-secret" (include "cluster.name" $context) | trunc 63 | trimSuffix "-" -}}
|
name: {{- printf "%s-backup-secret" (include "cluster.name" $context) | trunc 63 | trimSuffix "-" -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
key: ACCESS_KEY_ID
|
key: ACCESS_KEY_ID
|
||||||
secretAccessKey:
|
secretAccessKey:
|
||||||
{{- if not (empty $context.endpointCredentials) }}
|
{{- if .endpointCredentials }}
|
||||||
name: {{ $context.endpointCredentials }}
|
name: {{ .endpointCredentials }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
name: {{- printf "%s-backup-secret" (include "cluster.name" $context) | trunc 63 | trimSuffix "-" -}}
|
name: {{- printf "%s-backup-secret" (include "cluster.name" $context) | trunc 63 | trimSuffix "-" -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -67,7 +67,7 @@ spec:
|
|||||||
configuration:
|
configuration:
|
||||||
destinationPath: {{ .Values.recovery.objectStore.destinationPath }}
|
destinationPath: {{ .Values.recovery.objectStore.destinationPath }}
|
||||||
endpointURL: {{ .Values.recovery.objectStore.endpointURL }}
|
endpointURL: {{ .Values.recovery.objectStore.endpointURL }}
|
||||||
{{- if not (empty .Values.recovery.objectStore.endpointCA.name) }}
|
{{- if .Values.recovery.objectStore.endpointCA.name }}
|
||||||
endpointCA:
|
endpointCA:
|
||||||
name: {{ .Values.recovery.objectStore.endpointCA.name }}
|
name: {{ .Values.recovery.objectStore.endpointCA.name }}
|
||||||
key: {{ .Values.recovery.objectStore.endpointCA.key }}
|
key: {{ .Values.recovery.objectStore.endpointCA.key }}
|
||||||
|
@@ -5,21 +5,21 @@
|
|||||||
apiVersion: postgresql.cnpg.io/v1
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
kind: ScheduledBackup
|
kind: ScheduledBackup
|
||||||
metadata:
|
metadata:
|
||||||
name: "{{ include "cluster.name" $context }}-{{ $context.name }}-scheduled-backup"
|
name: "{{ include "cluster.name" $context }}-{{ .name }}-scheduled-backup"
|
||||||
namespace: {{ include "cluster.namespace" $context }}
|
namespace: {{ include "cluster.namespace" $context }}
|
||||||
labels:
|
labels:
|
||||||
{{- include "cluster.labels" $context | nindent 4 }}
|
{{- include "cluster.labels" $context | nindent 4 }}
|
||||||
spec:
|
spec:
|
||||||
immediate: true
|
immediate: true
|
||||||
suspend: {{ $context.suspend }}
|
suspend: {{ .suspend }}
|
||||||
schedule: {{ $context.schedule | quote }}
|
schedule: {{ .schedule | quote }}
|
||||||
backupOwnerReference: {{ $context.backupOwnerReference }}
|
backupOwnerReference: {{ .backupOwnerReference }}
|
||||||
cluster:
|
cluster:
|
||||||
name: {{ include "cluster.name" $context }}-cluster
|
name: {{ include "cluster.name" $context }}-cluster
|
||||||
method: plugin
|
method: plugin
|
||||||
pluginConfiguration:
|
pluginConfiguration:
|
||||||
name: {{ $context.plugin }}
|
name: {{ .plugin }}
|
||||||
parameters:
|
parameters:
|
||||||
barmanObjectName: "{{ include "cluster.name" $context }}-{{ $context.backupName }}-backup"
|
barmanObjectName: "{{ include "cluster.name" $context }}-{{ .backupName }}-backup"
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@@ -275,9 +275,9 @@ recovery:
|
|||||||
|
|
||||||
# -- Specifies a CA bundle to validate a privately signed certificate.
|
# -- Specifies a CA bundle to validate a privately signed certificate.
|
||||||
endpointCA:
|
endpointCA:
|
||||||
|
|
||||||
# -- Creates a secret with the given value if true, otherwise uses an existing secret.
|
# -- Creates a secret with the given value if true, otherwise uses an existing secret.
|
||||||
create: false
|
create: false
|
||||||
|
|
||||||
name: ""
|
name: ""
|
||||||
key: ""
|
key: ""
|
||||||
|
|
||||||
@@ -418,7 +418,7 @@ recovery:
|
|||||||
backup:
|
backup:
|
||||||
|
|
||||||
# -- You need to configure backups manually, so backups are disabled by default.
|
# -- You need to configure backups manually, so backups are disabled by default.
|
||||||
enabled: false
|
enabled: true
|
||||||
|
|
||||||
# -- Method to create backups, options currently are only objectStore
|
# -- Method to create backups, options currently are only objectStore
|
||||||
method: objectStore
|
method: objectStore
|
||||||
@@ -433,16 +433,17 @@ backup:
|
|||||||
# S3: s3://<bucket><path>
|
# S3: s3://<bucket><path>
|
||||||
# Azure: https://<storageAccount>.<serviceName>.core.windows.net/<containerName><path>
|
# Azure: https://<storageAccount>.<serviceName>.core.windows.net/<containerName><path>
|
||||||
# Google: gs://<bucket><path>
|
# Google: gs://<bucket><path>
|
||||||
destinationPath: ""
|
destinationPath: s3://postgres-backups
|
||||||
|
|
||||||
# -- Overrides the provider specific default endpoint. Defaults to:
|
# -- Overrides the provider specific default endpoint. Defaults to:
|
||||||
# S3: https://s3.<region>.amazonaws.com"
|
# S3: https://s3.<region>.amazonaws.com"
|
||||||
endpointURL: "" # Leave empty if using the default S3 endpoint
|
endpointURL: https://nyc3.digitaloceanspaces.com
|
||||||
|
|
||||||
# -- Specifies a CA bundle to validate a privately signed certificate.
|
# -- Specifies a CA bundle to validate a privately signed certificate.
|
||||||
endpointCA:
|
endpointCA:
|
||||||
# -- Creates a secret with the given value if true, otherwise uses an existing secret.
|
# -- Creates a secret with the given value if true, otherwise uses an existing secret.
|
||||||
create: false
|
create: false
|
||||||
|
|
||||||
name: ""
|
name: ""
|
||||||
key: ""
|
key: ""
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user