From 84e83efc4690d65b613ffe313095a53b5b5f6d92 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Sat, 11 Sep 2021 19:00:37 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- stable/postgresql/2.1.0/CHANGELOG.md | 18 + stable/postgresql/2.1.0/CONFIG.md | 8 + stable/postgresql/2.1.0/Chart.lock | 6 + stable/postgresql/2.1.0/Chart.yaml | 28 + stable/postgresql/2.1.0/README.md | 37 + stable/postgresql/2.1.0/app-readme.md | 3 + .../postgresql/2.1.0/charts/common-7.0.2.tgz | Bin 0 -> 35806 bytes stable/postgresql/2.1.0/helm-values.md | 66 + stable/postgresql/2.1.0/ix_values.yaml | 56 + stable/postgresql/2.1.0/questions.yaml | 1232 +++++++++++++++++ .../templates/backup-postgres-config.yaml | 15 + stable/postgresql/2.1.0/templates/common.yaml | 2 + stable/postgresql/2.1.0/templates/secret.yaml | 13 + .../upgrade-backup-postgres-hook.yaml | 56 + stable/postgresql/2.1.0/test_values.yaml | 91 ++ stable/postgresql/2.1.0/values.yaml | 0 16 files changed, 1631 insertions(+) create mode 100644 stable/postgresql/2.1.0/CHANGELOG.md create mode 100644 stable/postgresql/2.1.0/CONFIG.md create mode 100644 stable/postgresql/2.1.0/Chart.lock create mode 100644 stable/postgresql/2.1.0/Chart.yaml create mode 100644 stable/postgresql/2.1.0/README.md create mode 100644 stable/postgresql/2.1.0/app-readme.md create mode 100644 stable/postgresql/2.1.0/charts/common-7.0.2.tgz create mode 100644 stable/postgresql/2.1.0/helm-values.md create mode 100644 stable/postgresql/2.1.0/ix_values.yaml create mode 100644 stable/postgresql/2.1.0/questions.yaml create mode 100644 stable/postgresql/2.1.0/templates/backup-postgres-config.yaml create mode 100644 stable/postgresql/2.1.0/templates/common.yaml create mode 100644 stable/postgresql/2.1.0/templates/secret.yaml create mode 100644 stable/postgresql/2.1.0/templates/upgrade-backup-postgres-hook.yaml create mode 100644 stable/postgresql/2.1.0/test_values.yaml create mode 100644 stable/postgresql/2.1.0/values.yaml diff --git a/stable/postgresql/2.1.0/CHANGELOG.md b/stable/postgresql/2.1.0/CHANGELOG.md new file mode 100644 index 0000000000..c7e8d4d7f5 --- /dev/null +++ b/stable/postgresql/2.1.0/CHANGELOG.md @@ -0,0 +1,18 @@ + + +### [postgresql-2.1.0](https://github.com/truecharts/apps/compare/postgresql-2.0.0...postgresql-2.1.0) (2021-09-11) + +#### Chore + +* Use bitnami instead of stock postgresql container ([#960](https://github.com/truecharts/apps/issues/960)) +* update non-major + +#### Feat + +* pin all container references to digests ([#963](https://github.com/truecharts/apps/issues/963)) + +#### Fix + +* make sure podSecurityContext is included in both SCALE and Helm installs ([#956](https://github.com/truecharts/apps/issues/956)) +* move runAsNonRoot to container securityContext to allow root sidecarts ([#954](https://github.com/truecharts/apps/issues/954)) + diff --git a/stable/postgresql/2.1.0/CONFIG.md b/stable/postgresql/2.1.0/CONFIG.md new file mode 100644 index 0000000000..fc9b2fa2d5 --- /dev/null +++ b/stable/postgresql/2.1.0/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/postgresql/2.1.0/Chart.lock b/stable/postgresql/2.1.0/Chart.lock new file mode 100644 index 0000000000..6c45ce64ad --- /dev/null +++ b/stable/postgresql/2.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 7.0.2 +digest: sha256:0fedec7df721ee22e53c87584f5ba740c93f0c2f5445056ed55412eb25ce47a2 +generated: "2021-09-11T18:59:36.001105Z" diff --git a/stable/postgresql/2.1.0/Chart.yaml b/stable/postgresql/2.1.0/Chart.yaml new file mode 100644 index 0000000000..9295c424c6 --- /dev/null +++ b/stable/postgresql/2.1.0/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: 13.4.0@sha +dependencies: +- name: common + repository: https://truecharts.org/ + version: 7.0.2 +deprecated: false +description: PostgresSQL +home: https://github.com/truecharts/apps/tree/master/stable/postgres +icon: https://d1q6f0aelx0por.cloudfront.net/product-logos/library-postgres-logo.png +keywords: +- postgres +- postgressql +- dtabase +- sql +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: postgresql +sources: +- https://www.postgresql.org/ +type: application +version: 2.1.0 diff --git a/stable/postgresql/2.1.0/README.md b/stable/postgresql/2.1.0/README.md new file mode 100644 index 0000000000..0cf471c5f9 --- /dev/null +++ b/stable/postgresql/2.1.0/README.md @@ -0,0 +1,37 @@ +# Introduction + +PostgresSQL + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 7.0.2 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/stable/postgresql/2.1.0/app-readme.md b/stable/postgresql/2.1.0/app-readme.md new file mode 100644 index 0000000000..88e9ec74b9 --- /dev/null +++ b/stable/postgresql/2.1.0/app-readme.md @@ -0,0 +1,3 @@ +PostgresSQL + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/stable/postgresql/2.1.0/charts/common-7.0.2.tgz b/stable/postgresql/2.1.0/charts/common-7.0.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e26c46b0911ab93491856cb9b35ffe1a45dc8d76 GIT binary patch literal 35806 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

Mb~ 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 /dbbackups/$BACKUP_NAME; diff --git a/stable/postgresql/2.1.0/templates/common.yaml b/stable/postgresql/2.1.0/templates/common.yaml new file mode 100644 index 0000000000..9705d4f5fa --- /dev/null +++ b/stable/postgresql/2.1.0/templates/common.yaml @@ -0,0 +1,2 @@ + +{{ include "common.all" . }} diff --git a/stable/postgresql/2.1.0/templates/secret.yaml b/stable/postgresql/2.1.0/templates/secret.yaml new file mode 100644 index 0000000000..be7022c005 --- /dev/null +++ b/stable/postgresql/2.1.0/templates/secret.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "common.names.fullname" . }} + labels: + {{- include "common.labels" . | nindent 4 }} + annotations: + {{- with .Values.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} +type: Opaque +data: + postgresql-password: {{ ( .Values.postgresqlPassword | default "empty" ) | b64enc | quote }} diff --git a/stable/postgresql/2.1.0/templates/upgrade-backup-postgres-hook.yaml b/stable/postgresql/2.1.0/templates/upgrade-backup-postgres-hook.yaml new file mode 100644 index 0000000000..516ee5180a --- /dev/null +++ b/stable/postgresql/2.1.0/templates/upgrade-backup-postgres-hook.yaml @@ -0,0 +1,56 @@ +{{- if and ( .Values.enableUpgradeBackup ) ( .Values.ixChartContext ) -}} +{{- if .Values.ixChartContext.isUpgrade -}} +{{- $upgradeDict := .Values.ixChartContext.upgradeMetadata -}} +{{ $values := (. | mustDeepCopy) }} +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: "pre-upgrade-hook2" + annotations: + "helm.sh/hook": pre-upgrade + "helm.sh/hook-weight": "1" + "helm.sh/hook-delete-policy": hook-succeeded + rollme: {{ randAlphaNum 5 | quote }} +spec: + template: + metadata: + name: "pre-upgrade-hook2" + spec: + restartPolicy: Never + containers: + - name: {{ .Chart.Name }}-postgres-backup + image: {{ printf "%v:%v" .Values.image.repository .Values.image.tag}} + imagePullPolicy: {{ .Values.image.pullPolicy }} + env: + - name: BACKUP_NAME + value: {{- printf "postgres-backup-from-%s-to-%s-revision-%d" $upgradeDict.oldChartVersion $upgradeDict.newChartVersion (int64 $upgradeDict.preUpgradeRevision) -}} + - name: POSTGRES_USER + value: {{ .Values.postgresqlUsername | quote }} + - name: POSTGRES_DB + value: {{ .Values.postgresqlDatabase | quote }} + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: {{ ( .Values.existingSecret | default ( include "common.names.fullname" . ) ) | quote }} + key: "postgresql-password" + command: + - "/bin/backup_entrypoint.sh" + volumeMounts: + - name: backup-script-configmap + mountPath: /bin/backup_entrypoint.sh + readOnly: true + subPath: entrypoint.sh + {{- with (include "common.controller.volumeMounts" . | trim) }} + {{ nindent 4 . }} + {{- end }} + volumes: + - name: backup-script-configmap + configMap: + defaultMode: 0700 + name: "postgres-backup-hook-config-map" + {{- with (include "common.controller.volumes" . | trim) }} + {{- nindent 2 . }} + {{- end }} +{{- end -}} +{{- end -}} diff --git a/stable/postgresql/2.1.0/test_values.yaml b/stable/postgresql/2.1.0/test_values.yaml new file mode 100644 index 0000000000..05647109ef --- /dev/null +++ b/stable/postgresql/2.1.0/test_values.yaml @@ -0,0 +1,91 @@ +image: + repository: bitnami/postgresql + pullPolicy: IfNotPresent + tag: 13.4.0@sha256:7fff0f7e827cd8e1daa3adbf0ca3f19e21006023c0f6d1c2d835718961516a87 + + +service: + main: + enabled: true + ports: + main: + port: 5432 + +## TODO: Fix the backup-on-upgrade system +enableUpgradeBackup: false + +initContainers: + migrate-db: + image: "{{ .Values.alpineImage.repository}}:{{ .Values.alpineImage.tag }}" + securityContext: + runAsUser: 0 + privileged: true + allowPrivilegeEscalation: true + runAsNonRoot: false + command: + - /bin/sh + - -cx + - | + echo 'trying to migrate old db to new location...' + mkdir -p /bitnami/postgresql/data + mv -f /bitnami/postgresql/old/* /bitnami/postgresql/data/ || true + chown -R {{ .Values.podSecurityContext.runAsUser }}:{{ .Values.podSecurityContext.fsGroup }} /bitnami/postgresql/data + chmod 775 /bitnami/postgresql/data + imagePullPolicy: IfNotPresent + volumeMounts: + - name: db + mountPath: /bitnami/postgresql/old + - name: data + mountPath: /bitnami/postgresql + + +securityContext: + privileged: false + readOnlyRootFilesystem: false + allowPrivilegeEscalation: true + runAsNonRoot: false + +podSecurityContext: + runAsUser: 568 + runAsGroup: 0 + fsGroup: 568 + supplementalGroups: [] + fsGroupChangePolicy: "OnRootMismatch" + +persistence: + db: + enabled: true + mountPath: "/bitnami/postgresql/old" + type: pvc + accessMode: ReadWriteOnce + size: "999Gi" + data: + enabled: true + mountPath: "/bitnami/postgresql" + type: pvc + accessMode: ReadWriteOnce + size: "999Gi" + dbbackups: + enabled: true + mountPath: "/dbbackups" + type: pvc + accessMode: ReadWriteOnce + size: "999Gi" + +postgresqlPassword: "testpass" +postgresqlUsername: "test" +postgresqlDatabase: "test" +existingSecret: "" + + +envValueFrom: + POSTGRES_PASSWORD: + secretKeyRef: + name: '{{ ( tpl .Values.existingSecret $ ) | default ( include "common.names.fullname" . ) }}' + key: "postgresql-password" + +envTpl: + POSTGRES_USER: "{{ .Values.postgresqlUsername }}" + POSTGRES_DB: "{{ .Values.postgresqlDatabase }}" +# POSTGRESQL_POSTGRES_PASSWORD: "{{ .Values.postgrespassword }}" +# POSTGRESQL_PASSWORD: "{{ .Values.password }}" diff --git a/stable/postgresql/2.1.0/values.yaml b/stable/postgresql/2.1.0/values.yaml new file mode 100644 index 0000000000..e69de29bb2