Skip to content

Commit e35e719

Browse files
committed
Add coturn pgqsl and logical backup
Fix minor issues in helm chart
1 parent 2275453 commit e35e719

5 files changed

Lines changed: 274 additions & 49 deletions

File tree

argocd-helm-charts/netbird/templates/postgresql-logical-backup.yaml renamed to argocd-helm-charts/netbird/templates/postgresql-coturn-logical-backup.yaml

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
{{ if (.Values.postgresql.logicalbackup).enabled }}
1+
{{ if (.Values.externalDatabases.coturn.logicalbackup).enabled }}
22
---
33
apiVersion: batch/v1
44
kind: CronJob
55
metadata:
6-
name: postgres-logical-backup
6+
name: postgres-netbird-logical-backup
77
spec:
88
concurrencyPolicy: Forbid
99
failedJobsHistoryLimit: 1
10-
schedule: {{ (.Values.postgresql.logicalbackup).schedule | default "30 00 * * *" }}
10+
schedule: {{ (.Values.externalDatabases.coturn.logicalbackup).schedule | default "30 00 * * *" }}
1111
successfulJobsHistoryLimit: 3
1212
jobTemplate:
1313
spec:
@@ -24,66 +24,66 @@ spec:
2424
apiVersion: v1
2525
fieldPath: metadata.namespace
2626
- name: PGHOST
27-
value: {{ .Values.postgresql.host | default "netbird-pgsql-rw" }}
27+
value: {{ .Values.externalDatabases.coturn.host | default "netbird-pgsql-rw" }}
2828
- name: PGPASSWORD
2929
valueFrom:
3030
secretKeyRef:
31-
name: {{ .Values.postgresql.pass }}
31+
name: {{ .Values.externalDatabases.coturn.pass }}
3232
key: password
3333
- name: PGPORT
34-
value: "{{ .Values.postgresql.port | default 5432 }}"
34+
value: "{{ .Values.externalDatabases.coturn.port | default 5432 }}"
3535
- name: PGUSER
36-
value: {{ .Values.postgresql.user | default "netbird" }}
36+
value: {{ .Values.externalDatabases.coturn.user | default "netbird" }}
3737
- name: PGDATABASE
38-
value: {{ .Values.postgresql.db | default "netbird" }}
38+
value: {{ .Values.externalDatabases.coturn.db | default "netbird" }}
3939
- name: USE_PG_DUMP
40-
value: {{ (.Values.postgresql.logicalbackup).usePgDump | quote }}
40+
value: {{ (.Values.externalDatabases.coturn.logicalbackup).usePgDump | quote }}
4141
- name: CLUSTER_NAME_LABEL
42-
value: {{ (.Values.postgresql.logicalbackup).pgOperatorClusterName | default "netbird-pgsql" }}
42+
value: {{ (.Values.externalDatabases.coturn.logicalbackup).pgOperatorClusterName | default "netbird-pgsql" }}
4343

44-
{{- if eq .Values.postgresql.logicalbackup.provider "az" }}
44+
{{- if eq .Values.externalDatabases.coturn.logicalbackup.provider "az" }}
4545
- name: LOGICAL_BACKUP_PROVIDER
4646
value: "az"
4747
- name: LOGICAL_BACKUP_AZURE_STORAGE_ACCOUNT_NAME
48-
value: {{ (.Values.postgresql.logicalbackup).storeageaccount }}
48+
value: {{ (.Values.externalDatabases.coturn.logicalbackup).storeageaccount }}
4949
- name: LOGICAL_BACKUP_AZURE_STORAGE_CONTAINER
50-
value: {{ (.Values.postgresql.logicalbackup).azurecontainer }}
50+
value: {{ (.Values.externalDatabases.coturn.logicalbackup).azurecontainer }}
5151
- name: LOGICAL_BACKUP_AZURE_STORAGE_ACCOUNT_KEY
5252
valueFrom:
5353
secretKeyRef:
5454
key: LOGICAL_BACKUP_AZURE_STORAGE_ACCOUNT_KEY
5555
name: netbird-pgsql-postgres-pod-env
5656
- name: LOGICAL_BACKUP_S3_BUCKET
57-
value: {{ (.Values.postgresql.logicalbackup).azurecontainer }}
57+
value: {{ (.Values.externalDatabases.coturn.logicalbackup).azurecontainer }}
5858
- name: LOGICAL_BACKUP_S3_BUCKET_SCOPE_SUFFIX
59-
value: {{ (.Values.postgresql.logicalbackup).s3bucketscopesuffix | default "logicalbackup" }}
59+
value: {{ (.Values.externalDatabases.coturn.logicalbackup).s3bucketscopesuffix | default "logicalbackup" }}
6060

61-
{{- else if eq .Values.postgresql.logicalbackup.provider "s3" }}
61+
{{- else if eq .Values.externalDatabases.coturn.logicalbackup.provider "s3" }}
6262
- name: LOGICAL_BACKUP_PROVIDER
6363
value: "s3"
6464
- name: AWS_ACCESS_KEY_ID
65-
value: {{ (.Values.postgresql.logicalbackup).s3accesskeyid }}
65+
value: {{ (.Values.externalDatabases.coturn.logicalbackup).s3accesskeyid }}
6666
- name: AWS_SECRET_ACCESS_KEY
6767
valueFrom:
6868
secretKeyRef:
69-
name: {{ (.Values.postgresql.logicalbackup).s3accesssecretkey }}
69+
name: {{ (.Values.externalDatabases.coturn.logicalbackup).s3accesssecretkey }}
7070
key: aws-secret-key
7171
- name: LOGICAL_BACKUP_S3_ENDPOINT
72-
value: {{ (.Values.postgresql.logicalbackup).s3endpoint }}
72+
value: {{ (.Values.externalDatabases.coturn.logicalbackup).s3endpoint }}
7373
- name: LOGICAL_BACKUP_PROVIDER
7474
value: "s3"
7575
- name: LOGICAL_BACKUP_S3_BUCKET_SCOPE_SUFFIX
76-
value: {{ (.Values.postgresql.logicalbackup).s3bucketscopesuffix | default "logicalbackup" }}
76+
value: {{ (.Values.externalDatabases.coturn.logicalbackup).s3bucketscopesuffix | default "logicalbackup" }}
7777
- name: LOGICAL_BACKUP_S3_REGION
78-
value: {{ (.Values.postgresql.logicalbackup).s3region }}
78+
value: {{ (.Values.externalDatabases.coturn.logicalbackup).s3region }}
7979
- name: LOGICAL_BACKUP_S3_BUCKET
80-
value: {{ (.Values.postgresql.logicalbackup).s3bucket }}
80+
value: {{ (.Values.externalDatabases.coturn.logicalbackup).s3bucket }}
8181
- name: LOGICAL_BACKUP_S3_RETENTION_TIME
82-
value: {{ (.Values.postgresql.logicalbackup).retention }}
82+
value: {{ (.Values.externalDatabases.coturn.logicalbackup).retention }}
8383
{{- end }}
8484

8585
- name: PG_VERSION
86-
value: "{{ (.Values.postgresql.logicalbackup).pgversion | default 16 }}"
86+
value: "{{ (.Values.externalDatabases.coturn.logicalbackup).pgversion | default 16 }}"
8787
- name: POSTGRES_OPERATOR
8888
value: cngp
8989
resources:
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
apiVersion: postgresql.cnpg.io/v1
2+
kind: Cluster
3+
metadata:
4+
{{ if (.Values.externalDatabases.coturn).recover }}
5+
name: coturn-pgsql-recover
6+
{{ else }}
7+
name: coturn-pgsql
8+
{{ end }}
9+
spec:
10+
instances: {{ ((.Values.externalDatabases.coturn).instance) | default 1 }}
11+
{{ if (.Values.externalDatabases.coturn).recover }}
12+
bootstrap:
13+
recovery:
14+
source: netbird-pgsql
15+
database: netbird
16+
owner: netbird
17+
secret:
18+
name: netbird-pgsql-app
19+
{{ else }}
20+
bootstrap:
21+
initdb:
22+
database: netbird
23+
owner: netbird
24+
{{ end }}
25+
resources:
26+
limits:
27+
memory: {{ (((.Values.externalDatabases.coturn).resources).limits).memory | default "800Mi" }}
28+
requests:
29+
memory: {{ (((.Values.externalDatabases.coturn).resources).requests).memory | default "500Mi" }}
30+
cpu: {{ (((.Values.externalDatabases.coturn).resources).requests).cpu | default "100m" }}
31+
storage:
32+
size: {{ (.Values.externalDatabases.coturn).size }}
33+
{{- if (.Values.externalDatabases.coturn).storageClass }}
34+
storageClass: {{ (.Values.externalDatabases.coturn).storageClass }}
35+
{{- end }}
36+
{{- if (.Values.externalDatabases.coturn).recover }}
37+
externalClusters:
38+
- name: netbird-pgsql
39+
barmanObjectStore:
40+
destinationPath: {{ ((.Values.externalDatabases.coturn).backup).destinationPath }}
41+
endpointURL: {{ ((.Values.externalDatabases.coturn).backup).endpointURL }}
42+
{{- if eq ((.Values.externalDatabases.coturn).backup).cloud "aws" }}
43+
s3Credentials:
44+
accessKeyId:
45+
name: netbird-pgsql-postgres-pod-env
46+
key: AWS_ACCESS_KEY_ID
47+
secretAccessKey:
48+
name: netbird-pgsql-postgres-pod-env
49+
key: AWS_SECRET_ACCESS_KEY
50+
{{- end }}
51+
{{- if eq ((.Values.externalDatabases.coturn).backup).cloud "azure" }}
52+
azureCredentials:
53+
connectionString:
54+
name: netbird-pgsql-postgres-pod-env
55+
key: AZURE_CONNECTION_STRING
56+
storageAccount:
57+
name: netbird-pgsql-postgres-pod-env
58+
key: AZURE_STORAGE_ACCOUNT
59+
storageKey:
60+
name: netbird-pgsql-postgres-pod-env
61+
key: AZURE_STORAGE_KEY
62+
storageSasToken:
63+
name: netbird-pgsql-postgres-pod-env
64+
key: AZURE_STORAGE_SAS_TOKEN
65+
{{- end }}
66+
wal:
67+
maxParallel: 8
68+
{{- end }}
69+
{{- if (.Values.externalDatabases.coturn).backup }}
70+
backup:
71+
barmanObjectStore:
72+
destinationPath: {{ ((.Values.externalDatabases.coturn).backup).destinationPath }}
73+
endpointURL: {{ ((.Values.externalDatabases.coturn).backup).endpointURL }}
74+
{{- if eq ((.Values.externalDatabases.coturn).backup).cloud "aws" }}
75+
s3Credentials:
76+
accessKeyId:
77+
name: netbird-pgsql-postgres-pod-env
78+
key: AWS_ACCESS_KEY_ID
79+
secretAccessKey:
80+
name: netbird-pgsql-postgres-pod-env
81+
key: AWS_SECRET_ACCESS_KEY
82+
{{- end }}
83+
{{- if eq ((.Values.externalDatabases.coturn).backup).cloud "azure" }}
84+
azureCredentials:
85+
connectionString:
86+
name: netbird-pgsql-postgres-pod-env
87+
key: AZURE_CONNECTION_STRING
88+
storageAccount:
89+
name: netbird-pgsql-postgres-pod-env
90+
key: AZURE_STORAGE_ACCOUNT
91+
storageKey:
92+
name: netbird-pgsql-postgres-pod-env
93+
key: AZURE_STORAGE_KEY
94+
storageSasToken:
95+
name: netbird-pgsql-postgres-pod-env
96+
key: AZURE_STORAGE_SAS_TOKEN
97+
{{- end }}
98+
wal:
99+
compression: gzip
100+
encryption: AES256
101+
retentionPolicy: "30d"
102+
{{ end }}
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
{{ if (.Values.externalDatabases.netbird.logicalbackup).enabled }}
2+
---
3+
apiVersion: batch/v1
4+
kind: CronJob
5+
metadata:
6+
name: postgres-netbird-logical-backup
7+
spec:
8+
concurrencyPolicy: Forbid
9+
failedJobsHistoryLimit: 1
10+
schedule: {{ (.Values.externalDatabases.netbird.logicalbackup).schedule | default "30 00 * * *" }}
11+
successfulJobsHistoryLimit: 3
12+
jobTemplate:
13+
spec:
14+
template:
15+
spec:
16+
containers:
17+
- name: logical-backup
18+
image: ghcr.io/obmondo/postgres-logical-backup:v1.0.7
19+
imagePullPolicy: IfNotPresent
20+
env:
21+
- name: POD_NAMESPACE
22+
valueFrom:
23+
fieldRef:
24+
apiVersion: v1
25+
fieldPath: metadata.namespace
26+
- name: PGHOST
27+
value: {{ .Values.externalDatabases.netbird.host | default "netbird-pgsql-rw" }}
28+
- name: PGPASSWORD
29+
valueFrom:
30+
secretKeyRef:
31+
name: {{ .Values.externalDatabases.netbird.pass }}
32+
key: password
33+
- name: PGPORT
34+
value: "{{ .Values.externalDatabases.netbird.port | default 5432 }}"
35+
- name: PGUSER
36+
value: {{ .Values.externalDatabases.netbird.user | default "netbird" }}
37+
- name: PGDATABASE
38+
value: {{ .Values.externalDatabases.netbird.db | default "netbird" }}
39+
- name: USE_PG_DUMP
40+
value: {{ (.Values.externalDatabases.netbird.logicalbackup).usePgDump | quote }}
41+
- name: CLUSTER_NAME_LABEL
42+
value: {{ (.Values.externalDatabases.netbird.logicalbackup).pgOperatorClusterName | default "netbird-pgsql" }}
43+
44+
{{- if eq .Values.externalDatabases.netbird.logicalbackup.provider "az" }}
45+
- name: LOGICAL_BACKUP_PROVIDER
46+
value: "az"
47+
- name: LOGICAL_BACKUP_AZURE_STORAGE_ACCOUNT_NAME
48+
value: {{ (.Values.externalDatabases.netbird.logicalbackup).storeageaccount }}
49+
- name: LOGICAL_BACKUP_AZURE_STORAGE_CONTAINER
50+
value: {{ (.Values.externalDatabases.netbird.logicalbackup).azurecontainer }}
51+
- name: LOGICAL_BACKUP_AZURE_STORAGE_ACCOUNT_KEY
52+
valueFrom:
53+
secretKeyRef:
54+
key: LOGICAL_BACKUP_AZURE_STORAGE_ACCOUNT_KEY
55+
name: netbird-pgsql-postgres-pod-env
56+
- name: LOGICAL_BACKUP_S3_BUCKET
57+
value: {{ (.Values.externalDatabases.netbird.logicalbackup).azurecontainer }}
58+
- name: LOGICAL_BACKUP_S3_BUCKET_SCOPE_SUFFIX
59+
value: {{ (.Values.externalDatabases.netbird.logicalbackup).s3bucketscopesuffix | default "logicalbackup" }}
60+
61+
{{- else if eq .Values.externalDatabases.netbird.logicalbackup.provider "s3" }}
62+
- name: LOGICAL_BACKUP_PROVIDER
63+
value: "s3"
64+
- name: AWS_ACCESS_KEY_ID
65+
value: {{ (.Values.externalDatabases.netbird.logicalbackup).s3accesskeyid }}
66+
- name: AWS_SECRET_ACCESS_KEY
67+
valueFrom:
68+
secretKeyRef:
69+
name: {{ (.Values.externalDatabases.netbird.logicalbackup).s3accesssecretkey }}
70+
key: aws-secret-key
71+
- name: LOGICAL_BACKUP_S3_ENDPOINT
72+
value: {{ (.Values.externalDatabases.netbird.logicalbackup).s3endpoint }}
73+
- name: LOGICAL_BACKUP_PROVIDER
74+
value: "s3"
75+
- name: LOGICAL_BACKUP_S3_BUCKET_SCOPE_SUFFIX
76+
value: {{ (.Values.externalDatabases.netbird.logicalbackup).s3bucketscopesuffix | default "logicalbackup" }}
77+
- name: LOGICAL_BACKUP_S3_REGION
78+
value: {{ (.Values.externalDatabases.netbird.logicalbackup).s3region }}
79+
- name: LOGICAL_BACKUP_S3_BUCKET
80+
value: {{ (.Values.externalDatabases.netbird.logicalbackup).s3bucket }}
81+
- name: LOGICAL_BACKUP_S3_RETENTION_TIME
82+
value: {{ (.Values.externalDatabases.netbird.logicalbackup).retention }}
83+
{{- end }}
84+
85+
- name: PG_VERSION
86+
value: "{{ (.Values.externalDatabases.netbird.logicalbackup).pgversion | default 16 }}"
87+
- name: POSTGRES_OPERATOR
88+
value: cngp
89+
resources:
90+
limits:
91+
memory: 500Mi
92+
requests:
93+
cpu: 100m
94+
memory: 128Mi
95+
securityContext:
96+
allowPrivilegeEscalation: true
97+
privileged: false
98+
readOnlyRootFilesystem: false
99+
terminationMessagePath: /dev/termination-log
100+
terminationMessagePolicy: File
101+
dnsPolicy: ClusterFirst
102+
restartPolicy: Never
103+
terminationGracePeriodSeconds: 300
104+
{{ end }}

argocd-helm-charts/netbird/templates/postgresql.yaml renamed to argocd-helm-charts/netbird/templates/postgresql-netbird.yaml

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
apiVersion: postgresql.cnpg.io/v1
22
kind: Cluster
33
metadata:
4-
{{ if (.Values.postgresql).recover }}
4+
{{ if (.Values.externalDatabases.netbird).recover }}
55
name: netbird-pgsql-recover
66
{{ else }}
77
name: netbird-pgsql
88
{{ end }}
99
spec:
10-
instances: {{ ((.Values.postgresql).instance) | default 1 }}
11-
{{ if (.Values.postgresql).recover }}
10+
instances: {{ ((.Values.externalDatabases.netbird).instance) | default 1 }}
11+
{{ if (.Values.externalDatabases.netbird).recover }}
1212
bootstrap:
1313
recovery:
1414
source: netbird-pgsql
@@ -24,22 +24,22 @@ spec:
2424
{{ end }}
2525
resources:
2626
limits:
27-
memory: {{ (((.Values.postgresql).resources).limits).memory | default "800Mi" }}
27+
memory: {{ (((.Values.externalDatabases.netbird).resources).limits).memory | default "800Mi" }}
2828
requests:
29-
memory: {{ (((.Values.postgresql).resources).requests).memory | default "500Mi" }}
30-
cpu: {{ (((.Values.postgresql).resources).requests).cpu | default "100m" }}
29+
memory: {{ (((.Values.externalDatabases.netbird).resources).requests).memory | default "500Mi" }}
30+
cpu: {{ (((.Values.externalDatabases.netbird).resources).requests).cpu | default "100m" }}
3131
storage:
32-
size: {{ (.Values.postgresql).size }}
33-
{{- if (.Values.postgresql).storageClass }}
34-
storageClass: {{ (.Values.postgresql).storageClass }}
32+
size: {{ (.Values.externalDatabases.netbird).size }}
33+
{{- if (.Values.externalDatabases.netbird).storageClass }}
34+
storageClass: {{ (.Values.externalDatabases.netbird).storageClass }}
3535
{{- end }}
36-
{{- if (.Values.postgresql).recover }}
36+
{{- if (.Values.externalDatabases.netbird).recover }}
3737
externalClusters:
3838
- name: netbird-pgsql
3939
barmanObjectStore:
40-
destinationPath: {{ ((.Values.postgresql).backup).destinationPath }}
41-
endpointURL: {{ ((.Values.postgresql).backup).endpointURL }}
42-
{{- if eq ((.Values.postgresql).backup).cloud "aws" }}
40+
destinationPath: {{ ((.Values.externalDatabases.netbird).backup).destinationPath }}
41+
endpointURL: {{ ((.Values.externalDatabases.netbird).backup).endpointURL }}
42+
{{- if eq ((.Values.externalDatabases.netbird).backup).cloud "aws" }}
4343
s3Credentials:
4444
accessKeyId:
4545
name: netbird-pgsql-postgres-pod-env
@@ -48,7 +48,7 @@ spec:
4848
name: netbird-pgsql-postgres-pod-env
4949
key: AWS_SECRET_ACCESS_KEY
5050
{{- end }}
51-
{{- if eq ((.Values.postgresql).backup).cloud "azure" }}
51+
{{- if eq ((.Values.externalDatabases.netbird).backup).cloud "azure" }}
5252
azureCredentials:
5353
connectionString:
5454
name: netbird-pgsql-postgres-pod-env
@@ -66,12 +66,12 @@ spec:
6666
wal:
6767
maxParallel: 8
6868
{{- end }}
69-
{{- if (.Values.postgresql).backup }}
69+
{{- if (.Values.externalDatabases.netbird).backup }}
7070
backup:
7171
barmanObjectStore:
72-
destinationPath: {{ ((.Values.postgresql).backup).destinationPath }}
73-
endpointURL: {{ ((.Values.postgresql).backup).endpointURL }}
74-
{{- if eq ((.Values.postgresql).backup).cloud "aws" }}
72+
destinationPath: {{ ((.Values.externalDatabases.netbird).backup).destinationPath }}
73+
endpointURL: {{ ((.Values.externalDatabases.netbird).backup).endpointURL }}
74+
{{- if eq ((.Values.externalDatabases.netbird).backup).cloud "aws" }}
7575
s3Credentials:
7676
accessKeyId:
7777
name: netbird-pgsql-postgres-pod-env
@@ -80,7 +80,7 @@ spec:
8080
name: netbird-pgsql-postgres-pod-env
8181
key: AWS_SECRET_ACCESS_KEY
8282
{{- end }}
83-
{{- if eq ((.Values.postgresql).backup).cloud "azure" }}
83+
{{- if eq ((.Values.externalDatabases.netbird).backup).cloud "azure" }}
8484
azureCredentials:
8585
connectionString:
8686
name: netbird-pgsql-postgres-pod-env

0 commit comments

Comments
 (0)