Skip to content

Commit b53b6f5

Browse files
committed
Merge branch 'merge-1.15.0-rc2' into 'main'
Merge 1.15.0 rc2 See merge request ongresinc/stackgres!1633
2 parents 51283bf + 4d71b41 commit b53b6f5

63 files changed

Lines changed: 1856 additions & 620 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-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
image: null
22

33
variables:
4-
SG_CI_IMAGE_NAME: "ci:1.29"
4+
SG_CI_IMAGE_NAME: "ci:1.30"
55
BUILDER_IMAGE_NAME: "builder:1.9"
66
SKIP_NATIVE: "false"
77
SKIP_E2E: "false"

.gitlab/issue_templates/Beta Release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
5050
```
5151
# Remember to create a key pair called gitlab-runner in the target AWS region
5252
AMI="$(aws ssm get-parameters --names /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2 --query "Parameters[].Value" --output text)"
53-
curl -s https://gitlab.com/snippets/1985684/raw | bash -s -- -r "glpat-CrykSN35Lymqo1UCJDUx" -t m6gd.4xlarge -i "" -d 14400 -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'
53+
curl -s https://gitlab.com/snippets/1985684/raw | bash -s -- -r "glpat-BkmNTE69g2-4cuS2Qkv4" -t m6gd.4xlarge -i "" -d 14400 -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
5656
Now we can push `release-1.15.0-beta1` branch and wait for the pipeline to complete:

.gitlab/issue_templates/GA Release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ sh stackgres-k8s/ci/utils/generate-release-template.sh $VERSION
5050
```
5151
# Remember to create a key pair called gitlab-runner in the target AWS region
5252
AMI="$(aws ssm get-parameters --names /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2 --query "Parameters[].Value" --output text)"
53-
curl -s https://gitlab.com/snippets/1985684/raw | bash -s -- -r "glpat-CrykSN35Lymqo1UCJDUx" -t m6gd.4xlarge -i "" -d 14400 -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'
53+
curl -s https://gitlab.com/snippets/1985684/raw | bash -s -- -r "glpat-BkmNTE69g2-4cuS2Qkv4" -t m6gd.4xlarge -i "" -d 14400 -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
5656
Now we can push `release-1.15.0` branch and wait for the pipeline to complete:

.gitlab/issue_templates/RC Release.md

Lines changed: 52 additions & 52 deletions
Large diffs are not rendered by default.

CHANGELOG.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,64 @@
1+
# :rocket: Release 1.15.0-rc2 (2024-12-11)
2+
3+
## :notepad_spiral: NOTES
4+
5+
StackGres 1.15.0-rc2 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 for Patroni 4.0.4
18+
* Support for Postgres 17.2, 16.6, 15.10, 14.15, 13.18 and 12.22
19+
* Envoy 1.32.1
20+
* Prometheus Postgres Exporter 0.16.0
21+
* Fluent-bit 3.2.1
22+
* OTEL Collector 0.114.0
23+
* Make SGDistributedLogs generate an SGCluster
24+
* Support for headless service
25+
* Improve performance and responsiveness
26+
* Allow to disable Envoy
27+
28+
## Web Console
29+
30+
Nothing new here! :eyes:
31+
32+
## :bug: FIXES
33+
34+
* Make int-or-string fields real int-or-string and not just string fields
35+
* Allow to rollback upgrade when CHECKPOINT fail
36+
* SGScript and SGCluster script entry version are resetted to 0 if part of a reconciliation of another CR
37+
* SGShardedCluster metrics are not collected by default
38+
39+
## Web Console
40+
41+
Nothing new here! :eyes:
42+
43+
## :construction: KNOWN ISSUES
44+
45+
* 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))
46+
47+
## :up: UPGRADE
48+
49+
To upgrade from a previous installation of the StackGres operator's helm chart you will have to upgrade the helm chart release.
50+
For more detailed information please refer to [our documentation](https://stackgres.io/doc/latest/install/helm/upgrade/#upgrade-operator).
51+
52+
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):
53+
54+
`helm upgrade -n "stackgres" "stackgres-operator" https://stackgres.io/downloads/stackgres-k8s/stackgres/1.15.0-rc1/helm/stackgres-operator.tgz`
55+
56+
> 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.
57+
58+
Thank you for all the issues created, ideas, and code contributions by the StackGres Community!
59+
60+
## :twisted_rightwards_arrows: [FULL LIST OF COMMITS](https://gitlab.com/ongresinc/stackgres/-/commits/1.15.0-rc2)
61+
162
# :rocket: Release 1.15.0-rc1 (2024-12-04)
263

364
## :notepad_spiral: NOTES

doc/build.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ find "$(dirname "$0")/../stackgres-k8s/src/common/src/main/resources/crds" -name
1010
cp "$FILE" "$(dirname "$0")/data/crds"
1111
done
1212
cp "$(dirname "$0")/../stackgres-k8s/install/helm/stackgres-operator/Chart.yaml" "$(dirname "$0")/data/stackgres_operator_Chart.yaml"
13+
sed -n 's#^ *RUN wget "https://get.helm.sh/helm-v\([^-]\+\)-.*$#version: \1#p' "$(dirname "$0")/../stackgres-k8s/ci/build/Dockerfile-ci" > "$(dirname "$0")/data/helm_version.yaml"
1314

1415
STACKGRES_VERSION="${STACKGRES_VERSION:-$(sh stackgres-k8s/ci/build/version.sh)}"
1516
echo "current_version: \"$STACKGRES_VERSION\"" > "$(dirname "$0")/data/versions.yml"
@@ -51,7 +52,7 @@ helm-docs \
5152
)
5253
mv "$(dirname "$0")/../stackgres-k8s/install/helm/stackgres-operator/generated.md" \
5354
"$(dirname "$0")/generated/stackgres-operator.md"
54-
TARGET_PATH="$(dirname "$0")/../doc/content/en/04-administration-guide/01-stackgres-installation/02-installation-via-helm/01-operator-parameters"
55+
TARGET_PATH="$(dirname "$0")/../doc/content/en/04-administration-guide/01-installation/02-installation-via-helm/01-operator-parameters"
5556
INCLUDE_LINE="$(cat "$TARGET_PATH/_index.template.md" | grep -nxF '{{% include "generated/stackgres-operator.md" %}}' | cut -d : -f 1)"
5657
head -n "$((INCLUDE_LINE - 1))" "$TARGET_PATH/_index.template.md" > "$TARGET_PATH/_index.md"
5758
cat "$(dirname "$0")/generated/stackgres-operator.md" >> "$TARGET_PATH/_index.md"

doc/content/en/01-introduction/03-architecture/01-components-of-the-stack/_index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ and integrates as a sidecar offering an auto binding mechanism if Prometheus is
155155
Please take into account that Prometheus is an external dependency and that StackGres expects that you install and configure it separately.
156156

157157
Of course, StackGres provides an option to deploy Prometheus alongside the StackGres Operator
158-
as part of the [Helm chart]({{% relref "04-administration-guide/01-stackgres-installation/02-installation-via-helm" %}})
158+
as part of the [Helm chart]({{% relref "04-administration-guide/01-installation/02-installation-via-helm" %}})
159159
and you can follow the steps described there to set the required parameters so that the monitoring integration works as expected.
160160
Please read and review the steps and notes for a successful installation.
161161

@@ -169,8 +169,8 @@ By default, the [Prometheus Operator](https://github.com/coreos/prometheus-opera
169169

170170
StackGres includes two ways:
171171

172-
- [Automatic integration]({{% relref "/04-administration-guide/01-stackgres-installation/01-pre-requisites/#integrating-pre-existing-grafanas" %}})
173-
- [Manual integration]({{% relref "/04-administration-guide/01-stackgres-installation/01-pre-requisites/#manual-integration" %}})
172+
- [Automatic integration]({{% relref "/04-administration-guide/01-installation/01-pre-requisites/#integrating-pre-existing-grafanas" %}})
173+
- [Manual integration]({{% relref "/04-administration-guide/01-installation/01-pre-requisites/#manual-integration" %}})
174174

175175
Some manual steps are required in order to achieve such integration.
176176

doc/content/en/01-introduction/06-versions/_index.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,30 @@ showToc: true
88

99
=======
1010

11+
## StackGres 1.15.0-rc2
12+
13+
| Component | Versions |
14+
| ------ | ----------- |
15+
| PostgreSQL 17 | 17.2, 17.0 |
16+
| PostgreSQL 16 | 16.6, 16.4, 16.3, 16.2, 16.1, 16.0 |
17+
| PostgreSQL 15 | 15.10, 15.8, 15.7, 15.6, 15.5, 15.4, 15.3, 15.2, 15.1, 15.0 |
18+
| PostgreSQL 14 | 14.15, 14.13, 14.12, 14.11, 14.10, 14.9, 14.8, 14.7, 14.6, 14.5, 14.4, ~14.2, 14.1, 14.0~ |
19+
| PostgreSQL 13 | 13.18, 13.16 13.15, 13.14, 13.13, 13.12, 13.11, 13.10, 13.9, 13.8, 13.7, 13.6, 13.5, 13.4, 13.3, 13.2, 13.1, 13.0 |
20+
| PostgreSQL 12 | 12.22, 12.20, 12.19, 12.18, 12.17, 12.16, 12.15, 12.14, 12.13, 12.12, 12.11, 12.10, 12.9, 12.8, 12.7, 12.6, 12.5, 12.4, 12.3, 12.2 and 12.1 |
21+
| PostgreSQL for Babelfish 16 | 16.4, 16.2, 16.1 |
22+
| PostgreSQL for Babelfish 15 | 15.8, 15.5 |
23+
| PostgreSQL for Babelfish 14 | 14.11, 14.10, 14.3 |
24+
| PostgreSQL for Babelfish 13 | 13.9, 13.6 |
25+
| Patroni | 4.0.4, 3.3.3, 3.3.2, 3.3.0, 3.2.2, 3.0.2, 2.1.4 |
26+
| WAL-G | 3.0.3, 3.0.2, 3.0.1, 2.0.1, 2.0.0, 1.1 |
27+
| PgBouncer | 1.23.1 |
28+
| Postgres Exporter | 0.16.0 |
29+
| Envoy | 1.32.1 |
30+
| Fluent-Bit | 3.2.1 |
31+
| Fluentd | 1.17.1 |
32+
| Babelfish Compass | 2024.10b |
33+
| OTEL Collector | 0.114.0 |
34+
1135
## StackGres 1.15.0-rc1
1236

1337
| Component | Versions |

doc/content/en/03-demo-quickstart/_index.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,22 @@ aliases: [ /demo/quickstart ]
1313
On this page, you will learn how to get started with StackGres.
1414
We will install StackGres on a Kubernetes cluster and create a Postgres instance.
1515

16-
> **NOTE:** To run this demo you need a [K8s environment]({{% relref "04-administration-guide/01-stackgres-installation/01-pre-requisites/01-k8s-environments" %}}) that is already configured in `kubectl`.
16+
> **NOTE:** To run this demo you need a [K8s environment]({{% relref "04-administration-guide/01-installation/01-pre-requisites" %}}) with `kubectl` command already configured to use it. You will also need [`helm`](https://helm.sh/) command version >= `{{% helm-min-version %}}`.
17+
18+
## Set Up the Helm Repository
19+
20+
Add the StackGres Helm repository:
21+
22+
```
23+
helm repo add stackgres-charts https://stackgres.io/downloads/stackgres-k8s/stackgres/helm/
24+
```
1725

1826
## Installing the Operator
1927

20-
We ship some Kubernetes resources files in order to allow installation of the StackGres operator
21-
for demonstration purpose. Assuming you have already installed the
22-
[kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/), you can install the
23-
operator with the following command:
28+
Install the operator using the following command:
2429

2530
```
26-
kubectl create -f {{< download-url >}}/stackgres-operator-demo.yml
31+
helm install --create-namespace --namespace stackgres stackgres-operator stackgres-charts/stackgres-operator --version {{< version >}}
2732
```
2833

2934
This will install all required resources, and add the StackGres operator to a new namespace `stackgres`.
@@ -151,10 +156,9 @@ Then you can open the browser at the following address [`localhost:8443/admin/`]
151156
## Cleaning up
152157

153158
To uninstall all resources generated by this demo, you can run:
159+
154160
```
155-
kubectl delete --ignore-not-found -f {{< download-url >}}/stackgres-operator-demo.yml
161+
helm uninstall --namespace stackgres stackgres-operator
156162
```
157163

158164
Check the [uninstall]({{% relref "/04-administration-guide/999999-uninstall" %}}) section for more details.
159-
160-
Also, see the [installation via helm]({{% relref "/04-administration-guide/01-stackgres-installation/02-installation-via-helm" %}}) section in order to change those.

doc/content/en/04-administration-guide/01-stackgres-installation/01-pre-requisites/01-k8s-environments/01-Rancher RKE/_index.md renamed to doc/content/en/04-administration-guide/01-installation/01-pre-requisites/01-k8s-environments/01-Rancher RKE/_index.md

File renamed without changes.

0 commit comments

Comments
 (0)