diff --git a/CHANGELOG.md b/CHANGELOG.md index 858b1fa5f..5a38ab1c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,33 @@ All notable changes to this project are documented in this file. +## 1.36.0 + +**Release date:** 2024-02-07 + +This release comes with support for canary releases with traffic shifting using +Istio TCP routing. For more information on how to enable TCP routing please +see the [Istio tutorial](hhttps://docs.flagger.app//tutorials/istio-progressive-delivery#canary-deployments-for-tcp-services). + +Both Flagger and the load tester Go dependencies have been updated to fix various CVEs. +Flagger is now built with Go 1.21 and the container base image has been updated to Alpine 3.19. + +#### Improvements +- Istio Canary TCP service support + [#1564](https://github.com/fluxcd/flagger/pull/1564) +- Update Go dependencies + [#1595](https://github.com/fluxcd/flagger/pull/1595) +- Build with Go 1.21 and Alpine 3.19 + [#1594](https://github.com/fluxcd/flagger/pull/1594) + +#### Fixes +- return an error for missing metric templates + [#1582](https://github.com/fluxcd/flagger/pull/1582) +- istio: make retry attempts a mandatory field + [#1571](https://github.com/fluxcd/flagger/pull/1571) +- fix(pdb): use the full capabilities comparison for PDBs + [#1511](https://github.com/fluxcd/flagger/pull/1511) + ## 1.35.0 **Release date:** 2023-11-30 @@ -18,7 +45,7 @@ Lastly, two bugs related to deleting a Canary object with `.spec.revertOnDeletion: true` have been fixed. #### Improvements -- Support istio Destination Dule WarmupDurationSecs +- Support Istio DestinationRule WarmupDurationSecs [#1540](https://github.com/fluxcd/flagger/pull/1540) - feat: Webhook retries [#1541](https://github.com/fluxcd/flagger/pull/1541) diff --git a/artifacts/flagger/deployment.yaml b/artifacts/flagger/deployment.yaml index 1678a8c1d..96fcac2da 100644 --- a/artifacts/flagger/deployment.yaml +++ b/artifacts/flagger/deployment.yaml @@ -22,7 +22,7 @@ spec: serviceAccountName: flagger containers: - name: flagger - image: ghcr.io/fluxcd/flagger:1.35.0 + image: ghcr.io/fluxcd/flagger:1.36.0 imagePullPolicy: IfNotPresent ports: - name: http diff --git a/charts/flagger/Chart.yaml b/charts/flagger/Chart.yaml index 6df335021..549bdd03e 100644 --- a/charts/flagger/Chart.yaml +++ b/charts/flagger/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: flagger -version: 1.35.0 -appVersion: 1.35.0 +version: 1.36.0 +appVersion: 1.36.0 kubeVersion: ">=1.19.0-0" engine: gotpl description: Flagger is a progressive delivery operator for Kubernetes diff --git a/charts/flagger/values.yaml b/charts/flagger/values.yaml index 49ff9cdf9..b9fbeaedc 100644 --- a/charts/flagger/values.yaml +++ b/charts/flagger/values.yaml @@ -5,7 +5,7 @@ image: repository: ghcr.io/fluxcd/flagger - tag: 1.35.0 + tag: 1.36.0 pullPolicy: IfNotPresent pullSecret: diff --git a/charts/loadtester/Chart.yaml b/charts/loadtester/Chart.yaml index aff13e97b..52225a669 100644 --- a/charts/loadtester/Chart.yaml +++ b/charts/loadtester/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: loadtester -version: 0.30.0 -appVersion: 0.30.0 +version: 0.31.0 +appVersion: 0.31.0 kubeVersion: ">=1.19.0-0" engine: gotpl description: Flagger's load testing services based on rakyll/hey and bojand/ghz that generates traffic during canary analysis when configured as a webhook. diff --git a/charts/loadtester/values.yaml b/charts/loadtester/values.yaml index 70606578c..2fde303c1 100644 --- a/charts/loadtester/values.yaml +++ b/charts/loadtester/values.yaml @@ -2,7 +2,7 @@ replicaCount: 1 image: repository: ghcr.io/fluxcd/flagger-loadtester - tag: 0.30.0 + tag: 0.31.0 pullPolicy: IfNotPresent pullSecret: diff --git a/cmd/loadtester/main.go b/cmd/loadtester/main.go index e8c78ea32..5309a998d 100644 --- a/cmd/loadtester/main.go +++ b/cmd/loadtester/main.go @@ -22,13 +22,14 @@ import ( "regexp" "time" + "go.uber.org/zap" + "github.com/fluxcd/flagger/pkg/loadtester" "github.com/fluxcd/flagger/pkg/logger" "github.com/fluxcd/flagger/pkg/signals" - "go.uber.org/zap" ) -var VERSION = "0.30.0" +var VERSION = "0.31.0" var ( logLevel string port string diff --git a/docs/gitbook/tutorials/istio-progressive-delivery.md b/docs/gitbook/tutorials/istio-progressive-delivery.md index 476089af7..2112a96cd 100644 --- a/docs/gitbook/tutorials/istio-progressive-delivery.md +++ b/docs/gitbook/tutorials/istio-progressive-delivery.md @@ -508,15 +508,13 @@ spec: ```yaml apiVersion: flagger.app/v1beta1 kind: Canary -... -... -service: - port: 7070 - appProtocol: TCP # <== set the appProtocol here - targetPort: 7070 - portName: "tcp-service-port" -... -... +# omitted for brevity +spec: + service: + port: 7070 + appProtocol: TCP # <== set the appProtocol here + targetPort: 7070 + portName: "tcp-service-port" ``` If the `appProtocol` equals `TCP` then Flagger will treat this as a Canary deployment for a `TCP` service. When it creates the `VirtualService` document it will add a `TCP` section to route requests between the `primary` and `canary` services. See Istio documentation for more information on this [spec](https://istio.io/latest/docs/reference/config/networking/virtual-service/#TCPRoute). diff --git a/kustomize/base/flagger/kustomization.yaml b/kustomize/base/flagger/kustomization.yaml index 9f852f8ce..c7be18889 100644 --- a/kustomize/base/flagger/kustomization.yaml +++ b/kustomize/base/flagger/kustomization.yaml @@ -9,4 +9,4 @@ resources: images: - name: ghcr.io/fluxcd/flagger newName: ghcr.io/fluxcd/flagger - newTag: 1.35.0 + newTag: 1.36.0 diff --git a/kustomize/tester/deployment.yaml b/kustomize/tester/deployment.yaml index f5935e885..e639eec31 100644 --- a/kustomize/tester/deployment.yaml +++ b/kustomize/tester/deployment.yaml @@ -19,7 +19,7 @@ spec: spec: containers: - name: loadtester - image: ghcr.io/fluxcd/flagger-loadtester:0.30.0 + image: ghcr.io/fluxcd/flagger-loadtester:0.31.0 imagePullPolicy: IfNotPresent ports: - name: http diff --git a/pkg/version/version.go b/pkg/version/version.go index 305906b71..4994ac07f 100644 --- a/pkg/version/version.go +++ b/pkg/version/version.go @@ -16,5 +16,5 @@ limitations under the License. package version -var VERSION = "1.35.0" +var VERSION = "1.36.0" var REVISION = "unknown"