Skip to content

Commit 26a7be5

Browse files
committed
Merge branch 'merge-1.15.0-rc4' into 'main'
Merge 1.15.0 rc4 Closes #2967 See merge request ongresinc/stackgres!1646
2 parents ee7896f + ea1dbf9 commit 26a7be5

139 files changed

Lines changed: 1862 additions & 6268 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.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.15.0-rc4
6+
Release StackGres 1.15.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.15.0-rc4" are done.
19+
1. [ ] Make sure all tasks marked with label ~"target_version::1.15.0-rc5" are done.
2020

2121
# Release steps
2222

23-
1. [ ] Create local branch `release-1.15.0-rc4` from `main-1.15`:
23+
1. [ ] Create local branch `release-1.15.0-rc5` from `main-1.15`:
2424
```
25-
git checkout "main-1.15" && git pull && git checkout -b "release-1.15.0-rc4"
25+
git checkout "main-1.15" && git pull && git checkout -b "release-1.15.0-rc5"
2626
```
27-
1. [ ] Update project version to `1.15.0-rc4`:
27+
1. [ ] Update project version to `1.15.0-rc5`:
2828
```
29-
sh -x stackgres-k8s/ci/utils/update-version.sh "1.15.0-rc4"
29+
sh -x stackgres-k8s/ci/utils/update-version.sh "1.15.0-rc5"
3030
```
3131
1. [ ] Update `CHANGELOG.md` (review commit messages to populate the changelog: `git log`)
32-
1. [ ] Add 1.15.0-rc4 section in `doc/content/en/01-introduction/06-versions/_index.md` with values from `stackgres-k8s/src/common/src/main/resources/versions.properties`
32+
1. [ ] Add 1.15.0-rc5 section in `doc/content/en/01-introduction/06-versions/_index.md` with values from `stackgres-k8s/src/common/src/main/resources/versions.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.15.0-rc4`:
37+
1. [ ] Commit changes with message `version: 1.15.0-rc5`:
3838
```
39-
git commit -S -a -m "version: 1.15.0-rc4"
39+
git commit -S -a -m "version: 1.15.0-rc5"
4040
```
41-
1. [ ] Push `release-1.15.0-rc4` branch:
41+
1. [ ] Push `release-1.15.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.15.0-rc4` branch and wait for the pipeline to complete:
56+
Now we can push `release-1.15.0-rc5` branch and wait for the pipeline to complete:
5757
```
58-
git push origin "release-1.15.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.15.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.15.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.15.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.15.0-rc4`:
72+
1. [ ] Create tag `1.15.0-rc5`:
7373
```
74-
git tag "1.15.0-rc4"
74+
git tag "1.15.0-rc5"
7575
```
76-
1. [ ] Push tag `1.15.0-rc4` to the origin and wait for the pipeline to complete:
76+
1. [ ] Push tag `1.15.0-rc5` to the origin and wait for the pipeline to complete:
7777
```
78-
git push origin "1.15.0-rc4"
78+
git push origin "1.15.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.15.0-rc4" IMAGE_TAG="1.15.0-rc4" sh get-images.sh | grep -F quay.io/stackgres/ | xargs -I % sh preflight.sh %
91+
STACKGRES_VERSION="1.15.0-rc5" IMAGE_TAG="1.15.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.15.0-rc4"
104+
> git checkout -b "fix-bundle-1.15.0-rc5"
105105
> git add .
106106
> git commit -m "fix: operator bundle deployment"
107-
> git push origin "fix-bundle-1.15.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.15.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.15.0-rc4` branch.
112+
> When PR is merged create a MR to `main-1.15.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.15.0-rc4"
124+
> git checkout -b "fix-bundle-1.15.0-rc5"
125125
> git add .
126126
> git commit -m "fix: operator bundle deployment"
127-
> git push origin "fix-bundle-1.15.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.15.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.15.0-rc4` branch.
132+
> When PR is merged create a MR to `main-1.15.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.15.0-rc4"
144+
> git checkout -b "fix-bundle-1.15.0-rc5"
145145
> git add .
146146
> git commit -m "fix: operator bundle deployment"
147-
> git push origin "fix-bundle-1.15.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.15.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.15.0-rc4` branch.
152+
> When PR is merged create a MR to `main-1.15.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.15.0-rc4"
164+
> git checkout -b "fix-bundle-1.15.0-rc5"
165165
> git add .
166166
> git commit -m "fix: operator bundle deployment"
167-
> git push origin "fix-bundle-1.15.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.15.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.15.0-rc4` branch.
173-
1. [ ] Edit the [release notes of tag 1.15.0-rc4](https://gitlab.com/ongresinc/stackgres/-/releases/new?tag_name=1.15.0-rc4) by Copying and Pasting `CHANGELOG.md` section for version `1.15.0-rc4` (GitLab)
174-
1. [ ] Merge local branch `release-1.15.0-rc4` into `main-1.15`:
172+
> When PR is merged create a MR to `main-1.15.0-rc5` branch.
173+
1. [ ] Edit the [release notes of tag 1.15.0-rc5](https://gitlab.com/ongresinc/stackgres/-/releases/new?tag_name=1.15.0-rc5) by Copying and Pasting `CHANGELOG.md` section for version `1.15.0-rc5` (GitLab)
174+
1. [ ] Merge local branch `release-1.15.0-rc5` into `main-1.15`:
175175
```
176-
git checkout "main-1.15" && git pull && git merge --ff-only "release-1.15.0-rc4"
176+
git checkout "main-1.15" && git pull && git merge --ff-only "release-1.15.0-rc5"
177177
```
178178
1. [ ] Update version to be `1.15.0-SNAPSHOT`:
179179
```
180180
sh -x stackgres-k8s/ci/utils/update-version.sh "1.15.0-SNAPSHOT" "main-1.15"
181181
git commit -a -m "version: 1.15.0-SNAPSHOT"
182182
git push
183183
```
184-
1. [ ] Create branch `merge-1.15.0-rc4` from `main`:
184+
1. [ ] Create branch `merge-1.15.0-rc5` from `main`:
185185
```
186-
git checkout main && git pull && git checkout -b "merge-1.15.0-rc4"
186+
git checkout main && git pull && git checkout -b "merge-1.15.0-rc5"
187187
```
188-
1. [ ] Merge branch `main-1.15` into `merge-1.15.0-rc4`:
188+
1. [ ] Merge branch `main-1.15` into `merge-1.15.0-rc5`:
189189
```
190190
git merge "main-1.15"
191191
```
192-
1. [ ] Push `merge-1.15.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.15.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.15.0-rc4"
194+
git push origin "merge-1.15.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.15.0-rc4` as the first value.
206-
1. [ ] Commit changes with message `version: 1.15.0-rc4`:
205+
* Change `STACKGRES_FULL_VERSIONS` by setting `1.15.0-rc5` as the first value.
206+
1. [ ] Commit changes with message `version: 1.15.0-rc5`:
207207
```
208-
git commit -a -m 'version: 1.15.0-rc4'
208+
git commit -a -m 'version: 1.15.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.15.0-rc4`:
219+
1. [ ] Create tag `1.15.0-rc5`:
220220
```
221-
git tag 1.15.0-rc4
221+
git tag 1.15.0-rc5
222222
```
223223
1. [ ] Push master to origin:
224224
```
225225
git push
226226
```
227-
1. [ ] Push tag `1.15.0-rc4` to origin:
227+
1. [ ] Push tag `1.15.0-rc5` to origin:
228228
```
229-
git push origin 1.15.0-rc4
229+
git push origin 1.15.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.15.0-rc4 (${DATE})
241+
# :rocket: Release 1.15.0-rc5 (${DATE})
242242
243243
## :notepad_spiral: NOTES
244244
245-
StackGres 1.15.0-rc4 is out! :confetti_ball: :champagne:
245+
StackGres 1.15.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.15.0-rc4/helm/stackgres-operator.tgz`
276+
`helm upgrade -n "stackgres" "stackgres-operator" https://stackgres.io/downloads/stackgres-k8s/stackgres/1.15.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.15.0-rc4)
282+
## :twisted_rightwards_arrows: [FULL LIST OF COMMITS](https://gitlab.com/ongresinc/stackgres/-/commits/1.15.0-rc5)
283283
~~~
284284
285-
/label ~StackGres ~"target_version::1.15.0-rc4" ~"team::DEV"
286-
/milestone %"StackGres 1.15.0-rc4"
285+
/label ~StackGres ~"target_version::1.15.0-rc5" ~"team::DEV"
286+
/milestone %"StackGres 1.15.0-rc5"
287287
/confidential

CHANGELOG.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,84 @@
1+
# :rocket: Release 1.15.0-rc4 (2025-01-30)
2+
3+
## :notepad_spiral: NOTES
4+
5+
StackGres 1.15.0-rc4 has been released! :confetti_ball: :champagne:
6+
7+
This release brings support for Patroni 4 that include some cool features like "Quorum-based failover" or "Register Citus secondaries in pg_dist_node" but also many bugfixes.
8+
9+
Another important change is the new SGDistributedLogs that after the upgrade will generate an SGCluster. This change allow to use SGDbOps in order to perform restart, security upgrade, minor version and major version upgrades operations.
10+
11+
Performance and responsiveness have been improved by allowing to reconcile StackGres custom resources in parallel with a queue that gives priority to reconciliation of StackGres custom resources that receive changes. This should improve the use cases with many StackGres custom resources.
12+
13+
So, what you are waiting for to try this release and have a look to the future of StackGres!
14+
15+
## :sparkles: NEW FEATURES AND CHANGES
16+
17+
* Support Kubernetes 1.32
18+
* Support for Patroni 4.0.4
19+
* Support for Postgres 17.2, 16.6, 15.10, 14.15, 13.18 and 12.22
20+
* Envoy 1.32.3
21+
* PgBouncer 1.24.0
22+
* Prometheus Postgres Exporter 0.16.0
23+
* Fluent-bit 3.2.4
24+
* Fluentd 1.18.0
25+
* OTEL Collector 0.117.0
26+
* Babelfish Compass 2024.12
27+
* Make SGDistributedLogs generate an SGCluster
28+
* Support for headless service
29+
* Improve performance and responsiveness
30+
* Allow to disable Envoy
31+
* Allow to set parameter `track_commit_timestamp` (useful in some migration cases)
32+
* Allow `pg_hba` section to be set for Patroni
33+
* Allow to set any value for init containers in SGInstanceProfile
34+
* Updated Debezium dependency to 3.0.7 in SGStream
35+
36+
## Web Console
37+
38+
Nothing new here! :eyes:
39+
40+
## :bug: FIXES
41+
42+
* Backups using VolumeSnapshot do not work for Postgres 14 or less
43+
* Make int-or-string fields real int-or-string and not just string fields
44+
* Allow to rollback upgrade when CHECKPOINT fail
45+
* SGScript and SGCluster script entry version are resetted to 0 if part of a reconciliation of another CR
46+
* SGShardedCluster metrics are not collected by default
47+
* SGScript fails if superuser username is changed
48+
* Major version upgrade fails when replication mode is not async
49+
* After restore from snapshot primary fail to restart
50+
* Prometheus instances are not filtered by monitors name and namespace
51+
* Replication initialization from newly created backup create many backups
52+
* wal-g s3 CA not used on restore
53+
* When SGConfig is not found on uninstall ignore it
54+
* Installation fail on k8s 1.30+
55+
* REST API logs endpoints role filter is not mapping correctly values
56+
* SGShardedDbOps resharding operation fails when using old versions of patroni
57+
* patronictl selected version is the oldest minor
58+
59+
## Web Console
60+
61+
Nothing new here! :eyes:
62+
63+
## :construction: KNOWN ISSUES
64+
65+
* 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))
66+
67+
## :up: UPGRADE
68+
69+
To upgrade from a previous installation of the StackGres operator's helm chart you will have to upgrade the helm chart release.
70+
For more detailed information please refer to [our documentation](https://stackgres.io/doc/latest/install/helm/upgrade/#upgrade-operator).
71+
72+
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):
73+
74+
`helm upgrade -n "stackgres" "stackgres-operator" https://stackgres.io/downloads/stackgres-k8s/stackgres/1.15.0-rc4/helm/stackgres-operator.tgz`
75+
76+
> 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.
77+
78+
Thank you for all the issues created, ideas, and code contributions by the StackGres Community!
79+
80+
## :twisted_rightwards_arrows: [FULL LIST OF COMMITS](https://gitlab.com/ongresinc/stackgres/-/commits/1.15.0-rc4)
81+
182
# :rocket: Release 1.15.0-rc3 (2025-01-21)
283

384
## :notepad_spiral: NOTES

0 commit comments

Comments
 (0)