Skip to content

Commit 8d5c4f8

Browse files
committed
Merge branch 'merge-1.18.0-rc4' into 'main'
Merge 1.18.0 rc4 Closes #3085 See merge request ongresinc/stackgres!1702
2 parents c9fd322 + fccdbd5 commit 8d5c4f8

14 files changed

Lines changed: 237 additions & 92 deletions

File tree

.gitlab/issue_templates/RC Release.md

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Set title to:
44
55
```
6-
Release StackGres 1.18.0-rc4
6+
Release StackGres 1.18.0-rc5
77
```
88
99
Generate template using the command:
@@ -16,29 +16,29 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
1616

1717
# Pre Checks
1818

19-
1. [ ] Make sure all tasks marked with label ~"target_version::1.18.0-rc4" are done.
19+
1. [ ] Make sure all tasks marked with label ~"target_version::1.18.0-rc5" are done.
2020

2121
# Release steps
2222

23-
1. [ ] Create local branch `release-1.18.0-rc4` from `main-1.18`:
23+
1. [ ] Create local branch `release-1.18.0-rc5` from `main-1.18`:
2424
```
25-
git checkout "main-1.18" && git pull && git checkout -b "release-1.18.0-rc4"
25+
git checkout "main-1.18" && git pull && git checkout -b "release-1.18.0-rc5"
2626
```
27-
1. [ ] Update project version to `1.18.0-rc4`:
27+
1. [ ] Update project version to `1.18.0-rc5`:
2828
```
29-
sh -x stackgres-k8s/ci/utils/update-version.sh "1.18.0-rc4"
29+
sh -x stackgres-k8s/ci/utils/update-version.sh "1.18.0-rc5"
3030
```
3131
1. [ ] Update `CHANGELOG.md` (review commit messages to populate the changelog: `git log`)
32-
1. [ ] Add 1.18.0-rc4 section in `doc/content/en/01-introduction/06-versions/_index.md` with values from `stackgres-k8s/src/common/src/main/resources/versions-1.18.properties`
32+
1. [ ] Add 1.18.0-rc5 section in `doc/content/en/01-introduction/06-versions/_index.md` with values from `stackgres-k8s/src/common/src/main/resources/versions-1.18.properties`
3333
1. [ ] Check the changes to ensure everything is correct before commit:
3434
```
3535
git diff
3636
```
37-
1. [ ] Commit changes with message `version: 1.18.0-rc4`:
37+
1. [ ] Commit changes with message `version: 1.18.0-rc5`:
3838
```
39-
git commit -S -a -m "version: 1.18.0-rc4"
39+
git commit -S -a -m "version: 1.18.0-rc5"
4040
```
41-
1. [ ] Push `release-1.18.0-rc4` branch:
41+
1. [ ] Push `release-1.18.0-rc5` branch:
4242
4343
**This step requires at least one ARM instance with docker installed and a gitlab runner registered with the StackGres project. All this setup is already built in a template. The only action we need to do is scale up the auto-scaling group `sg-army-builder` auto scaling group.**
4444
@@ -53,9 +53,9 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
5353
curl -s https://gitlab.com/snippets/1985684/raw | bash -s -- -r "$GITLAB_TOKEN" -t m6gd.4xlarge -i "$AMI" -d $((4 * 60 * 60)) -df internal -dp /dev/nvme1n1 -rn army-builder -tl 'docker-junit-extension-runner, oci-image, ongresinc, stackgres-maven-runner, stackgres-native-build-runner, stackgres-quarkus-test-runner, stackgres-runner-v2, linux-arm64, stackgres-e2e-runner'
5454
```
5555
56-
Now we can push `release-1.18.0-rc4` branch and wait for the pipeline to complete:
56+
Now we can push `release-1.18.0-rc5` branch and wait for the pipeline to complete:
5757
```
58-
git push origin "release-1.18.0-rc4" -o ci.variable="DO_IMAGES=true" -o ci.variable="DO_NATIVE=true" -o ci.variable="DO_ARM=true" -o ci.variable="DO_RELEASE_IMAGE=true"
58+
git push origin "release-1.18.0-rc5" -o ci.variable="DO_IMAGES=true" -o ci.variable="DO_NATIVE=true" -o ci.variable="DO_ARM=true" -o ci.variable="DO_RELEASE_IMAGE=true"
5959
```
6060
6161
1. [ ] Perform preflight for operator images (make each of them pass pass the index health check by opening each image project):
@@ -66,16 +66,16 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
6666
6767
```
6868
cd stackgres-k8s/install/operator-sdk/openshift-certification/
69-
STACKGRES_VERSION="1.18.0-rc4" IMAGE_TAG="$(git rev-parse --short=8 HEAD)" sh get-images.sh | grep -F quay.io/stackgres/ | sed 's#quay\.io/stackgres/#registry.gitlab.com/ongresinc/stackgres/stackgres/#' | xargs -I % sh preflight.sh %
69+
STACKGRES_VERSION="1.18.0-rc5" IMAGE_TAG="$(git rev-parse --short=8 HEAD)" sh get-images.sh | grep -F quay.io/stackgres/ | sed 's#quay\.io/stackgres/#registry.gitlab.com/ongresinc/stackgres/stackgres/#' | xargs -I % sh preflight.sh %
7070
```
7171
72-
1. [ ] Create tag `1.18.0-rc4`:
72+
1. [ ] Create tag `1.18.0-rc5`:
7373
```
74-
git tag "1.18.0-rc4"
74+
git tag "1.18.0-rc5"
7575
```
76-
1. [ ] Push tag `1.18.0-rc4` to the origin and wait for the pipeline to complete:
76+
1. [ ] Push tag `1.18.0-rc5` to the origin and wait for the pipeline to complete:
7777
```
78-
git push origin "1.18.0-rc4"
78+
git push origin "1.18.0-rc5"
7979
```
8080
1. [ ] After pipeline succeeded, scale down the ARM runners (or terminate the instance created with the script):
8181
```
@@ -88,7 +88,7 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
8888
8989
```
9090
cd stackgres-k8s/install/operator-sdk/openshift-certification/
91-
STACKGRES_VERSION="1.18.0-rc4" IMAGE_TAG="1.18.0-rc4" sh get-images.sh | grep -F quay.io/stackgres/ | xargs -I % sh preflight.sh %
91+
STACKGRES_VERSION="1.18.0-rc5" IMAGE_TAG="1.18.0-rc5" sh get-images.sh | grep -F quay.io/stackgres/ | xargs -I % sh preflight.sh %
9292
```
9393
1. [ ] Create PR on Red Hat Certified Operators (wait for its completion):
9494
> File that export environment variable `FORK_GIT_URL` with the git URL (make sure user can perform push on such URL) of the project that forks project `https://github.com/redhat-openshift-ecosystem/redhat-marketplace-operators` must be specified in POSIX shell script with path `~/.stackgres/operator-bundle-red-hat-certified-config`
@@ -101,15 +101,15 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
101101
> The pipeline may fail and some changes to the operator bunle may be required. Perform such changes only on path `stackgres-k8s/install/operator-sdk/stackgres-operator/` on a separate branch:
102102
>
103103
> ```
104-
> git checkout -b "fix-bundle-1.18.0-rc4"
104+
> git checkout -b "fix-bundle-1.18.0-rc5"
105105
> git add .
106106
> git commit -m "fix: operator bundle deployment"
107-
> git push origin "fix-bundle-1.18.0-rc4" -o ci.variable="DO_IMAGES=true" -o ci.variable="DO_NATIVE=true" -o ci.variable="DO_ARM=true" -o ci.variable="DO_RELEASE_IMAGE=true"
107+
> git push origin "fix-bundle-1.18.0-rc5" -o ci.variable="DO_IMAGES=true" -o ci.variable="DO_NATIVE=true" -o ci.variable="DO_ARM=true" -o ci.variable="DO_RELEASE_IMAGE=true"
108108
> ```
109109
>
110110
> Repeat the PR creation step above.
111111
>
112-
> When PR is merged create a MR to `main-1.18.0-rc4` branch.
112+
> When PR is merged create a MR to `main-1.18.0-rc5` branch.
113113
1. [ ] Create PR on Red Hat Marketplace Operators (wait for its completion):
114114
> File that export environment variable `FORK_GIT_URL` with the git URL (make sure user can perform push on such URL) of the project that forks project `https://github.com/redhat-openshift-ecosystem/certified-operators` must be specified in POSIX shell script with path `~/.stackgres/operator-bundle-red-hat-certified-config`
115115
@@ -121,15 +121,15 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
121121
> The pipeline may fail and some changes to the operator bunle may be required. Perform such changes only on path `stackgres-k8s/install/operator-sdk/stackgres-operator/` on a separate branch:
122122
>
123123
> ```
124-
> git checkout -b "fix-bundle-1.18.0-rc4"
124+
> git checkout -b "fix-bundle-1.18.0-rc5"
125125
> git add .
126126
> git commit -m "fix: operator bundle deployment"
127-
> git push origin "fix-bundle-1.18.0-rc4" -o ci.variable="DO_IMAGES=true" -o ci.variable="DO_NATIVE=true" -o ci.variable="DO_ARM=true" -o ci.variable="DO_RELEASE_IMAGE=true"
127+
> git push origin "fix-bundle-1.18.0-rc5" -o ci.variable="DO_IMAGES=true" -o ci.variable="DO_NATIVE=true" -o ci.variable="DO_ARM=true" -o ci.variable="DO_RELEASE_IMAGE=true"
128128
> ```
129129
>
130130
> Repeat the PR creation step above.
131131
>
132-
> When PR is merged create a MR to `main-1.18.0-rc4` branch.
132+
> When PR is merged create a MR to `main-1.18.0-rc5` branch.
133133
1. [ ] Create PR on Red Hat Community Operators (wait for its completion):
134134
> File that export environment variable `FORK_GIT_URL` with the git URL (make sure user can perform push on such URL) of the project that forks project `https://github.com/redhat-openshift-ecosystem/community-operators-prod` must be specified in POSIX shell script with path `~/.stackgres/operator-bundle-red-hat-community-config`
135135
@@ -141,15 +141,15 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
141141
> The pipeline may fail and some changes to the operator bunle may be required. Perform such changes only on path `stackgres-k8s/install/operator-sdk/stackgres-operator/` on a separate branch:
142142
>
143143
> ```
144-
> git checkout -b "fix-bundle-1.18.0-rc4"
144+
> git checkout -b "fix-bundle-1.18.0-rc5"
145145
> git add .
146146
> git commit -m "fix: operator bundle deployment"
147-
> git push origin "fix-bundle-1.18.0-rc4" -o ci.variable="DO_IMAGES=true" -o ci.variable="DO_NATIVE=true" -o ci.variable="DO_ARM=true" -o ci.variable="DO_RELEASE_IMAGE=true"
147+
> git push origin "fix-bundle-1.18.0-rc5" -o ci.variable="DO_IMAGES=true" -o ci.variable="DO_NATIVE=true" -o ci.variable="DO_ARM=true" -o ci.variable="DO_RELEASE_IMAGE=true"
148148
> ```
149149
>
150150
> Repeat the PR creation step above.
151151
>
152-
> When PR is merged create a MR to `main-1.18.0-rc4` branch.
152+
> When PR is merged create a MR to `main-1.18.0-rc5` branch.
153153
1. [ ] Create PR on OperatorHub (wait for its completion):
154154
> File that export environment variable `FORK_GIT_URL` with the git URL (make sure user can perform push on such URL) of the project that forks project `https://github.com/k8s-operatorhub/community-operators` must be specified in POSIX shell script with path `~/.stackgres/operator-bundle-operatorhub-config`
155155
@@ -161,37 +161,37 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
161161
> The pipeline may fail and some changes to the operator bunle may be required. Perform such changes only on path `stackgres-k8s/install/operator-sdk/stackgres-operator/` on a separate branch:
162162
>
163163
> ```
164-
> git checkout -b "fix-bundle-1.18.0-rc4"
164+
> git checkout -b "fix-bundle-1.18.0-rc5"
165165
> git add .
166166
> git commit -m "fix: operator bundle deployment"
167-
> git push origin "fix-bundle-1.18.0-rc4" -o ci.variable="DO_IMAGES=true" -o ci.variable="DO_NATIVE=true" -o ci.variable="DO_ARM=true" -o ci.variable="DO_RELEASE_IMAGE=true"
167+
> git push origin "fix-bundle-1.18.0-rc5" -o ci.variable="DO_IMAGES=true" -o ci.variable="DO_NATIVE=true" -o ci.variable="DO_ARM=true" -o ci.variable="DO_RELEASE_IMAGE=true"
168168
> ```
169169
>
170170
> Repeat the PR creation step above.
171171
>
172-
> When PR is merged create a MR to `main-1.18.0-rc4` branch.
173-
1. [ ] Edit the [release notes of tag 1.18.0-rc4](https://gitlab.com/ongresinc/stackgres/-/releases/new?tag_name=1.18.0-rc4) by Copying and Pasting `CHANGELOG.md` section for version `1.18.0-rc4` (GitLab)
174-
1. [ ] Merge local branch `release-1.18.0-rc4` into `main-1.18`:
172+
> When PR is merged create a MR to `main-1.18.0-rc5` branch.
173+
1. [ ] Edit the [release notes of tag 1.18.0-rc5](https://gitlab.com/ongresinc/stackgres/-/releases/new?tag_name=1.18.0-rc5) by Copying and Pasting `CHANGELOG.md` section for version `1.18.0-rc5` (GitLab)
174+
1. [ ] Merge local branch `release-1.18.0-rc5` into `main-1.18`:
175175
```
176-
git checkout "main-1.18" && git pull && git merge --ff-only "release-1.18.0-rc4"
176+
git checkout "main-1.18" && git pull && git merge --ff-only "release-1.18.0-rc5"
177177
```
178178
1. [ ] Update version to be `1.18.0-SNAPSHOT`:
179179
```
180180
sh -x stackgres-k8s/ci/utils/update-version.sh "1.18.0-SNAPSHOT" "main-1.18"
181181
git commit -a -m "version: 1.18.0-SNAPSHOT"
182182
git push
183183
```
184-
1. [ ] Create branch `merge-1.18.0-rc4` from `main`:
184+
1. [ ] Create branch `merge-1.18.0-rc5` from `main`:
185185
```
186-
git checkout main && git pull && git checkout -b "merge-1.18.0-rc4"
186+
git checkout main && git pull && git checkout -b "merge-1.18.0-rc5"
187187
```
188-
1. [ ] Merge branch `main-1.18` into `merge-1.18.0-rc4`:
188+
1. [ ] Merge branch `main-1.18` into `merge-1.18.0-rc5`:
189189
```
190190
git merge "main-1.18"
191191
```
192-
1. [ ] Push `merge-1.18.0-rc4` to origin, create the merge request to merge it into `main` and wait for the pipeline to complete fixing any encountered issues:
192+
1. [ ] Push `merge-1.18.0-rc5` to origin, create the merge request to merge it into `main` and wait for the pipeline to complete fixing any encountered issues:
193193
```
194-
git push origin "merge-1.18.0-rc4"
194+
git push origin "merge-1.18.0-rc5"
195195
```
196196
197197
# Deploy Web
@@ -202,10 +202,10 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
202202
git checkout development && git pull
203203
```
204204
1. [ ] Edit `.gitlab-ci.yml`:
205-
* Change `STACKGRES_FULL_VERSIONS` by setting `1.18.0-rc4` as the first value.
206-
1. [ ] Commit changes with message `version: 1.18.0-rc4`:
205+
* Change `STACKGRES_FULL_VERSIONS` by setting `1.18.0-rc5` as the first value.
206+
1. [ ] Commit changes with message `version: 1.18.0-rc5`:
207207
```
208-
git commit -a -m 'version: 1.18.0-rc4'
208+
git commit -a -m 'version: 1.18.0-rc5'
209209
```
210210
1. [ ] Push development to origin:
211211
```
@@ -216,17 +216,17 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
216216
```
217217
git checkout master && git pull && git merge --ff-only development
218218
```
219-
1. [ ] Create tag `1.18.0-rc4`:
219+
1. [ ] Create tag `1.18.0-rc5`:
220220
```
221-
git tag 1.18.0-rc4
221+
git tag 1.18.0-rc5
222222
```
223223
1. [ ] Push master to origin:
224224
```
225225
git push
226226
```
227-
1. [ ] Push tag `1.18.0-rc4` to origin:
227+
1. [ ] Push tag `1.18.0-rc5` to origin:
228228
```
229-
git push origin 1.18.0-rc4
229+
git push origin 1.18.0-rc5
230230
```
231231
232232
# Post Checks
@@ -238,11 +238,11 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
238238
# Changelog
239239
240240
~~~
241-
# :rocket: Release 1.18.0-rc4 (${DATE})
241+
# :rocket: Release 1.18.0-rc5 (${DATE})
242242
243243
## :notepad_spiral: NOTES
244244
245-
StackGres 1.18.0-rc4 is out! :confetti_ball: :champagne:
245+
StackGres 1.18.0-rc5 is out! :confetti_ball: :champagne:
246246
247247
So, what you are waiting for to try this release and have a look to the future of StackGres!
248248
@@ -273,15 +273,15 @@ To upgrade from a previous installation of the StackGres operator's helm chart y
273273
274274
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):
275275
276-
`helm upgrade -n "stackgres" "stackgres-operator" https://stackgres.io/downloads/stackgres-k8s/stackgres/1.18.0-rc4/helm/stackgres-operator.tgz`
276+
`helm upgrade -n "stackgres" "stackgres-operator" https://stackgres.io/downloads/stackgres-k8s/stackgres/1.18.0-rc5/helm/stackgres-operator.tgz`
277277
278278
> 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.
279279
280280
Thank you for all the issues created, ideas, and code contributions by the StackGres Community!
281281
282-
## :twisted_rightwards_arrows: [FULL LIST OF COMMITS](https://gitlab.com/ongresinc/stackgres/-/commits/1.18.0-rc4)
282+
## :twisted_rightwards_arrows: [FULL LIST OF COMMITS](https://gitlab.com/ongresinc/stackgres/-/commits/1.18.0-rc5)
283283
~~~
284284
285-
/label ~StackGres ~"target_version::1.18.0-rc4" ~"team::DEV"
286-
/milestone %"StackGres 1.18.0-rc4"
285+
/label ~StackGres ~"target_version::1.18.0-rc5" ~"team::DEV"
286+
/milestone %"StackGres 1.18.0-rc5"
287287
/confidential

CHANGELOG.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,74 @@
1+
# :rocket: Release 1.18.0-rc4 (2025-11-24)
2+
3+
## :notepad_spiral: NOTES
4+
5+
StackGres 1.18.0-rc4 is out! :confetti_ball: :champagne:
6+
7+
> This release candidate fixes a few issues present in 1.18.0-rc3
8+
9+
Among other features this release will allow you to upgrade your clusters using a strategy and with a renewed rollout implementation that no longer relies on Jobs but is handled directly by the operator. You can still rely on SGDbOps to perform restarts, security upgrades and minor version upgrades operations or configure the clusters to preform them in an automatic fashion.
10+
11+
Another important change is the ability to set the version of your SGCluster or SGShardedCluster directly in the cluster resource. The final Postgres version (and the final extensions versions too) will no longer be changed by the operator, instead it will be set in the status and will be updated by the operator. This change will allow a much better integration with DevOps tools!
12+
13+
So, what you are waiting for! Upgrade now and have a look at the future of StackGres!
14+
15+
## :sparkles: NEW FEATURES AND CHANGES
16+
17+
* Added PostgreSQL versions 18.1, 17.7, 16.11, 15.15, 14.20 and 13.23
18+
* PgBouncer 1.25.0
19+
* Prometheus Postgres Exporter 0.18.1
20+
* FluentBit 4.2.0
21+
* OTEL Collector 0.139.0
22+
* Allow to change postgres version/extensions/config at any time and have the operator perform the rollout
23+
* Support replicate from in sharded cluster
24+
* Improved metadata and added useIAMRole to SGObjectStorage for S3
25+
* Allow to set patroni failsafe_mode and check_timeline
26+
* Allow to remove primary keys and not null constraints on snapshot and set metadata on Pod for SGStream
27+
* Updated default citus versions for sharded cluster
28+
* PostgreSQL versions 17.5, 16.9, 15.13, 14.18, 13.21 should not be advertized as bugged
29+
* Support to re-creating the SSL cluster certificate before it expires
30+
31+
## Web Console
32+
33+
Nothing new here! :eyes:
34+
35+
## :bug: FIXES
36+
37+
* Updated Patroni config to latest version
38+
* Allow to set null backup paths or null elements in backup paths for sharded clusters
39+
* Extension cache is not including all extensions when preloading
40+
* Cluster local controller check extension cache when no changes are performed on extensions
41+
* SGStream is not using detectInsertMode by default
42+
* Changing authenticator username breaks PgBouncer
43+
* PersistentVolumeClaim are not cleaned up after cluster deletion
44+
* PodMonitor is continuously patched and not removed when requested by configuration
45+
* Kubernetes cluster using IPv6 breaks replication initialization mode `FromReplica`
46+
* Use target cluster labels for cleanup after major upgrade completed
47+
48+
## Web Console
49+
50+
* Allow to unset cronSchedule and backup paths for clusters and sharded clusters
51+
* Remove default SGScript on clone
52+
53+
## :construction: KNOWN ISSUES
54+
55+
* 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))
56+
57+
## :up: UPGRADE
58+
59+
To upgrade from a previous installation of the StackGres operator's helm chart you will have to upgrade the helm chart release.
60+
For more detailed information please refer to [our documentation](https://stackgres.io/doc/latest/install/helm/upgrade/#upgrade-operator).
61+
62+
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):
63+
64+
`helm upgrade -n "stackgres" "stackgres-operator" https://stackgres.io/downloads/stackgres-k8s/stackgres/1.18.0-rc4/helm/stackgres-operator.tgz`
65+
66+
> 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.
67+
68+
Thank you for all the issues created, ideas, and code contributions by the StackGres Community!
69+
70+
## :twisted_rightwards_arrows: [FULL LIST OF COMMITS](https://gitlab.com/ongresinc/stackgres/-/commits/1.18.0-rc4)
71+
172
# :rocket: Release 1.18.0-rc3 (2025-11-19)
273

374
## :notepad_spiral: NOTES

0 commit comments

Comments
 (0)