Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Traefik Support #516

Closed
mikesir87 opened this issue May 19, 2020 · 7 comments · Fixed by #1907
Closed

Traefik Support #516

mikesir87 opened this issue May 19, 2020 · 7 comments · Fixed by #1907
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed traffic-routing
Milestone

Comments

@mikesir87
Copy link

In addition to the current controllers, it would be great to support Traefik!

The TraefikService object supports the ability for weighted round robin load balancing and traffic mirroring when using Traefik as ingress.

As a quick pass, an IngressRoute is configured to send traffic to a TraefikService, which then provides configuration for sending traffic to one or more Kubernetes Service objects. While I haven't dived into Argo's architecture, I imagine it wouldn't be too complicated to own and manage the TraefikService object.

While I may not be the best to contribute code, I could try or help with docs and testing the implementation. Or if someone wants to chat on Slack and give me direction on how/where to get started, I can take a crack at it.

@jessesuen jessesuen added the enhancement New feature or request label Jul 17, 2020
@debu99
Copy link

debu99 commented Dec 5, 2020

we already use traefik ingressroute for blue/green deployment, we would like to try rollout once it supports traefik

@debu99
Copy link

debu99 commented Dec 6, 2020

@jessesuen jessesuen added the help wanted Extra attention is needed label Apr 22, 2021
@vishalct
Copy link

vishalct commented Aug 6, 2021

We want to leverage traefk for cananry deployment.
I tried following the document to use traefik for traffic management with canary
https://troy.wang/docs/kubernetes/posts/argo-rollouts-support-traefik/
It failed, with below error.

$ kubectl apply -f nginx-rollout.yaml -n argo-demo
error: error validating "nginx-rollout.yaml": error validating data: ValidationError(Rollout.spec.strategy.canary.trafficRouting): unknown field "traefik" in io.argoproj.v1alpha1.Rollout.spec.strategy.canary.trafficRouting; if you choose to ignore these errors, turn validation off with --validate=false

what code level changes i need to do to make it work? since it's written in Chinese, I am finding it difficult to follow.
@debu99 can u help me here

@kostis-codefresh
Copy link
Member

It seems that Traefik will have an implementation for the Kubernetes Gateway API https://gateway-api.sigs.k8s.io/implementations/#traefik

So Traefik support might be available after implementing #1438

@alexmt alexmt added this to the v1.2 milestone Sep 13, 2021
@PhilippPlotnikov
Copy link
Contributor

Can I take it please ?

@YesYouKenSpace
Copy link

Is this possible today?

@PhilippPlotnikov
Copy link
Contributor

#1907

perenesenko pushed a commit that referenced this issue Apr 29, 2022
* Make Traefik suppurt

Signed-off-by: PhilippPlotnikov <[email protected]>

* Make Traefik suppurt

Signed-off-by: PhilippPlotnikov <[email protected]>

* Make Traefik suppurt

Signed-off-by: PhilippPlotnikov <[email protected]>

* Traefik support

Signed-off-by: PhilippPlotnikov <[email protected]>

* Traefik support

Signed-off-by: PhilippPlotnikov <[email protected]>

* Update traefik

Signed-off-by: PhilippPlotnikov <[email protected]>

* Implement traefil support

Signed-off-by: PhilippPlotnikov <[email protected]>

* make codegen

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add traefik tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Goimports

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add test to trafiicrouting_test.go

Signed-off-by: PhilippPlotnikov <[email protected]>

* Remove added test to trafficrouting_test.go

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Generate new files

Signed-off-by: PhilippPlotnikov <[email protected]>

* Make codegen

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add test

Signed-off-by: PhilippPlotnikov <[email protected]>

* Change tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add mocks

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Change go.yml

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Back apimachinery package version

Signed-off-by: PhilippPlotnikov <[email protected]>

* Revert "Back apimachinery package version"

This reverts commit 34c61b8.

Signed-off-by: PhilippPlotnikov <[email protected]>

* Fix

Signed-off-by: PhilippPlotnikov <[email protected]>

* Bump

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add field doc

Signed-off-by: PhilippPlotnikov <[email protected]>

* Make codegen

Signed-off-by: PhilippPlotnikov <[email protected]>

* Removew verifyWeight and add permissions

Signed-off-by: PhilippPlotnikov <[email protected]>

* Back go.yml

Signed-off-by: PhilippPlotnikov <[email protected]>

* Back go.yml

Signed-off-by: PhilippPlotnikov <[email protected]>

* Change manifests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Fix tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add test

Signed-off-by: PhilippPlotnikov <[email protected]>

* Bump

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add documentation

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Bump

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Bump

Signed-off-by: PhilippPlotnikov <[email protected]>

* Bump

Signed-off-by: PhilippPlotnikov <[email protected]>

Co-authored-by: PhilippPlotnikov <[email protected]>
jenciso pushed a commit to jenciso/argo-rollouts that referenced this issue Oct 25, 2022
* Make Traefik suppurt

Signed-off-by: PhilippPlotnikov <[email protected]>

* Make Traefik suppurt

Signed-off-by: PhilippPlotnikov <[email protected]>

* Make Traefik suppurt

Signed-off-by: PhilippPlotnikov <[email protected]>

* Traefik support

Signed-off-by: PhilippPlotnikov <[email protected]>

* Traefik support

Signed-off-by: PhilippPlotnikov <[email protected]>

* Update traefik

Signed-off-by: PhilippPlotnikov <[email protected]>

* Implement traefil support

Signed-off-by: PhilippPlotnikov <[email protected]>

* make codegen

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add traefik tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Goimports

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add test to trafiicrouting_test.go

Signed-off-by: PhilippPlotnikov <[email protected]>

* Remove added test to trafficrouting_test.go

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Generate new files

Signed-off-by: PhilippPlotnikov <[email protected]>

* Make codegen

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add test

Signed-off-by: PhilippPlotnikov <[email protected]>

* Change tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add mocks

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Change go.yml

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Back apimachinery package version

Signed-off-by: PhilippPlotnikov <[email protected]>

* Revert "Back apimachinery package version"

This reverts commit 34c61b8.

Signed-off-by: PhilippPlotnikov <[email protected]>

* Fix

Signed-off-by: PhilippPlotnikov <[email protected]>

* Bump

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add field doc

Signed-off-by: PhilippPlotnikov <[email protected]>

* Make codegen

Signed-off-by: PhilippPlotnikov <[email protected]>

* Removew verifyWeight and add permissions

Signed-off-by: PhilippPlotnikov <[email protected]>

* Back go.yml

Signed-off-by: PhilippPlotnikov <[email protected]>

* Back go.yml

Signed-off-by: PhilippPlotnikov <[email protected]>

* Change manifests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Fix tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add tests

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add test

Signed-off-by: PhilippPlotnikov <[email protected]>

* Bump

Signed-off-by: PhilippPlotnikov <[email protected]>

* Add documentation

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Bump

Signed-off-by: PhilippPlotnikov <[email protected]>

* Refactor

Signed-off-by: PhilippPlotnikov <[email protected]>

* Bump

Signed-off-by: PhilippPlotnikov <[email protected]>

* Bump

Signed-off-by: PhilippPlotnikov <[email protected]>

Co-authored-by: PhilippPlotnikov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed traffic-routing
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants