From b7da8012133484692a41adcbf20872b6fabf881e Mon Sep 17 00:00:00 2001 From: Alessio Dionisi Date: Fri, 20 Sep 2024 15:45:50 +0200 Subject: [PATCH] feat: prepare v1.29.4 release (#262) * feat: prepare v1.29.4 release * feat: add missing releases * deps: revert kubectl to 1.29.3 * deps: use latest furyctl * docs: apply suggestions --- .drone.yml | 8 +- MAINTENANCE.md | 10 +- README.md | 10 +- docs/COMPATIBILITY_MATRIX.md | 3 + docs/releases/v1.27.9.md | 6 +- docs/releases/v1.28.4.md | 6 +- docs/releases/v1.29.4.md | 11 +- kfd.yaml | 2 +- .../98.cluster-certificates-renewal.yaml.tpl | 2 +- tests/e2e-kfddistribution-upgrades.sh | 6 +- .../furyctl-init-cluster-1.29.4.yaml | 104 ++++++++++++++++++ 11 files changed, 137 insertions(+), 31 deletions(-) create mode 100644 tests/e2e/kfddistribution-upgrades/furyctl-init-cluster-1.29.4.yaml diff --git a/.drone.yml b/.drone.yml index 051af7898..b4de8c7e1 100644 --- a/.drone.yml +++ b/.drone.yml @@ -157,7 +157,7 @@ steps: environment: CLUSTER_NAME: ${DRONE_REPO_NAME}-${DRONE_BUILD_NUMBER} KUBECONFIG: /drone/src/kubeconfig - FURYCTL_VERSION: v0.29.5-rc.0 + FURYCTL_VERSION: v0.29.7-rc.0 depends_on: [create Kind cluster] commands: - export KUBECONFIG=/drone/src/kubeconfig @@ -196,7 +196,7 @@ volumes: host: path: /var/run/docker.sock --- -name: e2e-kubernetes-1.29.0-1.29.1-1.29.2-1.29.3 +name: e2e-kubernetes-1.29.0-1.29.1-1.29.2-1.29.3-1.29.4 kind: pipeline type: docker @@ -261,7 +261,7 @@ steps: environment: CLUSTER_NAME: ${DRONE_REPO_NAME}-${DRONE_BUILD_NUMBER}-upgrades KUBECONFIG: /drone/src/kubeconfig-upgrades - FURYCTL_VERSION: v0.29.5-rc.0 + FURYCTL_VERSION: v0.29.7-rc.0 depends_on: [create Kind cluster] commands: - export KUBECONFIG=/drone/src/kubeconfig-upgrades @@ -306,7 +306,7 @@ type: docker depends_on: - e2e-kubernetes-1.29 - - e2e-kubernetes-1.29.0-1.29.1-1.29.2-1.29.3 + - e2e-kubernetes-1.29.0-1.29.1-1.29.2-1.29.3-1.29.4 platform: os: linux diff --git a/MAINTENANCE.md b/MAINTENANCE.md index bed86b2ac..7b74b2938 100644 --- a/MAINTENANCE.md +++ b/MAINTENANCE.md @@ -41,7 +41,7 @@ With no further ado, the steps to release a new version are: 1. `.drone.yaml` 2. `tests/e2e-kfddistribution-*.yaml` 3. `tests/e2e-kfddistribution-upgrades.sh` - 4. `tests/e2e/kfddistribution-upgrades/furyctl-init-cluster-1.29.3.yaml` + 4. `tests/e2e/kfddistribution-upgrades/furyctl-init-cluster-1.29.4.yaml` 6. Update the documentation: 1. `README.md` 2. `docs/COMPATIBILITY_MATRIX.md` @@ -62,10 +62,10 @@ At this point, you'll need to switch to pushing some changes in furyctl 12. Update the compatibility unit tests with the new versions (`internal/distribution/compatibility_test.go`) 13. Bump the version to the new `fury-distribution` go library that has been released as RC in step `7`. - ```bash - go get -u github.com/sighupio/fury-distribution@v1.29.3 - go mod tidy - ``` +```bash +go get -u github.com/sighupio/fury-distribution@v1.29.4 +go mod tidy +``` 14. Tag a release candidate with the changes. This will be used in the e2e tests of the distribution. diff --git a/README.md b/README.md index 6e0b38597..286838261 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@

Kubernetes Fury Distribution (KFD) is a certified battle-tested Kubernetes distribution based purely on upstream Kubernetes.

-[![Build Status](http://ci.sighup.io/api/badges/sighupio/fury-distribution/status.svg?ref=refs/tags/v1.29.3)](http://ci.sighup.io/sighupio/fury-distribution) -[![Release](https://img.shields.io/badge/release-v1.29.3-blue?label=FuryDistributionRelease)](https://github.com/sighupio/fury-distribution/releases/latest) +[![Build Status](http://ci.sighup.io/api/badges/sighupio/fury-distribution/status.svg?ref=refs/tags/v1.29.4)](http://ci.sighup.io/sighupio/fury-distribution) +[![Release](https://img.shields.io/badge/release-v1.29.4-blue?label=FuryDistributionRelease)](https://github.com/sighupio/fury-distribution/releases/latest) [![Slack](https://img.shields.io/badge/slack-@kubernetes/fury-yellow.svg?logo=slack)](https://kubernetes.slack.com/archives/C0154HYTAQH) [![License](https://img.shields.io/github/license/sighupio/fury-distribution)](https://github.com/sighupio/fury-distribution/blob/main/LICENSE) @@ -130,9 +130,9 @@ Current supported versions of KFD are: | KFD Version | Kubernetes Version | | :----------------------------------------------------------------------------: | :----------------: | -| [`1.29.3`](https://github.com/sighupio/fury-distribution/releases/tag/v1.29.3) | `1.29.x` | -| [`1.28.3`](https://github.com/sighupio/fury-distribution/releases/tag/v1.28.3) | `1.28.x` | -| [`1.27.8`](https://github.com/sighupio/fury-distribution/releases/tag/v1.27.8) | `1.27.x` | +| [`1.29.4`](https://github.com/sighupio/fury-distribution/releases/tag/v1.29.4) | `1.29.x` | +| [`1.28.4`](https://github.com/sighupio/fury-distribution/releases/tag/v1.28.4) | `1.28.x` | +| [`1.27.9`](https://github.com/sighupio/fury-distribution/releases/tag/v1.27.8) | `1.27.x` | Check the [compatibility matrix][compatibility-matrix] for additional information about previous releases of the Distribution and the compatibility with `furyctl`. diff --git a/docs/COMPATIBILITY_MATRIX.md b/docs/COMPATIBILITY_MATRIX.md index 6358f42d3..65be36094 100644 --- a/docs/COMPATIBILITY_MATRIX.md +++ b/docs/COMPATIBILITY_MATRIX.md @@ -10,14 +10,17 @@ For a complete list of all KFD releases and their compatibility with Kubernetes | KFD / Kubernetes Version | v1.29.X | v1.28.X | v1.27.X | | ----------------------------------------------------------------------------- | ------------------ | ------------------ | ------------------ | +| [v1.29.4](https://github.com/sighupio/fury-distribution/releases/tag/v1.29.4) | :white_check_mark: | | | | [v1.29.3](https://github.com/sighupio/fury-distribution/releases/tag/v1.29.3) | :white_check_mark: | | | | [v1.29.2](https://github.com/sighupio/fury-distribution/releases/tag/v1.29.2) | :white_check_mark: | | | | [v1.29.1](https://github.com/sighupio/fury-distribution/releases/tag/v1.29.1) | :white_check_mark: | | | | [v1.29.0](https://github.com/sighupio/fury-distribution/releases/tag/v1.29.0) | :white_check_mark: | | | +| [v1.28.4](https://github.com/sighupio/fury-distribution/releases/tag/v1.28.4) | | :white_check_mark: | | | [v1.28.3](https://github.com/sighupio/fury-distribution/releases/tag/v1.28.3) | | :white_check_mark: | | | [v1.28.2](https://github.com/sighupio/fury-distribution/releases/tag/v1.28.2) | | :white_check_mark: | | | [v1.28.1](https://github.com/sighupio/fury-distribution/releases/tag/v1.28.1) | | :white_check_mark: | | | [v1.28.0](https://github.com/sighupio/fury-distribution/releases/tag/v1.28.0) | | :white_check_mark: | | +| [v1.27.9](https://github.com/sighupio/fury-distribution/releases/tag/v1.27.9) | | | :white_check_mark: | | [v1.27.8](https://github.com/sighupio/fury-distribution/releases/tag/v1.27.8) | | | :white_check_mark: | | [v1.27.7](https://github.com/sighupio/fury-distribution/releases/tag/v1.27.7) | | | :white_check_mark: | | [v1.27.6](https://github.com/sighupio/fury-distribution/releases/tag/v1.27.6) | | | :white_check_mark: | diff --git a/docs/releases/v1.27.9.md b/docs/releases/v1.27.9.md index 2c8eb69fd..f9fb8a81f 100644 --- a/docs/releases/v1.27.9.md +++ b/docs/releases/v1.27.9.md @@ -19,17 +19,15 @@ No changes - **Configurable distribution registry**: Now the registry used by the distribution can be configured. An example configuration: ```yaml - --- spec: distribution: common: registry: myregistry.mydomain.ext ``` -- **Configurable onpremises registry**: Now the registry used by the onpremises kind can be configured. An example configuration: +- **Configurable on-premises registry**: Now the registry used by the on-premises kind can be configured. An example configuration: ```yaml - --- spec: kubernetes: advanced: @@ -42,4 +40,4 @@ No changes ## Upgrade procedure -Check the [upgrade docs](https://github.com/sighupio/furyctl/tree/main/docs/upgrades/kfd/README.md) for the detailed procedure. +Check the [upgrade docs](https://docs.kubernetesfury.com/docs/upgrades/upgrades) for the detailed procedure. diff --git a/docs/releases/v1.28.4.md b/docs/releases/v1.28.4.md index 7c2dad4c5..02849bf6d 100644 --- a/docs/releases/v1.28.4.md +++ b/docs/releases/v1.28.4.md @@ -19,17 +19,15 @@ No changes - **Configurable distribution registry**: Now the registry used by the distribution can be configured. An example configuration: ```yaml - --- spec: distribution: common: registry: myregistry.mydomain.ext ``` -- **Configurable onpremises registry**: Now the registry used by the onpremises kind can be configured. An example configuration: +- **Configurable on-premises registry**: Now the registry used by the on-premises kind can be configured. An example configuration: ```yaml - --- spec: kubernetes: advanced: @@ -42,4 +40,4 @@ No changes ## Upgrade procedure -Check the [upgrade docs](https://github.com/sighupio/furyctl/tree/main/docs/upgrades/kfd/README.md) for the detailed procedure. +Check the [upgrade docs](https://docs.kubernetesfury.com/docs/upgrades/upgrades) for the detailed procedure. diff --git a/docs/releases/v1.29.4.md b/docs/releases/v1.29.4.md index 9fb5ad7df..0d07fcd40 100644 --- a/docs/releases/v1.29.4.md +++ b/docs/releases/v1.29.4.md @@ -17,22 +17,21 @@ No changes ## New features 🌟 - **Configurable distribution registry**: Now the registry used by the distribution can be configured. An example configuration: + ```yaml - ... spec: distribution: common: registry: myregistry.mydomain.ext - ... ``` -- **Configurable onpremises registry**: Now the registry used by the onpremises kind can be configured. An example configuration: + +- **Configurable on-premises registry**: Now the registry used by the on-premises kind can be configured. An example configuration: + ```yaml - ... spec: kubernetes: advanced: registry: myregistry.mydomain.ext - ... ``` ## Fixes 🐞 @@ -41,4 +40,4 @@ No changes ## Upgrade procedure -Check the [upgrade docs](https://github.com/sighupio/furyctl/tree/main/docs/upgrades/kfd/README.md) for the detailed procedure. +Check the [upgrade docs](https://docs.kubernetesfury.com/docs/upgrades/upgrades) for the detailed procedure. diff --git a/kfd.yaml b/kfd.yaml index 0b75664c0..576f2bd1c 100644 --- a/kfd.yaml +++ b/kfd.yaml @@ -2,7 +2,7 @@ # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. -version: v1.29.3 +version: v1.29.4 modules: auth: v0.3.0 aws: v4.2.1 diff --git a/templates/kubernetes/onpremises/98.cluster-certificates-renewal.yaml.tpl b/templates/kubernetes/onpremises/98.cluster-certificates-renewal.yaml.tpl index bccd49556..26bcbb76d 100644 --- a/templates/kubernetes/onpremises/98.cluster-certificates-renewal.yaml.tpl +++ b/templates/kubernetes/onpremises/98.cluster-certificates-renewal.yaml.tpl @@ -29,7 +29,7 @@ serial: 1 tasks: - # Get Kubernetes version and modify the output from something like “v1.29.3” to “1.29”. + # Get Kubernetes version and modify the output from something like "v1.29.4" to "1.29". - name: Get the current Kubernetes version shell: | K8S_VERSION=$(kubectl version --kubeconfig=/etc/kubernetes/admin.conf --short 2>/dev/null | grep 'Server Version:' | awk '{print $3}') diff --git a/tests/e2e-kfddistribution-upgrades.sh b/tests/e2e-kfddistribution-upgrades.sh index ec6c311d8..93eac8f20 100755 --- a/tests/e2e-kfddistribution-upgrades.sh +++ b/tests/e2e-kfddistribution-upgrades.sh @@ -17,6 +17,10 @@ echo "-------------------------------------------------------------------------- echo "Executing upgrade to the next version" /tmp/furyctl apply --upgrade --config tests/e2e/kfddistribution-upgrades/furyctl-init-cluster-1.29.2.yaml --outdir "$PWD" --force upgrades --disable-analytics +echo "----------------------------------------------------------------------------" +echo "Executing upgrade to the next version" +/tmp/furyctl apply --upgrade --config tests/e2e/kfddistribution-upgrades/furyctl-init-cluster-1.29.3.yaml --outdir "$PWD" --force upgrades --disable-analytics + echo "----------------------------------------------------------------------------" echo "Executing upgrade to the latest version" -/tmp/furyctl apply --upgrade --config tests/e2e/kfddistribution-upgrades/furyctl-init-cluster-1.29.3.yaml --outdir "$PWD" --distro-location ./ --force upgrades --disable-analytics +/tmp/furyctl apply --upgrade --config tests/e2e/kfddistribution-upgrades/furyctl-init-cluster-1.29.4.yaml --outdir "$PWD" --distro-location ./ --force upgrades --disable-analytics diff --git a/tests/e2e/kfddistribution-upgrades/furyctl-init-cluster-1.29.4.yaml b/tests/e2e/kfddistribution-upgrades/furyctl-init-cluster-1.29.4.yaml new file mode 100644 index 000000000..43ef4e72d --- /dev/null +++ b/tests/e2e/kfddistribution-upgrades/furyctl-init-cluster-1.29.4.yaml @@ -0,0 +1,104 @@ +# Copyright (c) 2017-present SIGHUP s.r.l All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +--- +apiVersion: kfd.sighup.io/v1alpha2 +kind: KFDDistribution +metadata: + name: sighup +spec: + distributionVersion: v1.29.4 + # This section describes how the KFD distribution will be installed + distribution: + kubeconfig: "{env://KUBECONFIG}" + # This common configuration will be applied to all the packages that will be installed in the cluster + common: {} + # This section contains all the configurations for all the KFD core modules + modules: + networking: + type: calico + # This section contains all the configurations for the ingress module + ingress: + baseDomain: fury.sighup.cc + nginx: + type: single + tls: + provider: certManager + certManager: + clusterIssuer: + name: letsencrypt-fury + email: sighup@sighup.cc + type: http01 + logging: + type: loki + minio: + storageSize: 20Gi + rootUser: + username: sighup + password: secretpassword1 + monitoring: + type: prometheus + prometheus: + resources: + requests: + cpu: 10m + limits: + cpu: 2000m + memory: 6Gi + tracing: + type: none + policy: + type: kyverno + kyverno: + additionalExcludedNamespaces: ["local-path-storage"] + validationFailureAction: enforce + installDefaultPolicies: true + dr: + type: on-premises + velero: {} + auth: + provider: + type: basicAuth + basicAuth: + username: test + password: testpassword + # patches for kind compatibility and resource setting + customPatches: + patchesStrategicMerge: + - | + apiVersion: apps/v1 + kind: StatefulSet + metadata: + name: minio-logging + namespace: logging + spec: + template: + spec: + containers: + - name: minio + resources: + requests: + cpu: 10m + memory: 50Mi + - | + $patch: delete + apiVersion: logging-extensions.banzaicloud.io/v1alpha1 + kind: HostTailer + metadata: + name: systemd-common + namespace: logging + - | + $patch: delete + apiVersion: logging-extensions.banzaicloud.io/v1alpha1 + kind: HostTailer + metadata: + name: systemd-etcd + namespace: logging + - | + $patch: delete + apiVersion: apps/v1 + kind: DaemonSet + metadata: + name: x509-certificate-exporter-control-plane + namespace: monitoring