diff --git a/dev/postgresql/15.0.17/CHANGELOG.md b/dev/postgresql/15.0.17/CHANGELOG.md
new file mode 100644
index 0000000000..8bc745cdb9
--- /dev/null
+++ b/dev/postgresql/15.0.17/CHANGELOG.md
@@ -0,0 +1,99 @@
+---
+title: Changelog
+---
+
+**Important:**
+*for the complete changelog, please refer to the website*
+
+
+
+## [postgresql-15.0.17](https://github.com/truecharts/charts/compare/postgresql-15.0.15...postgresql-15.0.17) (2024-01-21)
+
+### Fix
+
+
+
+- fix key ([#17458](https://github.com/truecharts/charts/issues/17458))
+
+
+## [postgresql-15.0.15](https://github.com/truecharts/charts/compare/postgresql-15.0.14...postgresql-15.0.15) (2024-01-21)
+
+### Chore
+
+
+
+- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457))
+
+
+
+
+## [postgresql-15.0.14](https://github.com/truecharts/charts/compare/postgresql-15.0.13...postgresql-15.0.14) (2024-01-02)
+
+### Chore
+
+
+
+- force bump to ensure up-to-date catalogs
+
+
+## [postgresql-15.0.13](https://github.com/truecharts/charts/compare/postgresql-15.0.12...postgresql-15.0.13) (2024-01-02)
+
+### Chore
+
+
+
+- bump common ([#16751](https://github.com/truecharts/charts/issues/16751))
+
+
+## [postgresql-15.0.12](https://github.com/truecharts/charts/compare/postgresql-15.0.11...postgresql-15.0.12) (2024-01-01)
+
+### Chore
+
+
+
+- increase common version for oci fixes
+
+- remove non-existent template refs ([#16738](https://github.com/truecharts/charts/issues/16738))
+
+
+## [postgresql-15.0.11](https://github.com/truecharts/charts/compare/postgresql-15.0.10...postgresql-15.0.11) (2024-01-01)
+
+### Chore
+
+
+
+- bump all charts for OCI test push
+
+- move everything to consume OCI-hosted common-chart dependency
+
+- standardize ./img references ([#16704](https://github.com/truecharts/charts/issues/16704))
+
+- lints some docs, uses front-matter instead of # h1, and fix list items in changelog ([#16589](https://github.com/truecharts/charts/issues/16589))
+
+### Fix
+
+
+
+- correct mistaken common references
+
+
+## [postgresql-15.0.11](https://github.com/truecharts/charts/compare/postgresql-15.0.10...postgresql-15.0.11) (2024-01-01)
+
+### Chore
+
+
+
+- bump all charts for OCI test push
+
+- move everything to consume OCI-hosted common-chart dependency
+
+- standardize ./img references ([#16704](https://github.com/truecharts/charts/issues/16704))
+
+- lints some docs, uses front-matter instead of # h1, and fix list items in changelog ([#16589](https://github.com/truecharts/charts/issues/16589))
+
+### Fix
+
+
+
+- correct mistaken common references
+## [postgresql-15.0.10](https://github.com/truecharts/charts/compare/postgresql-15.0.9...postgresql-15.0.10) (2023-12-22)
diff --git a/dev/postgresql/15.0.17/Chart.yaml b/dev/postgresql/15.0.17/Chart.yaml
new file mode 100644
index 0000000000..d4a6639d6c
--- /dev/null
+++ b/dev/postgresql/15.0.17/Chart.yaml
@@ -0,0 +1,39 @@
+annotations:
+ max_scale_version: 23.10.2
+ min_scale_version: 23.10.0
+ truecharts.org/SCALE-support: "true"
+ truecharts.org/category: database
+ truecharts.org/max_helm_version: "3.14"
+ truecharts.org/min_helm_version: "3.12"
+ truecharts.org/train: dev
+apiVersion: v2
+appVersion: 14.10.0
+dependencies:
+ - name: common
+ version: 17.2.21
+ repository: oci://tccr.io/truecharts
+ condition: ""
+ alias: ""
+ tags: []
+ import-values: []
+deprecated: false
+description: PostgresSQL
+home: https://truecharts.org/charts/dev/postgresql
+icon: https://truecharts.org/img/hotlink-ok/chart-icons/postgresql.png
+keywords:
+ - postgres
+ - postgressql
+ - dtabase
+ - sql
+kubeVersion: ">=1.24.0-0"
+maintainers:
+ - name: TrueCharts
+ email: info@truecharts.org
+ url: https://truecharts.org
+name: postgresql
+sources:
+ - https://www.postgresql.org/
+ - https://github.com/truecharts/charts/tree/master/charts/dev/postgresql
+ - https://hub.docker.com/r/bitnami/postgresql
+type: application
+version: 15.0.17
diff --git a/dev/postgresql/15.0.17/README.md b/dev/postgresql/15.0.17/README.md
new file mode 100644
index 0000000000..a47eba5087
--- /dev/null
+++ b/dev/postgresql/15.0.17/README.md
@@ -0,0 +1,28 @@
+---
+title: README
+---
+
+## General Info
+
+TrueCharts can be installed as both _normal_ Helm Charts or as Apps on TrueNAS SCALE.
+However only installations using the TrueNAS SCALE Apps system are supported.
+
+For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/dev/postgresql)
+
+**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
+
+## Support
+
+- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro).
+- See the [Website](https://truecharts.org)
+- Check our [Discord](https://discord.gg/tVsPTHWTtr)
+- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
+
+---
+
+## Sponsor TrueCharts
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
+
+_All Rights Reserved - The TrueCharts Project_
diff --git a/dev/postgresql/15.0.17/app-changelog.md b/dev/postgresql/15.0.17/app-changelog.md
new file mode 100644
index 0000000000..5f6550e3a8
--- /dev/null
+++ b/dev/postgresql/15.0.17/app-changelog.md
@@ -0,0 +1,9 @@
+
+
+## [postgresql-15.0.17](https://github.com/truecharts/charts/compare/postgresql-15.0.15...postgresql-15.0.17) (2024-01-21)
+
+### Fix
+
+
+
+- fix key ([#17458](https://github.com/truecharts/charts/issues/17458))
\ No newline at end of file
diff --git a/dev/postgresql/15.0.17/app-readme.md b/dev/postgresql/15.0.17/app-readme.md
new file mode 100644
index 0000000000..027e44a7df
--- /dev/null
+++ b/dev/postgresql/15.0.17/app-readme.md
@@ -0,0 +1,8 @@
+PostgresSQL
+
+This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/dev/postgresql](https://truecharts.org/charts/dev/postgresql)
+
+---
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
diff --git a/dev/postgresql/15.0.17/charts/common-17.2.21.tgz b/dev/postgresql/15.0.17/charts/common-17.2.21.tgz
new file mode 100644
index 0000000000..247e7e80d5
Binary files /dev/null and b/dev/postgresql/15.0.17/charts/common-17.2.21.tgz differ
diff --git a/dev/postgresql/15.0.17/ix_values.yaml b/dev/postgresql/15.0.17/ix_values.yaml
new file mode 100644
index 0000000000..f0d598f972
--- /dev/null
+++ b/dev/postgresql/15.0.17/ix_values.yaml
@@ -0,0 +1,45 @@
+cnpg:
+ main:
+ createRO: false
+ creds: {}
+ database: app
+ enabled: false
+ instances: 2
+ monitoring:
+ enablePodMonitor: true
+ pooler:
+ instances: 2
+ primary: true
+ primaryUpdateStrategy: unsupervised
+ storage:
+ size: 256Gi
+ walsize: 256Gi
+ user: app
+image:
+ pullPolicy: IfNotPresent
+ repository: bitnami/postgresql
+ tag: 14.10.0@sha256:f73fe14c4a24dac0e322abed5cf6d8fd7fe923dc2281324e549ddb9c912429da
+portal:
+ open:
+ enabled: false
+service:
+ main:
+ enabled: false
+ ports:
+ main:
+ enabled: false
+ port: 9999
+workload:
+ main:
+ enabled: false
+ podSpec:
+ containers:
+ main:
+ enabled: false
+ probes:
+ liveness:
+ enabled: false
+ readiness:
+ enabled: false
+ startup:
+ enabled: false
diff --git a/dev/postgresql/15.0.17/questions.yaml b/dev/postgresql/15.0.17/questions.yaml
new file mode 100644
index 0000000000..358c03dd0e
--- /dev/null
+++ b/dev/postgresql/15.0.17/questions.yaml
@@ -0,0 +1,535 @@
+groups:
+ - name: Container Image
+ description: Image to be used for container
+ - name: General Settings
+ description: General Deployment Settings
+ - name: Workload Settings
+ description: Workload Settings
+ - name: App Configuration
+ description: App Specific Config Options
+ - name: Networking and Services
+ description: Configure Network and Services for Container
+ - name: Storage and Persistence
+ description: Persist and Share Data that is Separate from the Container
+ - name: Ingress
+ description: Ingress Configuration
+ - name: Security and Permissions
+ description: Configure Security Context and Permissions
+ - name: Resources and Devices
+ description: "Specify Resources/Devices to be Allocated to Workload"
+ - name: Middlewares
+ description: Traefik Middlewares
+ - name: Metrics
+ description: Metrics
+ - name: Addons
+ description: Addon Configuration
+ - name: Advanced
+ description: Advanced Configuration
+ - name: Postgresql
+ description: Postgresql
+ - name: Documentation
+ description: Documentation
+questions:
+ - variable: global
+ group: General Settings
+ label: "Global Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: stopAll
+ label: Stop All
+ description: "Stops All Running pods and hibernates cnpg"
+ schema:
+ type: boolean
+ default: false
+ - variable: cnpg
+ group: Postgresql
+ label: "CloudNative-PG (CNPG)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Postgresql Database"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hibernate
+ label: Hibernate
+ description: "enable to safely hibernate and shutdown the postgresql cluster"
+ schema:
+ type: boolean
+ default: false
+ - variable: mode
+ label: Mode
+ description: 'Cluster mode of operation. Available modes: standalone - default mode. Creates new or updates an existing CNPG cluster. recovery - Same as standalone but creates a cluster from a backup, object store or via pg_basebackup replica - Creates a replica cluster from an existing CNPG cluster. # TODO.'
+ schema:
+ type: string
+ default: "standalone"
+ enum:
+ - value: standalone
+ description: standalone
+ - value: replica
+ description: replica
+ - value: recovery
+ description: recovery
+ - variable: cluster
+ label: "Cluster Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: instances
+ label: Instances
+ schema:
+ type: int
+ default: 1
+ - variable: singleNode
+ label: singleNode
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: storage
+ label: "Storage"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: size
+ label: Size
+ schema:
+ type: string
+ default: "256Gi"
+ - variable: walStorage
+ label: "WAL Storage"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: size
+ label: Size
+ schema:
+ type: string
+ default: "256Gi"
+ - variable: monitoring
+ label: "Monitoring Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enablePodMonitor
+ label: "enablePodMonitor"
+ schema:
+ type: boolean
+ default: true
+ - variable: disableDefaultQueries
+ label: "disableDefaultQueries"
+ schema:
+ type: boolean
+ default: false
+ - variable: pooler
+ label: "Pooler Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: instances
+ label: Instances
+ schema:
+ type: int
+ default: 1
+ - variable: createRO
+ label: "Create ReadOnly Instance"
+ schema:
+ type: boolean
+ default: false
+ - variable: recovery
+ label: "Recovery Settings (Experimental)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ - variable: endpointURL
+ label: "endpointURL"
+ schema:
+ type: string
+ show_if: [["enabled", "=", true]]
+ default: ""
+ - variable: method
+ label: "method"
+ schema:
+ type: string
+ show_if: [["enabled", "=", true]]
+ default: "object_store"
+ - variable: backupName
+ label: "backupName"
+ schema:
+ type: string
+ show_if: [["enabled", "=", true]]
+ default: ""
+ - variable: provider
+ label: "provider"
+ schema:
+ type: string
+ show_if: [["enabled", "=", true]]
+ default: "s3"
+ enum:
+ - value: s3
+ description: S3
+ - value: azure
+ description: Azure
+ - value: google
+ description: Google
+ - variable: s3
+ label: "s3"
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["provider", "=", "s3"]]
+ attrs:
+ - variable: region
+ label: "region"
+ schema:
+ type: string
+ default: ""
+ - variable: bucket
+ label: "bucket"
+ schema:
+ type: string
+ default: ""
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ default: "/"
+ - variable: accessKey
+ label: "accessKey"
+ schema:
+ type: string
+ default: ""
+ - variable: secretKey
+ label: "secretKey"
+ schema:
+ type: string
+ default: ""
+ - variable: azure
+ label: "azure (EXTREMELY EXPERIMENTAL)"
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["provider", "=", "azure"]]
+ attrs:
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ default: "/"
+ - variable: connectionString
+ label: "connectionString"
+ schema:
+ type: string
+ default: ""
+ - variable: storageAccount
+ label: "storageAccount"
+ schema:
+ type: string
+ default: ""
+ - variable: storageKey
+ label: "storageKey"
+ schema:
+ type: string
+ default: ""
+ - variable: storageSasToken
+ label: "storageSasToken"
+ schema:
+ type: string
+ default: ""
+ - variable: containerName
+ label: "containerName"
+ schema:
+ type: string
+ default: ""
+ - variable: serviceName
+ label: "serviceName"
+ schema:
+ type: string
+ default: "blob"
+ - variable: inheritFromAzureAD
+ label: "inheritFromAzureAD"
+ schema:
+ type: boolean
+ default: false
+ - variable: google
+ label: "google (EXTREMELY EXPERIMENTAL)"
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["provider", "=", "google"]]
+ attrs:
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ default: "/"
+ - variable: bucket
+ label: "bucket"
+ schema:
+ type: string
+ default: ""
+ - variable: gkeEnvironment
+ label: "gkeEnvironment"
+ schema:
+ type: string
+ default: ""
+ - variable: applicationCredentials
+ label: "applicationCredentials"
+ schema:
+ type: string
+ default: ""
+ - variable: backups
+ label: "Backup Settings (Experimental)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ - variable: endpointURL
+ label: "endpointURL"
+ schema:
+ type: string
+ show_if: [["enabled", "=", true]]
+ default: ""
+ - variable: destinationPath
+ label: "destinationPath"
+ schema:
+ type: string
+ show_if: [["enabled", "=", true]]
+ default: ""
+ - variable: retentionPolicy
+ label: "retentionPolicy"
+ schema:
+ type: string
+ show_if: [["enabled", "=", true]]
+ default: "30d"
+ - variable: provider
+ label: "provider"
+ schema:
+ type: string
+ show_if: [["enabled", "=", true]]
+ default: "s3"
+ enum:
+ - value: s3
+ description: S3
+ - value: azure
+ description: Azure
+ - value: google
+ description: Google
+ - variable: s3
+ label: "s3"
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["provider", "=", "s3"]]
+ attrs:
+ - variable: region
+ label: "region"
+ schema:
+ type: string
+ default: ""
+ - variable: bucket
+ label: "bucket"
+ schema:
+ type: string
+ default: ""
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ default: "/"
+ - variable: accessKey
+ label: "accessKey"
+ schema:
+ type: string
+ default: ""
+ - variable: secretKey
+ label: "secretKey"
+ schema:
+ type: string
+ default: ""
+ - variable: azure
+ label: "azure (EXTREMELY EXPERIMENTAL)"
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["provider", "=", "azure"]]
+ attrs:
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ default: "/"
+ - variable: connectionString
+ label: "connectionString"
+ schema:
+ type: string
+ default: ""
+ - variable: storageAccount
+ label: "storageAccount"
+ schema:
+ type: string
+ default: ""
+ - variable: storageKey
+ label: "storageKey"
+ schema:
+ type: string
+ show_if: [["enabled", "=", true]]
+ default: ""
+ - variable: storageSasToken
+ label: "storageSasToken"
+ schema:
+ type: string
+ default: ""
+ - variable: containerName
+ label: "containerName"
+ schema:
+ type: string
+ default: ""
+ - variable: serviceName
+ label: "serviceName"
+ schema:
+ type: string
+ default: "blob"
+ - variable: inheritFromAzureAD
+ label: "inheritFromAzureAD"
+ schema:
+ type: boolean
+ default: false
+ - variable: google
+ label: "google (EXTREMELY EXPERIMENTAL)"
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["provider", "=", "google"]]
+ attrs:
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ default: "/"
+ - variable: bucket
+ label: "bucket"
+ schema:
+ type: string
+ default: ""
+ - variable: gkeEnvironment
+ label: "gkeEnvironment"
+ schema:
+ type: string
+ default: ""
+ - variable: applicationCredentials
+ label: "applicationCredentials"
+ schema:
+ type: string
+ default: ""
+ - variable: scheduledBackups
+ label: ScheduledBackups
+ schema:
+ type: list
+ default: []
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: backupschedule
+ label: BackupSchedule
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: name
+ schema:
+ type: string
+ default: "daily-backup"
+ required: true
+ - variable: schedule
+ label: schedule
+ schema:
+ type: string
+ required: true
+ default: "0 0 0 * * *"
+ - variable: backupOwnerReference
+ label: backupOwnerReference
+ schema:
+ type: string
+ required: true
+ default: "self"
+ - variable: immediate
+ label: immediate
+ schema:
+ type: boolean
+ default: false
+ - variable: suspend
+ label: suspend
+ schema:
+ type: boolean
+ default: false
+ - variable: manualBackups
+ label: manualBackups
+ schema:
+ type: list
+ default: []
+ show_if: [["enabled", "=", true]]
+ items:
+ - variable: backup
+ label: Backup
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: name
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: docs
+ group: Documentation
+ label: Please read the documentation at https://truecharts.org
+ description: Please read the documentation at
+
https://truecharts.org
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: confirmDocs
+ label: I have checked the documentation
+ schema:
+ type: boolean
+ default: true
+ - variable: donateNag
+ group: Documentation
+ label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor
+ description: Please consider supporting TrueCharts, see
+
https://truecharts.org/sponsor
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: confirmDonate
+ label: I have considered donating
+ schema:
+ type: boolean
+ default: true
+ hidden: true
diff --git a/dev/postgresql/15.0.17/templates/NOTES.txt b/dev/postgresql/15.0.17/templates/NOTES.txt
new file mode 100644
index 0000000000..efcb74cb77
--- /dev/null
+++ b/dev/postgresql/15.0.17/templates/NOTES.txt
@@ -0,0 +1 @@
+{{- include "tc.v1.common.lib.chart.notes" $ -}}
diff --git a/dev/postgresql/15.0.17/templates/common.yaml b/dev/postgresql/15.0.17/templates/common.yaml
new file mode 100644
index 0000000000..992373e750
--- /dev/null
+++ b/dev/postgresql/15.0.17/templates/common.yaml
@@ -0,0 +1,2 @@
+
+{{ include "tc.v1.common.loader.all" . }}
diff --git a/dev/postgresql/15.0.17/values.yaml b/dev/postgresql/15.0.17/values.yaml
new file mode 100644
index 0000000000..e69de29bb2