From 1f9f6fb55a02bb9356eecc531fc0508bcf33adec Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Wed, 8 May 2019 18:05:47 +0300 Subject: [PATCH 1/5] Release v0.13.0 --- CHANGELOG.md | 13 +++++++++++++ artifacts/flagger/deployment.yaml | 2 +- charts/flagger/Chart.yaml | 6 +++--- charts/flagger/values.yaml | 2 +- docs/gitbook/SUMMARY.md | 1 + pkg/version/version.go | 2 +- 6 files changed, 20 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c3e92630..3a5e9722 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,19 @@ All notable changes to this project are documented in this file. +## 0.13.0 (2019-04-08) + +Adds support for [NGINX](https://docs.flagger.app/usage/nginx-progressive-delivery) ingress controller + +#### Features + +- Add support for nginx ingress controller (weighted traffic and A/B testing) [#170](https://github.com/weaveworks/flagger/pull/170) +- Add Prometheus add-on to Flagger Helm chart for App Mesh and NGINX [79b3370](https://github.com/weaveworks/flagger/pull/170/commits/79b337089294a92961bc8446fd185b38c50a32df) + +#### Fixes + +- Fix duplicate hosts Istio error when using wildcards [#162](https://github.com/weaveworks/flagger/pull/162) + ## 0.12.0 (2019-04-29) Adds support for [SuperGloo](https://docs.flagger.app/install/flagger-install-with-supergloo) diff --git a/artifacts/flagger/deployment.yaml b/artifacts/flagger/deployment.yaml index 4152ea80..8d15cecd 100644 --- a/artifacts/flagger/deployment.yaml +++ b/artifacts/flagger/deployment.yaml @@ -22,7 +22,7 @@ spec: serviceAccountName: flagger containers: - name: flagger - image: weaveworks/flagger:0.12.0 + image: weaveworks/flagger:0.13.0 imagePullPolicy: IfNotPresent ports: - name: http diff --git a/charts/flagger/Chart.yaml b/charts/flagger/Chart.yaml index b74b28fc..80384c9a 100644 --- a/charts/flagger/Chart.yaml +++ b/charts/flagger/Chart.yaml @@ -1,10 +1,10 @@ apiVersion: v1 name: flagger -version: 0.12.0 -appVersion: 0.12.0 +version: 0.13.0 +appVersion: 0.13.0 kubeVersion: ">=1.11.0-0" engine: gotpl -description: Flagger is a Kubernetes operator that automates the promotion of canary deployments using Istio routing for traffic shifting and Prometheus metrics for canary analysis. +description: Flagger is a Kubernetes operator that automates the promotion of canary deployments using Istio, App Mesh or NGINX routing for traffic shifting and Prometheus metrics for canary analysis. home: https://docs.flagger.app icon: https://raw.githubusercontent.com/weaveworks/flagger/master/docs/logo/flagger-icon.png sources: diff --git a/charts/flagger/values.yaml b/charts/flagger/values.yaml index 0d1a07af..85984032 100644 --- a/charts/flagger/values.yaml +++ b/charts/flagger/values.yaml @@ -2,7 +2,7 @@ image: repository: weaveworks/flagger - tag: 0.12.0 + tag: 0.13.0 pullPolicy: IfNotPresent metricsServer: "http://prometheus:9090" diff --git a/docs/gitbook/SUMMARY.md b/docs/gitbook/SUMMARY.md index ad8721c1..59625ced 100644 --- a/docs/gitbook/SUMMARY.md +++ b/docs/gitbook/SUMMARY.md @@ -15,6 +15,7 @@ * [Istio Canary Deployments](usage/progressive-delivery.md) * [Istio A/B Testing](usage/ab-testing.md) * [App Mesh Canary Deployments](usage/appmesh-progressive-delivery.md) +* [NGINX Canary Deployments](usage/nginx-progressive-delivery.md) * [Monitoring](usage/monitoring.md) * [Alerting](usage/alerting.md) diff --git a/pkg/version/version.go b/pkg/version/version.go index 4716560a..f940057e 100644 --- a/pkg/version/version.go +++ b/pkg/version/version.go @@ -1,4 +1,4 @@ package version -var VERSION = "0.12.0" +var VERSION = "0.13.0" var REVISION = "unknown" From d57fc7d03e0f1f106f12012fdea60ab9ff61aa68 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Wed, 8 May 2019 18:05:58 +0300 Subject: [PATCH 2/5] Add v0.13.0 change log --- README.md | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index fd036842..8e2b4ab1 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![release](https://img.shields.io/github/release/weaveworks/flagger/all.svg)](https://github.com/weaveworks/flagger/releases) Flagger is a Kubernetes operator that automates the promotion of canary deployments -using Istio or App Mesh routing for traffic shifting and Prometheus metrics for canary analysis. +using Istio, App Mesh or NGINX routing for traffic shifting and Prometheus metrics for canary analysis. The canary analysis can be extended with webhooks for running acceptance tests, load tests or any other custom validation. @@ -39,6 +39,7 @@ Flagger documentation can be found at [docs.flagger.app](https://docs.flagger.ap * [Istio canary deployments](https://docs.flagger.app/usage/progressive-delivery) * [Istio A/B testing](https://docs.flagger.app/usage/ab-testing) * [App Mesh canary deployments](https://docs.flagger.app/usage/appmesh-progressive-delivery) + * [NGINX ingress controller canary deployments](https://docs.flagger.app/usage/nginx-progressive-delivery) * [Monitoring](https://docs.flagger.app/usage/monitoring) * [Alerting](https://docs.flagger.app/usage/alerting) * Tutorials @@ -153,16 +154,16 @@ For more details on how the canary analysis and promotion works please [read the ## Features -| Feature | Istio | App Mesh | SuperGloo | -| -------------------------------------------- | ------------------ | ------------------ |------------------ | -| Canary deployments (weighted traffic) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | -| A/B testing (headers and cookies filters) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | -| Load testing | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | -| Webhooks (custom acceptance tests) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | -| Request success rate check (Envoy metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | -| Request duration check (Envoy metric) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | -| Custom promql checks | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | -| Ingress gateway (CORS, retries and timeouts) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | +| Feature | Istio | App Mesh | SuperGloo | NGINX Ingress | +| -------------------------------------------- | ------------------ | ------------------ |------------------ |------------------ | +| Canary deployments (weighted traffic) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| A/B testing (headers and cookies filters) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_check_mark: | +| Load testing | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| Webhooks (custom acceptance tests) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| Request success rate check (Envoy metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| Request duration check (Envoy metric) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | +| Custom promql checks | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| Ingress gateway (CORS, retries and timeouts) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | ## Roadmap From 9d12794600acf17e083f0ceca072b0dfa29d721d Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Wed, 8 May 2019 18:30:00 +0300 Subject: [PATCH 3/5] Add NGINX to readme --- README.md | 4 ++-- docs/gitbook/README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8e2b4ab1..60e382c8 100644 --- a/README.md +++ b/README.md @@ -160,8 +160,8 @@ For more details on how the canary analysis and promotion works please [read the | A/B testing (headers and cookies filters) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_check_mark: | | Load testing | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | Webhooks (custom acceptance tests) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | -| Request success rate check (Envoy metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | -| Request duration check (Envoy metric) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | +| Request success rate check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| Request duration check (L7 metric) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | | Custom promql checks | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | Ingress gateway (CORS, retries and timeouts) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | diff --git a/docs/gitbook/README.md b/docs/gitbook/README.md index 4f6c4ed7..5f027115 100644 --- a/docs/gitbook/README.md +++ b/docs/gitbook/README.md @@ -5,7 +5,7 @@ description: Flagger is a progressive delivery Kubernetes operator # Introduction [Flagger](https://github.com/weaveworks/flagger) is a **Kubernetes** operator that automates the promotion of canary -deployments using **Istio** or **App Mesh** routing for traffic shifting and **Prometheus** metrics for canary analysis. +deployments using **Istio**, **App Mesh** or **NGINX** routing for traffic shifting and **Prometheus** metrics for canary analysis. The canary analysis can be extended with webhooks for running system integration/acceptance tests, load tests, or any other custom validation. From 1335210cf5153d9b3b6730e52efc4f71bb2d8e7f Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Wed, 8 May 2019 19:03:53 +0300 Subject: [PATCH 4/5] Add the Prometheus add-on to App Mesh docs --- .../install/flagger-install-on-eks-appmesh.md | 20 ++++--------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/docs/gitbook/install/flagger-install-on-eks-appmesh.md b/docs/gitbook/install/flagger-install-on-eks-appmesh.md index 5e64dba8..761ba436 100644 --- a/docs/gitbook/install/flagger-install-on-eks-appmesh.md +++ b/docs/gitbook/install/flagger-install-on-eks-appmesh.md @@ -125,19 +125,6 @@ Status: Type: MeshActive ``` -### Install Prometheus - -In order to collect the App Mesh metrics that Flagger needs to run the canary analysis, -you'll need to setup a Prometheus instance to scrape the Envoy sidecars. - -Deploy Prometheus in the `appmesh-system` namespace: - -```bash -REPO=https://raw.githubusercontent.com/weaveworks/flagger/master - -kubectl apply -f ${REPO}/artifacts/eks/appmesh-prometheus.yaml -``` - ### Install Flagger and Grafana Add Flagger Helm repository: @@ -146,16 +133,17 @@ Add Flagger Helm repository: helm repo add flagger https://flagger.app ``` -Deploy Flagger in the _**appmesh-system**_ namespace: +Deploy Flagger and Prometheus in the _**appmesh-system**_ namespace: ```bash helm upgrade -i flagger flagger/flagger \ --namespace=appmesh-system \ --set meshProvider=appmesh \ ---set metricsServer=http://prometheus.appmesh-system:9090 +--set prometheus.install=true ``` -You can install Flagger in any namespace as long as it can talk to the Istio Prometheus service on port 9090. +In order to collect the App Mesh metrics that Flagger needs to run the canary analysis, +you'll need to setup a Prometheus instance to scrape the Envoy sidecars. You can enable **Slack** notifications with: From c933476fff0149a036cce0b441a3bec428185b3c Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Wed, 8 May 2019 20:26:40 +0300 Subject: [PATCH 5/5] Bump Grafana chart version --- charts/grafana/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/grafana/Chart.yaml b/charts/grafana/Chart.yaml index 3ed9f1c2..7e057602 100644 --- a/charts/grafana/Chart.yaml +++ b/charts/grafana/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: grafana -version: 1.1.0 +version: 1.2.0 appVersion: 5.4.3 description: Grafana dashboards for monitoring Flagger canary deployments icon: https://raw.githubusercontent.com/weaveworks/flagger/master/docs/logo/flagger-icon.png