OnGres Inc./StackGres: Release 1.4.0

Name: StackGres

Owner: OnGres Inc.

Release: 1.4.0

Released: 2022-11-25

License: AGPL-3.0

Release Assets:

# :rocket: Release 1.4.0 (2022-11-25) ## :notepad_spiral: NOTES StackGres 1.4.0 is out, prepared to help in recovering from a disaster and to hook into the cluster by adding your own custom containers. :confetti_ball: :sos: :alien: :gift_heart: This release also introduce more support for typical Kubernetes scheduling configuration by adding support for node labels, tolerations, node affinity, pod affinity, pod anty affinity and topology spread constraints on all the Pods generated by the operator. Also, major version upgrade include the most wanted best-effort rollback feature so you will not have to recover a crashed major version upgrade manually if you do not specify any destructive option like using clone or link. The check option also changes the operation so that the upgrade will not be performed at all but only checks will run. And, last but not least, the operation now also performs a cleanup so that the old data will be wiped out when the operation completes successfully and the primary Pod reach the Ready state. So, what you are waiting for to try this beta release and have a look to the future of StackGres! ## :sparkles: NEW FEATURES AND CHANGES * Support Kubernetes 1.25 * Updated kubectl image to use version 1.24 * PostgreSQL 15.1, 15.0, 14.6, 14.5, 14.4, 13.9, 13.8, 13.7, 12.13, 12.12 and 12.11 * Wal-g 2.0.1 * Envoy 1.24.0 * PgBouncer 1.17.0 * Fluent-Bit 1.9.9 and Fluentd to 1.15.3 * Postgres Exporter 0.11.1 * Babelfish for PostgreSQL 14.3 (still in alpha, also take into account 14.3 has the CREATE INDEX CONCURRENTLY bug in it so use at your own risk!) * Babelfish Compass 2022.10 * Disallow creation using PostgreSQL 14.3- (except for Babelfish) and create a warning if a user is using it * Added SGStorageObject CRD to configure where to store any kind of object (used initially only for backups) * Support to configure backups in SGCluster specifying automatic backup configuration and reference SGStorageObject CRs * Automatic migration from SGBackupConfig CR to the new SGStorageObject CR in SGCluster and deprecation of SGBackupConfig * Support to configure managed SQL in SGCluster specifying a reference to SGScript CRs * Automatic migration from initial data script to managed SQL with SGScript CRs * Support for resource restrictions for all Pod's containers * Allow to specify requests and limit in SGInstanceProfile for non-production * Support SGInstanceProfile and SGPostgresConfig on SGDistributedLogs * Removed compatibility with clusters created in StackGres 1.0 * Validate and integrate into tests OpenShift 4.9+ * Allow specifying loadBalancerIP for postgres services * Tolerations for SGDbOps * Allow specifying node selector and node affinity for SGBackup, SGDistributedLogs, and SGDbOps * Show wal-g wal-verify output in backup Job logs * Allow managing pods in parallel * Improved operator helm chart upgrade * Annotations, affinity, tolerations, and nodeSelector added in Operator Helm Chart * Support for Cert Manager certificates added in Operator Helm Chart * Change backup CronJob concurrencyPolicy to Forbid * Support for HTTP gzip compression when fetching the extension's metadata * Automatic reload of pgbouncer config ## Web Console * Initial support for OpenID Connect * Divide extensions according to their license * Enhanced usability/discoverability of the "enable monitoring" option when creating a cluster * Unify switches texts on forms * Change the text of Close Details button * Improve Backup configuration layout/order on SGCluster form * Simplify action buttons names on CRD Details * Update and improve the UI Connection Info popup * Add button to go back to List view on Cluster Details ## :bug: FIXES * Certificate is not issued for EKS 1.22+ * After upgrading operator from 1.3.3 the SGCluster StatefulSet was missing the patroni container. * Support for Kubernetes 1.25 was not working * Events service being suppressed during benchmark job * Repeated error messages returned from REST API * Backups Job shows some permission errors in the log * Pending state during the creation of SGBackup for clusters without backup configuration * Unable to restore PITR in any cluster * Images with a non-root account fail to read the token file on EKS * Mutating webhook bug make validation to be skipped when a wrong postgres version was issued * Add missing resources to the can-i REST API endpoint * The info property of all sgcluster related endpoints is returning the deprecated `-primary` service * Set default log_statement value to none for SGPostgresConfig * Lower the initial param autovacuum_work_mem * Wrong message for wrong version on major/minor upgrade validation * Cluster is not reconciled when prometheus auto bind is disabled in the operator * Make the restart shell scripts more resilient ## Web Console * General improvement of distributed logs and benchmark results * General improvement of user permissions validations * Monitoring tab is empty when there are no active pods * Pods and time range selectors missing on the monitoring tab * Namespace selector won't stay open * Review and adjust tooltips that won't match reverse-logic specs * Not Found appears on top of Header on Details views * Details about Distributed logs configuration not shown in the logs server section * Namespaces Overview header appears when logged out but won't show on login * Managed backups specs not loading on SGCluster form * Proposed default names contain non-valid characters * Clone CRD function not working for SGClusters, SGPostgresConfigs and SGPoolingConfigs * Adjust pagination color scheme on dark mode * Wait Timeout on Repack databases appears empty * Remove Enable Primary Service toggle from Distributed Logs form * Missing service status on SGCluster and SGDistributedLogs details * Fix misplaced warning icons ## :construction: KNOWN ISSUES * Major version upgrade fails if some extensions version are not available for the target Postgres version ([#1368](https://gitlab.com/ongresinc/stackgres/-/issues/1368)) * Backups may be restored with inconsistencies when performed with a Postgres instance running on a different architecture ([#1539](https://gitlab.com/ongresinc/stackgres/-/issues/1539)) ## :up: UPGRADE To upgrade from a previous installation of the StackGres operator's helm chart you will have to upgrade the helm chart release. For more detailed information please refer to [our documentation](https://stackgres.io/doc/latest/install/helm/upgrade/#upgrade-operator). To upgrade StackGres operator's (upgrade only works starting from 1.1 version or above) helm chart issue the following commands (replace namespace and release name if you used something different): `helm upgrade -n "stackgres" "stackgres-operator" https://stackgres.io/downloads/stackgres-k8s/stackgres/1.4.0/helm/stackgres-operator.tgz` > IMPORTANT: This release is incompatible with previous `alpha` or `beta` versions. Upgrading from those versions will require uninstalling completely StackGres including all clusters and StackGres CRDs (those in `stackgres.io` group) first. Thank you for all the issues created, ideas, and code contributions by the StackGres Community! ## :twisted_rightwards_arrows: [FULL LIST OF COMMITS](https://gitlab.com/ongresinc/stackgres/-/commits/1.4.0)

To top