Skip to content

Commit

Permalink
Release v0.1.0-beta.6
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanprodan committed Oct 29, 2018
1 parent 580924e commit df98de7
Show file tree
Hide file tree
Showing 10 changed files with 37 additions and 19 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ VERSION_MINOR:=$(shell grep 'VERSION' pkg/version/version.go | awk '{ print $$4
PATCH:=$(shell grep 'VERSION' pkg/version/version.go | awk '{ print $$4 }' | tr -d '"' | awk -F. '{print $$NF}')
SOURCE_DIRS = cmd pkg/apis pkg/controller pkg/server pkg/logging pkg/version
run:
go run -race cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -metrics-server=https://prometheus.istio.weavedx.com
go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -metrics-server=https://prometheus.iowa.weavedx.com

build:
docker build -t stefanprodan/flagger:$(TAG) . -f Dockerfile
Expand Down
15 changes: 12 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -333,21 +333,30 @@ Promotion completed! podinfo.test
Flagger exposes Prometheus metrics that can be used to determine the canary analysis status and the destination weight values:

```bash
# Canary status
# Canaries total gauge
flagger_canary_total{namespace="test"} 1

# Canary promotion last known status gauge
# 0 - running, 1 - successful, 2 - failed
flagger_canary_status{name="podinfo" namespace="test"} 1

# Canary traffic weight
# Canary traffic weight gauge
flagger_canary_weight{workload="podinfo-primary" namespace="test"} 95
flagger_canary_weight{workload="podinfo" namespace="test"} 5

# Seconds spent performing canary analysis histogram
flagger_canary_duration_seconds_bucket{name="podinfo",namespace="test",le="10"} 6
flagger_canary_duration_seconds_bucket{name="podinfo",namespace="test",le="+Inf"} 6
flagger_canary_duration_seconds_sum{name="podinfo",namespace="test"} 17.3561329
flagger_canary_duration_seconds_count{name="podinfo",namespace="test"} 6
```

### Roadmap

* Extend the canary analysis and promotion to other types than Kubernetes deployments such as Flux Helm releases or OpenFaaS functions
* Extend the validation mechanism to support other metrics than HTTP success rate and latency
* Add support for comparing the canary metrics to the primary ones and do the validation based on the derivation between the two
* Alerting: Trigger Alertmanager on successful or failed promotions (Prometheus instrumentation of the canary analysis)
* Alerting: trigger Alertmanager on successful or failed promotions
* Reporting: publish canary analysis results to Slack/Jira/etc

### Contributing
Expand Down
2 changes: 1 addition & 1 deletion artifacts/flagger/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ spec:
serviceAccountName: flagger
containers:
- name: flagger
image: stefanprodan/flagger:0.1.0-beta.5
image: stefanprodan/flagger:0.1.0-beta.6
imagePullPolicy: Always
ports:
- name: http
Expand Down
2 changes: 1 addition & 1 deletion charts/flagger/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v1
name: flagger
version: 0.1.0
appVersion: 0.1.0-beta.5
appVersion: 0.1.0-beta.6
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.
home: https://github.com/stefanprodan/flagger
2 changes: 1 addition & 1 deletion charts/flagger/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

image:
repository: stefanprodan/flagger
tag: 0.1.0-beta.5
tag: 0.1.0-beta.6
pullPolicy: IfNotPresent

controlLoopInterval: "10s"
Expand Down
19 changes: 14 additions & 5 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ The canary analysis is using the following promql queries:
_HTTP requests success rate percentage_
```sql
```
sum(
rate(
istio_requests_total{
Expand All @@ -151,7 +151,7 @@ sum(

_HTTP requests milliseconds duration P99_

```sql
```
histogram_quantile(0.99,
sum(
irate(
Expand Down Expand Up @@ -333,21 +333,30 @@ Promotion completed! podinfo.test
Flagger exposes Prometheus metrics that can be used to determine the canary analysis status and the destination weight values:

```bash
# Canary status
# Canaries total gauge
flagger_canary_total{namespace="test"} 1

# Canary promotion last known status gauge
# 0 - running, 1 - successful, 2 - failed
flagger_canary_status{name="podinfo" namespace="test"} 1

# Canary traffic weight
# Canary traffic weight gauge
flagger_canary_weight{workload="podinfo-primary" namespace="test"} 95
flagger_canary_weight{workload="podinfo" namespace="test"} 5

# Seconds spent performing canary analysis histogram
flagger_canary_duration_seconds_bucket{name="podinfo",namespace="test",le="10"} 6
flagger_canary_duration_seconds_bucket{name="podinfo",namespace="test",le="+Inf"} 6
flagger_canary_duration_seconds_sum{name="podinfo",namespace="test"} 17.3561329
flagger_canary_duration_seconds_count{name="podinfo",namespace="test"} 6
```

### Roadmap

* Extend the canary analysis and promotion to other types than Kubernetes deployments such as Flux Helm releases or OpenFaaS functions
* Extend the validation mechanism to support other metrics than HTTP success rate and latency
* Add support for comparing the canary metrics to the primary ones and do the validation based on the derivation between the two
* Alerting: Trigger Alertmanager on successful or failed promotions (Prometheus instrumentation of the canary analysis)
* Alerting: trigger Alertmanager on successful or failed promotions
* Reporting: publish canary analysis results to Slack/Jira/etc

### Contributing
Expand Down
Binary file modified docs/flagger-0.1.0.tgz
Binary file not shown.
Binary file modified docs/grafana-0.1.0.tgz
Binary file not shown.
12 changes: 6 additions & 6 deletions docs/index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ apiVersion: v1
entries:
flagger:
- apiVersion: v1
appVersion: 0.1.0-beta.5
created: 2018-10-29T11:26:05.917978+02:00
appVersion: 0.1.0-beta.6
created: 2018-10-29T21:46:00.29473+02:00
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.
digest: b9c7cee9b72e03dbef67762d464427b5379d68a9d9022d850555f3fd79b3de82
digest: c17380b0f4e08a9b1f76a0e52d53677248c5756eff6a1fcd5629d3465dd1ad58
home: https://github.com/stefanprodan/flagger
name: flagger
urls:
Expand All @@ -16,13 +16,13 @@ entries:
grafana:
- apiVersion: v1
appVersion: 5.3.1
created: 2018-10-29T11:26:05.918435+02:00
created: 2018-10-29T21:46:00.295247+02:00
description: A Grafana Helm chart for monitoring progressive deployments powered
by Istio and Flagger
digest: a582ce7fb98b930569d10aa99d879c4280a3164b8a2ad164301d9b11d32d367d
digest: 370aa2e6a0d4ab717f047658bdb02969b8f2a4d2e81c0bc96b90e3365229715f
home: https://github.com/stefanprodan/flagger
name: grafana
urls:
- https://stefanprodan.github.io/flagger/grafana-0.1.0.tgz
version: 0.1.0
generated: 2018-10-29T11:26:05.917173+02:00
generated: 2018-10-29T21:46:00.293821+02:00
2 changes: 1 addition & 1 deletion pkg/version/version.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package version

var VERSION = "0.1.0-beta.5"
var VERSION = "0.1.0-beta.6"
var REVISION = "unknown"

0 comments on commit df98de7

Please sign in to comment.