172 Commits

Author SHA1 Message Date
Hiroki Matsumoto
d15df9ae88 Reflect the latest Istio version v1alpha3
Signed-off-by: Hiroki Matsumoto <hiroki.matsumoto.ggg@gmail.com>
2021-01-12 21:08:29 +09:00
Kevin Dorosh
ba4d16fd76 Remove dated comment
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:09:20 -05:00
Kevin Dorosh
b9f14ee57a Update to use new Gloo Edge 1.6 API
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:09:20 -05:00
Kevin Dorosh
a3f791be17 First pass A/B testing
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:09:20 -05:00
Kevin Dorosh
44cf4d08e9 Fix test
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:05:55 -05:00
Kevin Dorosh
ca07b47523 Fix compile error
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:05:55 -05:00
Kevin Dorosh
c63ec2d95d Update gloo logic to use route tables, cleanup
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:05:55 -05:00
Kevin Dorosh
e6aefb8f4b Initial commit
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:03:41 -05:00
Stefan Prodan
cd75c5fa25 Copyright Flux authors
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-21 19:44:52 +02:00
Stefan Prodan
90abb7ba5b Rename imports to fluxcd/flagger
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-21 19:02:23 +02:00
Marcus Rodan
d05b684dbe Remove log line 2020-12-08 16:14:15 +01:00
Marcus Rodan
da978254b1 Fix issue 2020-12-08 16:12:12 +01:00
nmlc
746507dcc9 [traefik] Remove TraefikService metadata from canary spec 2020-11-26 05:52:42 +05:00
nmlc
2c1d998c43 [traefik] Implement router interface 2020-11-25 07:54:00 +05:00
João Carreira
5a856c98aa Use strings.HasPrefix instead of manual count of prefix 2020-11-20 10:43:28 +00:00
João Carreira
a9c96fa888 update th usage of App Mesh types 2020-11-20 10:34:10 +00:00
João Carreira
e149125eaa validate if its an ARN 2020-11-19 16:19:16 +00:00
Kazuki Nitta
a624a2977e Add support for Istio VirtualService delegation (#715)
Add support for Istio VirtualService delegation
2020-10-28 11:38:54 +02:00
Forrest Thomas
f70f43bb3d use the existing labelSelector value instead of using the service name as the value 2020-09-02 12:46:02 -07:00
Samuel Lang
e7da8c3f35 Skipper: preserve Predicates
Current implementation did overwrite potentially existing Predicates.

We face the situation that we need to add further Predicates which we need to keep in order to have  a proper route setup
2020-08-26 12:00:36 +02:00
Samuel Lang
ca14a08f9c Skipper Router Implementation
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
```
2020-08-17 08:23:38 +02:00
Rafael Gaspar
b890b79234 Fix multiple paths per rule on canary ingress 2020-06-22 15:59:27 +02:00
stefanprodan
0715e1ca37 Add AppMesh timeout unit test 2020-06-04 13:48:52 +03:00
stefanprodan
37ec07d2ec Set timeout for virtual nodes and routers 2020-06-04 12:37:34 +03:00
Stefan Prodan
3e19ef0f01 Make Contour annotation const
Co-authored-by: Takeshi Yoneda <cz.rk.t0415y.g@gmail.com>
2020-05-14 12:48:12 +03:00
stefanprodan
fbaf8fedc7 Set ingress class in factory 2020-05-14 12:27:11 +03:00
stefanprodan
48467eb8b3 Add ingress class support for Contour
Add `-ingress-class` command flag. When set, the specified class is used to annotate the generated HTTPProxy objects.
2020-05-14 12:17:03 +03:00
stefanprodan
e7f2d22505 Fix svc update conflict 2020-05-14 11:08:32 +03:00
stefanprodan
6498cccb85 Use target port for virtual routers
AppMesh does not support port mappings
2020-05-13 22:50:26 +03:00
stefanprodan
6c9847ae14 Use FQDN for virtual nodes DNS 2020-05-13 22:43:10 +03:00
stefanprodan
b0b0cedde1 Map target port for virtual node listeners 2020-05-13 17:26:36 +03:00
stefanprodan
854d7665f0 Add AppMesh v1beta2 to factories 2020-05-08 13:15:37 +03:00
stefanprodan
52c757250a Fix annotations diff 2020-05-08 13:14:50 +03:00
stefanprodan
fe1d85b0ce Add AppMesh v1beta2 router tests 2020-05-08 13:13:27 +03:00
stefanprodan
0aac94b782 Implement AppMesh v1beta2 router 2020-05-08 13:12:58 +03:00
Tariq Ibrahim
d41ed43ef9 fix issues reported by the linter 2020-04-17 11:45:44 -07:00
stefanprodan
84dd0006ca Add service metadata update unit test 2020-04-04 17:16:49 +03:00
stefanprodan
8d37b7b20b Update service metadata if ownerRef kind is canary 2020-04-04 16:52:12 +03:00
Finn Herzfeld
3f961ae73f Handle annotations/labels update 2020-04-04 16:52:12 +03:00
stefanprodan
c609a90959 Add unit tests for service custom metadata 2020-04-04 16:48:35 +03:00
Finn Herzfeld
2657e135b8 Use pointers for metadata because it is optional
and metadata parameter is nil on finalize.

in response to PR feedback
2020-04-04 16:48:35 +03:00
Finn Herzfeld
b7441a7ce7 Fix call to reconcileService 2020-04-04 16:48:35 +03:00
Finn Herzfeld
0aee385145 log canary.spec.service for debugging purposes 2020-04-04 16:48:35 +03:00
Finn Herzfeld
5c48430ed2 Initialize the label and annotation maps if they are nil 2020-04-04 16:48:35 +03:00
Finn Herzfeld
9d907deece Initial support for custom labels and annotations 2020-04-04 16:48:35 +03:00
sayboras
c0515fc6ff Upgrade to kube 1.18 2020-04-04 23:46:38 +11:00
stefanprodan
14e9c7f466 Add e2e tests for ingress A/B Testing 2020-04-02 15:07:37 +03:00
stefanprodan
b8e9f57e1e Add unit tests for ingress A/B Testing 2020-04-02 01:35:15 +03:00
stefanprodan
38ef4ef4d8 Implement NGINX ingress header regex match 2020-04-02 01:34:29 +03:00
stefanprodan
4ba27f018d router: update ingress API to networking/v1beta1 2020-03-29 13:15:00 +03:00