mirror of
https://github.com/fluxcd/flagger.git
synced 2026-02-19 20:40:05 +00:00
Router implementation for zalan.do/Skipper Ingress - An HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress https://github.com/zalando/skipper/ * The concept is to define routes with specific weights via the skipper specific annotation predicate of "zalando.org/backend-weights". * A new "canary ingress" is created that has higher "weight" thus receiving all traffic, which distributes progressively * After the canary process is finished, this ingress is disabled via the "False()" annotation predicate to route traffic again back to the apex Ingress. There are certain Skipper principles which are taken into account: ``` Skipper Principles: * if only one backend has a weight, only one backend will get 100% traffic * if two of three or more backends have a weight, only those two should get traffic. * if two backends don't have any weight, it's undefined and right now they get equal amount of traffic. * weights can be int or float, but always treated as a ratio. Implementation: * apex Ingress is immutable * new canary Ingress contains two paths for primary and canary service * canary Ingress manages weights on primary & canary service, hence no traffic to apex service ```
23 lines
667 B
Modula-2
23 lines
667 B
Modula-2
module github.com/weaveworks/flagger
|
|
|
|
go 1.14
|
|
|
|
require (
|
|
github.com/Masterminds/semver/v3 v3.0.3
|
|
github.com/aws/aws-sdk-go v1.30.19
|
|
github.com/davecgh/go-spew v1.1.1
|
|
github.com/google/go-cmp v0.4.0
|
|
github.com/prometheus/client_golang v1.5.1
|
|
github.com/stretchr/testify v1.5.1
|
|
go.uber.org/zap v1.14.1
|
|
golang.org/x/net v0.0.0-20200301022130-244492dfa37a // indirect
|
|
golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d // indirect
|
|
gopkg.in/h2non/gock.v1 v1.0.15
|
|
k8s.io/api v0.18.8
|
|
k8s.io/apimachinery v0.18.8
|
|
k8s.io/client-go v0.18.8
|
|
k8s.io/code-generator v0.18.8
|
|
)
|
|
|
|
replace k8s.io/klog => github.com/stefanprodan/klog v0.0.0-20190418165334-9cbb78b20423
|