diff --git a/.codecov.yml b/.codecov.yml index 58e6fa06..e15cff9c 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -8,4 +8,7 @@ coverage: patch: off comment: - require_changes: yes \ No newline at end of file + require_changes: true + branches: + - "!docs" + - "!release" diff --git a/CHANGELOG.md b/CHANGELOG.md index f4fb79a0..1860ef35 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,29 @@ All notable changes to this project are documented in this file. +## 1.0.0-rc.3 (2020-03-23) + +This is a release candidate for Flagger v1.0.0. + +The upgrade procedure from 0.x to 1.0 can be found [here](https://docs.flagger.app/dev/upgrade-guide). + +#### Features + +- Add opt-in finalizers to revert Flagger's mutations on deletion of a canary + [#495](https://github.com/weaveworks/flagger/pull/495) + +#### Improvements + +- e2e: update end-to-end tests to Contour 1.3.0 and Gloo 1.3.14 + [#519](https://github.com/weaveworks/flagger/pull/519) +- build: update Kubernetes packages to 1.17.4 + [#516](https://github.com/weaveworks/flagger/pull/516) + +#### Fixes + +- Preserve node ports on service reconciliation + [#514](https://github.com/weaveworks/flagger/pull/514) + ## 1.0.0-rc.2 (2020-03-19) This is a release candidate for Flagger v1.0.0. diff --git a/artifacts/flagger/deployment.yaml b/artifacts/flagger/deployment.yaml index 9ad56dff..8e085b23 100644 --- a/artifacts/flagger/deployment.yaml +++ b/artifacts/flagger/deployment.yaml @@ -22,7 +22,7 @@ spec: serviceAccountName: flagger containers: - name: flagger - image: weaveworks/flagger:1.0.0-rc.2 + image: weaveworks/flagger:1.0.0-rc.3 imagePullPolicy: IfNotPresent ports: - name: http diff --git a/charts/flagger/Chart.yaml b/charts/flagger/Chart.yaml index 1d5cde17..69348240 100644 --- a/charts/flagger/Chart.yaml +++ b/charts/flagger/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: flagger -version: 0.25.0 -appVersion: 1.0.0-rc.2 +version: 0.26.0 +appVersion: 1.0.0-rc.3 kubeVersion: ">=1.11.0-0" engine: gotpl description: Flagger is a progressive delivery operator for Kubernetes diff --git a/charts/flagger/templates/prometheus.yaml b/charts/flagger/templates/prometheus.yaml index 8d1b0a16..46986a8e 100644 --- a/charts/flagger/templates/prometheus.yaml +++ b/charts/flagger/templates/prometheus.yaml @@ -230,7 +230,7 @@ spec: serviceAccountName: {{ template "flagger.serviceAccountName" . }}-prometheus containers: - name: prometheus - image: "docker.io/prom/prometheus:v2.15.2" + image: "docker.io/prom/prometheus:v2.16.0" imagePullPolicy: IfNotPresent args: - '--storage.tsdb.retention=2h' diff --git a/charts/flagger/values.yaml b/charts/flagger/values.yaml index 7261c3f7..8f502041 100644 --- a/charts/flagger/values.yaml +++ b/charts/flagger/values.yaml @@ -2,7 +2,7 @@ image: repository: weaveworks/flagger - tag: 1.0.0-rc.2 + tag: 1.0.0-rc.3 pullPolicy: IfNotPresent pullSecret: diff --git a/docs/gitbook/install/flagger-install-on-kubernetes.md b/docs/gitbook/install/flagger-install-on-kubernetes.md index 48bdc517..cd954666 100644 --- a/docs/gitbook/install/flagger-install-on-kubernetes.md +++ b/docs/gitbook/install/flagger-install-on-kubernetes.md @@ -4,7 +4,7 @@ This guide walks you through setting up Flagger on a Kubernetes cluster with Hel ## Prerequisites -Flagger requires a Kubernetes cluster **v1.11** or newer. +Flagger requires a Kubernetes cluster **v1.13** or newer. ## Install Flagger with Helm @@ -164,21 +164,12 @@ kubectl -n istio-system port-forward svc/flagger-grafana 3000:80 ## Install Flagger with Kustomize -As an alternative to Helm, Flagger can be installed with Kustomize. +As an alternative to Helm, Flagger can be installed with Kustomize **3.5.0** or newer. **Service mesh specific installers** Install Flagger for Istio: -```bash -kubectl apply -k github.com/weaveworks/flagger//kustomize/istio -``` - -This deploys Flagger in the `istio-system` namespace and sets the metrics server URL to Istio's Prometheus instance. - -Note that you'll need kubectl 1.14 to run the above the command or you can download -the [kustomize binary](https://github.com/kubernetes-sigs/kustomize/releases) and run: - ```bash kustomize build github.com/weaveworks/flagger//kustomize/istio | kubectl apply -f - ``` @@ -186,7 +177,7 @@ kustomize build github.com/weaveworks/flagger//kustomize/istio | kubectl apply - Install Flagger for AWS App Mesh: ```bash -kubectl apply -k github.com/weaveworks/flagger//kustomize/appmesh +kustomize build github.com/weaveworks/flagger//kustomize/appmesh | kubectl apply -f - ``` This deploys Flagger and sets the metrics server URL to App Mesh's Prometheus instance. @@ -194,7 +185,7 @@ This deploys Flagger and sets the metrics server URL to App Mesh's Prometheus in Install Flagger for Linkerd: ```bash -kubectl apply -k github.com/weaveworks/flagger//kustomize/linkerd +kustomize build github.com/weaveworks/flagger//kustomize/linkerd | kubectl apply -f - ``` This deploys Flagger in the `linkerd` namespace and sets the metrics server URL to Linkerd's Prometheus instance. @@ -202,15 +193,15 @@ This deploys Flagger in the `linkerd` namespace and sets the metrics server URL If you want to install a specific Flagger release, add the version number to the URL: ```bash -kubectl apply -k github.com/weaveworks/flagger//kustomize/linkerd?ref=0.18.0 +kustomize build github.com/weaveworks/flagger//kustomize/linkerd?ref=0.18.0 | kubectl apply -f - ``` **Generic installer** -Install Flagger and Prometheus: +Install Flagger and Prometheus for Contour, Gloo or NGINX ingress: ```bash -kubectl apply -k github.com/weaveworks/flagger//kustomize/kubernetes +kustomize build github.com/weaveworks/flagger//kustomize/kubernetes | kubectl apply -f - ``` This deploys Flagger and Prometheus in the `flagger-system` namespace, sets the metrics server URL @@ -235,46 +226,43 @@ spec: **Customized installer** -Create a kustomization file using flagger as base: +Create a kustomization file using Flagger as base and patch the container args: ```bash cat > kustomization.yaml < patch.yaml <=1.13.0** +- Kustomize **>=3.5.0** + ## Service mesh specific installers Install Flagger for Istio: ```bash -kubectl apply -k github.com/weaveworks/flagger//kustomize/istio +kustomize build github.com/weaveworks/flagger//kustomize/istio | kubectl apply -f - ``` This deploys Flagger in the `istio-system` namespace and sets the metrics server URL to Istio's Prometheus instance. -Note that you'll need kubectl 1.14 to run the above the command or you can download the -[kustomize binary](https://github.com/kubernetes-sigs/kustomize/releases) and run: - -```bash -kustomize build github.com/weaveworks/flagger//kustomize/istio | kubectl apply -f - -``` - Install Flagger for AWS App Mesh: ```bash -kubectl apply -k github.com/weaveworks/flagger//kustomize/appmesh +kustomize build github.com/weaveworks/flagger//kustomize/appmesh | kubectl apply -f - ``` This deploys Flagger in the `appmesh-system` namespace and sets the metrics server URL to App Mesh Prometheus instance. @@ -30,7 +28,7 @@ This deploys Flagger in the `appmesh-system` namespace and sets the metrics serv Install Flagger for Linkerd: ```bash -kubectl apply -k github.com/weaveworks/flagger//kustomize/linkerd +kustomize build github.com/weaveworks/flagger//kustomize/linkerd | kubectl apply -f - ``` This deploys Flagger in the `linkerd` namespace and sets the metrics server URL to Linkerd's Prometheus instance. @@ -38,13 +36,13 @@ This deploys Flagger in the `linkerd` namespace and sets the metrics server URL If you want to install a specific Flagger release, add the version number to the URL: ```bash -kubectl apply -k github.com/weaveworks/flagger//kustomize/linkerd?ref=0.18.0 +kustomize build github.com/weaveworks/flagger//kustomize/linkerd?ref=0.18.0 | kubectl apply -f - ``` Install Flagger for Contour: ```bash -kubectl apply -k github.com/weaveworks/flagger//kustomize/contour +kustomize build github.com/weaveworks/flagger//kustomize/contour | kubectl apply -f - ``` This deploys Flagger and Prometheus in the `projectcontour` namespace and sets Prometheus to scrape Contour's Envoy instances. @@ -54,7 +52,7 @@ This deploys Flagger and Prometheus in the `projectcontour` namespace and sets P Install Flagger and Prometheus: ```bash -kubectl apply -k github.com/weaveworks/flagger//kustomize/kubernetes +kustomize build github.com/weaveworks/flagger//kustomize/kubernetes | kubectl apply -f - ``` This deploys Flagger and Prometheus in the `flagger-system` namespace, @@ -78,84 +76,40 @@ You'll need Prometheus when using Flagger with AWS App Mesh, Gloo or NGINX ingre The Prometheus instance has a two hours data retention and is configured to scrape all pods in your cluster that have the `prometheus.io/scrape: "true"` annotation. -## Configure Slack notifications +## Customise the installation -Create a kustomization file using flagger as base: +Create a kustomization file using Flagger as base and patch the container args: ```bash cat > kustomization.yaml < patch.yaml < kustomization.yaml < patch.yaml <