Skip to content

Commit 4e5aa2d

Browse files
committed
chore(database): minio/minio#14331
1 parent 70ed4c3 commit 4e5aa2d

5 files changed

Lines changed: 96 additions & 71 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{{- define "database.envs" -}}
2+
env:
3+
- name: DATABASE_STORAGE
4+
value: "{{.Values.global.storage}}"
5+
- name: PGCTLTIMEOUT
6+
value: "{{.Values.timeout}}"
7+
{{- if eq .Values.global.minioLocation "on-cluster" }}
8+
- name: "DRYCC_MINIO_ENDPOINT"
9+
value: ${DRYCC_MINIO_SERVICE_HOST}:${DRYCC_MINIO_SERVICE_PORT}
10+
{{- else }}
11+
- name: "DRYCC_MINIO_ENDPOINT"
12+
value: "{{ .Values.minio.endpoint }}"
13+
{{- end }}
14+
{{- end }}
15+
16+
{{/* Generate database deployment limits */}}
17+
{{- define "database.limits" -}}
18+
{{- if or (.Values.limitsCpu) (.Values.limitsMemory)}}
19+
resources:
20+
limits:
21+
{{- if (.Values.limitsCpu) }}
22+
cpu: {{.Values.limitsCpu}}
23+
{{- end }}
24+
{{- if (.Values.limitsMemory) }}
25+
memory: {{.Values.limitsMemory}}
26+
{{- end }}
27+
{{- if (.Values.limitsHugepages2Mi) }}
28+
hugepages-2Mi: {{.Values.limitsHugepages2Mi}}
29+
{{- end }}
30+
{{- if (.Values.limitsHugepages1Gi) }}
31+
hugepages-1Gi: {{.Values.limitsHugepages1Gi}}
32+
{{- end }}
33+
{{- end }}
34+
{{- end }}

charts/database/templates/database-deployment.yaml

Lines changed: 40 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -29,68 +29,50 @@ spec:
2929
- netcat
3030
- -v
3131
- -a
32-
- $(DRYCC_MINIO_SERVICE_HOST):$(DRYCC_MINIO_SERVICE_PORT)
32+
- $(DRYCC_MINIO_ENDPOINT)
33+
{{- include "builder.envs" . | indent 8 }}
3334
containers:
34-
- name: drycc-database
35-
image: {{.Values.imageRegistry}}/{{.Values.imageOrg}}/postgres:{{.Values.imageTag}}
36-
imagePullPolicy: {{.Values.imagePullPolicy}}
37-
ports:
38-
- containerPort: 5432
39-
{{- if or (.Values.limitsCpu) (.Values.limitsMemory)}}
40-
resources:
41-
limits:
42-
{{- if (.Values.limitsCpu) }}
43-
cpu: {{.Values.limitsCpu}}
44-
{{- end}}
45-
{{- if (.Values.limitsMemory) }}
46-
memory: {{.Values.limitsMemory}}
47-
{{- end}}
48-
{{- if (.Values.limitsHugepages2Mi) }}
49-
hugepages-2Mi: {{.Values.limitsHugepages2Mi}}
50-
{{- end}}
51-
{{- if (.Values.limitsHugepages1Gi) }}
52-
hugepages-1Gi: {{.Values.limitsHugepages1Gi}}
53-
{{- end}}
54-
{{- end}}
55-
env:
56-
- name: DATABASE_STORAGE
57-
value: "{{.Values.global.storage}}"
58-
- name: PGCTLTIMEOUT
59-
value: "{{.Values.timeout}}"
60-
lifecycle:
61-
preStop:
62-
exec:
63-
command:
64-
- init-stack
65-
- gosu
66-
- postgres
67-
- do_backup
68-
readinessProbe:
35+
- name: drycc-database
36+
image: {{.Values.imageRegistry}}/{{.Values.imageOrg}}/postgres:{{.Values.imageTag}}
37+
imagePullPolicy: {{.Values.imagePullPolicy}}
38+
ports:
39+
- containerPort: 5432
40+
{{- include "builder.limits" . | indent 8 }}
41+
{{- include "builder.envs" . | indent 8 }}
42+
lifecycle:
43+
preStop:
6944
exec:
7045
command:
71-
- init-stack
72-
- is_running
73-
initialDelaySeconds: 30
74-
timeoutSeconds: 1
75-
volumeMounts:
76-
- name: database-creds
77-
mountPath: /var/run/secrets/drycc/database/creds
78-
- name: objectstore-creds
79-
mountPath: /var/run/secrets/drycc/objectstore/creds
80-
{{- if .Values.persistence.enabled }}
81-
- name: database-data
82-
mountPath: /data
83-
{{- end }}
84-
volumes:
46+
- init-stack
47+
- gosu
48+
- postgres
49+
- do_backup
50+
readinessProbe:
51+
exec:
52+
command:
53+
- init-stack
54+
- is_running
55+
initialDelaySeconds: 30
56+
timeoutSeconds: 1
57+
volumeMounts:
58+
- name: database-creds
59+
mountPath: /var/run/secrets/drycc/database/creds
60+
- name: minio-creds
61+
mountPath: /var/run/secrets/drycc/minio/creds
8562
{{- if .Values.persistence.enabled }}
8663
- name: database-data
87-
persistentVolumeClaim:
88-
claimName: drycc-database
64+
mountPath: /data
8965
{{- end }}
90-
- name: database-creds
91-
secret:
92-
secretName: database-creds
93-
- name: objectstore-creds
94-
secret:
95-
secretName: objectstorage-keyfile
66+
volumes:
67+
{{- if .Values.persistence.enabled }}
68+
- name: database-data
69+
persistentVolumeClaim:
70+
claimName: drycc-database
71+
{{- end }}
72+
- name: database-creds
73+
secret:
74+
secretName: database-creds
75+
- name: minio-creds
76+
secret:
77+
secretName: minio-creds
9678
{{- end }}

contrib/ci/test-minio.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,19 @@ mkdir -p "${CURRENT_DIR}"/tmp/bin
2929
echo "ls /data/database-bucket/*/basebackups_005" > "${CURRENT_DIR}"/tmp/bin/backups.sh
3030
MINIO_JOB=$(docker run -d \
3131
-v "${CURRENT_DIR}"/tmp/bin:/tmp/bin \
32-
-v "${CURRENT_DIR}"/tmp/aws-user:/var/run/secrets/drycc/objectstore/creds \
33-
drycc/minio:canary server /data/)
32+
-v "${CURRENT_DIR}"/tmp/aws-user:/var/run/secrets/drycc/minio/creds \
33+
"${DEV_REGISTRY}"/drycc/minio:canary server /data/)
3434

3535
puts-step "minio starting, wait 30s."
3636
sleep 30
3737

38-
# boot postgres, linking the minio container and setting DRYCC_MINIO_SERVICE_HOST and DRYCC_MINIO_SERVICE_PORT
38+
# boot postgres, linking the minio container and setting DRYCC_MINIO_ENDPOINT
3939
MINIO_IP=$(docker inspect --format "{{ .NetworkSettings.IPAddress }}" "${MINIO_JOB}")
4040
PG_CMD="docker run -d --add-host minio:${MINIO_IP} -e PGCTLTIMEOUT=1200 \
4141
-e BACKUP_FREQUENCY=1s -e DATABASE_STORAGE=minio \
42-
-e DRYCC_MINIO_SERVICE_HOST=minio -e DRYCC_MINIO_SERVICE_PORT=9000 \
42+
-e DRYCC_MINIO_ENDPOINT=minio:9000 \
4343
-v ${CURRENT_DIR}/tmp/creds:/var/run/secrets/drycc/database/creds \
44-
-v ${CURRENT_DIR}/tmp/aws-user:/var/run/secrets/drycc/objectstore/creds $1"
44+
-v ${CURRENT_DIR}/tmp/aws-user:/var/run/secrets/drycc/minio/creds $1"
4545

4646
start-postgres "${PG_CMD}"
4747

rootfs/bin/normalize_storage

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
#!/usr/bin/env sh
2-
BUCKET_FILE="/var/run/secrets/drycc/objectstore/creds/database-bucket"
3-
ACCESS_KEY_FILE="/var/run/secrets/drycc/objectstore/creds/accesskey"
4-
SECRET_KEY_FILE="/var/run/secrets/drycc/objectstore/creds/secretkey"
2+
BUCKET_FILE="/var/run/secrets/drycc/minio/creds/database-bucket"
3+
ACCESS_KEY_FILE="/var/run/secrets/drycc/minio/creds/accesskey"
4+
SECRET_KEY_FILE="/var/run/secrets/drycc/minio/creds/secretkey"
55

66
if [ -f $BUCKET_FILE ]; then
77
MINIO_BUCKET=$(cat "$BUCKET_FILE")
88
export MINIO_BUCKET
9+
else
10+
export MINIO_BUCKET="database"
911
fi
1012
if [ -f $ACCESS_KEY_FILE ]; then
1113
MINIO_ACCESS_KEY=$(cat "$ACCESS_KEY_FILE")
@@ -16,6 +18,6 @@ if [ -f $SECRET_KEY_FILE ]; then
1618
export MINIO_SECRET_KEY
1719
fi
1820

19-
export MINIO_ENDPOINT=http://"${DRYCC_MINIO_SERVICE_HOST}:${DRYCC_MINIO_SERVICE_PORT}"
21+
export MINIO_ENDPOINT=http://"${DRYCC_MINIO_ENDPOINT}"
2022

2123
mc config host add minio "${MINIO_ENDPOINT}" "${MINIO_ACCESS_KEY}" "${MINIO_SECRET_KEY}"

rootfs/docker-entrypoint-initdb.d/001_setup_envdir.sh

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,21 @@
22

33
cd "$WALG_ENVDIR"
44

5-
AWS_ACCESS_KEY_ID=$(cat /var/run/secrets/drycc/objectstore/creds/accesskey)
6-
AWS_SECRET_ACCESS_KEY=$(cat /var/run/secrets/drycc/objectstore/creds/secretkey)
7-
BUCKET_NAME=$(cat /var/run/secrets/drycc/objectstore/creds/database-bucket)
5+
AWS_ACCESS_KEY_ID=$(cat /var/run/secrets/drycc/minio/creds/accesskey)
6+
AWS_SECRET_ACCESS_KEY=$(cat /var/run/secrets/drycc/minio/creds/secretkey)
7+
8+
BUCKET_FILE="/var/run/secrets/drycc/minio/creds/database-bucket"
9+
if [ -f $BUCKET_FILE ]; then
10+
BUCKET_NAME=$(cat "$BUCKET_FILE")
11+
export BUCKET_NAME
12+
else
13+
export BUCKET_NAME="database"
14+
fi
815

916
echo $AWS_ACCESS_KEY_ID > AWS_ACCESS_KEY_ID
1017
echo $AWS_SECRET_ACCESS_KEY > AWS_SECRET_ACCESS_KEY
1118
echo "s3://$BUCKET_NAME/$PG_MAJOR" > WALE_S3_PREFIX
12-
echo "http://$DRYCC_MINIO_SERVICE_HOST:$DRYCC_MINIO_SERVICE_PORT" > AWS_ENDPOINT
19+
echo "http://${DRYCC_MINIO_ENDPOINT}" > AWS_ENDPOINT
1320
echo "true" > AWS_S3_FORCE_PATH_STYLE
1421
echo $AWS_REGION > S3_REGION
1522
echo $BUCKET_NAME > BUCKET_NAME

0 commit comments

Comments
 (0)