Commit Graph
82 Commits
Author SHA1 Message Date
stefanprodan dd272c6870 Expose canaries on public domains with App Mesh Gateway
- map canary service hosts to domain gateway annotation
- map canary retries and timeout to gateway annotations
2019-11-04 18:26:28 +02:00
stefanprodan 46579d2ee6 Refactor Gloo integration
- build Gloo UpstreamGroup clientset
- drop solo-io, envoyproxy, hcl, consul, opencensus, apiextensions deps
- use the native routers with supergloo
2019-10-21 16:33:47 +03:00
stefanprodan 03652dc631 Add App Mesh http match headers tests 2019-10-16 15:43:26 +03:00
stefanprodan 206c3e6d7a Implement App Mesh A/B testing 2019-10-15 16:39:54 +03:00
stefanprodan 7d4c3c5814 Implement App Mesh HTTP retry policy 2019-10-14 20:27:48 +03:00
stefanprodan 9982dc9c83 Generate unique names for App Mesh virtual routers and routes 2019-10-14 19:07:10 +03:00
stefanprodan 673b6102a7 Add the name label to ClusterIP services and primary deployment 2019-10-09 13:01:15 +03:00
stefanprodan 45df96ff3c Format imports 2019-10-06 12:54:01 +03:00
stefanprodan 7581b396b2 Implement service target port 2019-10-06 10:21:34 +03:00
stefanprodan 298d8c2d65 Allow gPRC protocol for App Mesh
Use the canary service port name to set http or grpc protocol on App Mesh virtual nodes and virtual routers
2019-10-05 11:21:43 +03:00
stefanprodan e8a2d4be2e Fix port discovery diff
Sort service ports by port number before comparing slices
2019-10-05 10:42:01 +03:00
Stefan ProdanandGitHub 9a9baadf0e Merge pull request #311 from andrewjjenkins/mirror
Add traffic mirroring for Istio service mesh
2019-10-05 10:34:25 +03:00
stefanprodan 4da6c1b6e4 Create canary virtual service during App Mesh reconciliation
Allows the canary pods to be accessed from inside the mesh during the canary analysis for conformance and load testing
2019-10-03 11:43:47 +03:00
Andrew Jenkins 2e079ba7a1 Add mirror to router interface and implement for istio router
The mirror option will be used to tell routers to configure traffic
mirroring.  Implement mirror for GetRoutes and SetRoutes for Istio.  For
other routers, GetRoutes always returns mirror == false, and SetRoutes
ignores mirror.

After this change there is no behavior change because no code sets
mirror true (yet).

Enhanced TestIstioRouter_SetRoutes and TestIstioRouter_GetRoutes.
2019-09-24 16:15:45 -06:00
Anton Kislitcyn f56b6dd6a7 Add annotations prefix for ingresses 2019-09-06 11:36:06 +02:00
stefanprodan 040dbb8d03 Add http listener to virtual router reconciliation 2019-08-10 11:04:15 +03:00
stefanprodan 64f2288bdd Add listeners to AppMesh virtual router 2019-08-10 10:58:20 +03:00
Félix Cantournet 0ca48d77be Fix Port discovery with multiple port services
This fixes issue https://github.com/weaveworks/flagger/issues/263

We actually don't need to specify any ports in the VirtualService
and DestinationRules.
Istio will create clusters/listerners for each named port we have declared in
the kubernetes services and the router can be shared as it operates only on L7 criterias

Also contains a tiny clean-up of imports
2019-08-02 10:07:00 +02:00
stefanprodan 00fa5542f7 Add linkerd as mesh provider 2019-06-30 12:46:23 +03:00
stefanprodan fd23a2f98f Add kubernetes provider type
Synonym to provider `none`, to be used for blue/green deployments
2019-06-20 15:18:48 +03:00
stefanprodan 9fada306f0 Add a service mesh provider of type none
To be used for Kubernetes blue/green deployments with the no-operations router
2019-06-19 12:02:40 +03:00
stefanprodan 8d1cc83405 Add a no-operation router
To be used for Kubernetes blue/green deployments (no service mesh or ingress controller)
2019-06-19 12:01:02 +03:00
stefanprodan f25023ed1b Include selector in service reconciliation
- detect changes in the Kubernetes service selectors and ports
- preserve the immutable fields when updating the ClusterIP services
2019-06-18 17:57:00 +03:00
stefanprodan 88c450e3bd Implement port discovery
If port discovery is enabled, Flagger scans the deployment pod template and extracts the container ports excluding the port specified in the canary service spec and Istio proxy ports. All the extra ports will be used when generation the ClusterIP services.
2019-06-15 16:34:32 +03:00
stefanprodan 2285bd210e Add traffic policy to canary service spec
Attach traffic policy to canary and primary destination rules
2019-06-07 13:58:59 +03:00
stefanprodan 3fa9f37192 Reconcile Istio destination rule
Remove port selector from virtual service destinations
Ignore the destination weight field when diffing the virtual service spec
2019-06-07 13:31:07 +03:00
stefanprodan ec63aa9999 Add Gloo custom resources to RBAC 2019-05-17 11:55:15 +03:00
Yuval Kohavi 52d93ddda2 fix router tests 2019-05-16 13:08:53 -04:00
Yuval Kohavi 6a66a87a44 PR updates 2019-05-16 07:28:22 -04:00
Yuval Kohavi 677b9d9197 gloo metrics 2019-05-14 17:48:13 -04:00
Yuval Kohavi 786c5aa93a Merge remote-tracking branch 'upstream/master' into gloo2 2019-05-14 10:26:57 -04:00
stefanprodan 95b8840bf2 Add SMI traffic split to router 2019-05-11 13:05:19 +03:00
Yuval Kohavi d7be66743e Merge remote-tracking branch 'upstream/master' into gloo2 2019-05-10 10:38:14 -04:00
stefanprodan 752eceed4b Add tests for ingress weight changes 2019-05-10 11:53:12 +03:00
stefanprodan eadce34d6f Add ingress router unit tests 2019-05-10 11:39:52 +03:00
stefanprodan 0d94c01678 Toggle canary annotation based on weight 2019-05-07 11:10:19 +03:00
stefanprodan 00151e92fe Implement A/B testing for nginx ingress 2019-05-07 10:33:40 +03:00
stefanprodan 177dc824e3 Implement nginx ingress router 2019-05-06 18:42:02 +03:00
stefanprodan c92230c109 Fix duplicate hosts error when using wildcard 2019-05-02 19:05:54 +03:00
Yuval Kohavi 5279f73c17 use name.namespace instead of namespace.name 2019-04-25 11:10:23 -04:00
Yuval Kohavi d196bb2856 e2e test 2019-04-24 16:00:55 -04:00
Yuval Kohavi 350efb2bfe gloo upstream group support 2019-04-23 07:47:50 -04:00
Yuval Kohavi 5ba27c898e remove todo 2019-04-23 07:42:52 -04:00
Yuval Kohavi 4d7fae39a8 add retries and cors 2019-04-19 14:41:50 -04:00
Yuval Kohavi a19d016e14 more rules 2019-04-19 10:59:04 -04:00
Yuval Kohavi 156488c8d5 Merge remote-tracking branch 'origin/master' into supergloo-updated 2019-04-17 18:24:41 -04:00
Yuval Kohavi 68d1f583cc more tests 2019-04-17 13:04:02 -04:00
Yuval Kohavi aa24d6ff7e minor change 2019-04-16 19:16:49 -04:00
Yuval Kohavi 2a91149211 starting adding tests 2019-04-16 19:16:15 -04:00
Yuval Kohavi 868482c240 basics seem working! 2019-04-16 15:10:08 -04:00