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 ?

@kennethtxytqw
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 <70917163+PhilippDeveloper@users.noreply.github.com>

* Make Traefik suppurt

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Make Traefik suppurt

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Traefik support

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Traefik support

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Update traefik

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Implement traefil support

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* make codegen

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add traefik tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Goimports

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add test to trafiicrouting_test.go

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Remove added test to trafficrouting_test.go

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Generate new files

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Make codegen

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add test

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Change tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add mocks

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Change go.yml

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Back apimachinery package version

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Revert "Back apimachinery package version"

This reverts commit 34c61b8.

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Fix

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Bump

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add field doc

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Make codegen

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Removew verifyWeight and add permissions

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Back go.yml

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Back go.yml

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Change manifests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Fix tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add test

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Bump

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add documentation

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <philipp.plotnikov@codefresh.io>

* Bump

Signed-off-by: PhilippPlotnikov <philipp.plotnikov@codefresh.io>

* Refactor

Signed-off-by: PhilippPlotnikov <philipp.plotnikov@codefresh.io>

* Bump

Signed-off-by: PhilippPlotnikov <philipp.plotnikov@codefresh.io>

* Bump

Signed-off-by: PhilippPlotnikov <philipp.plotnikov@codefresh.io>

Co-authored-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>
jenciso pushed a commit to jenciso/argo-rollouts that referenced this issue Oct 25, 2022
* Make Traefik suppurt

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Make Traefik suppurt

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Make Traefik suppurt

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Traefik support

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Traefik support

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Update traefik

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Implement traefil support

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* make codegen

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add traefik tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Goimports

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add test to trafiicrouting_test.go

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Remove added test to trafficrouting_test.go

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Generate new files

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Make codegen

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add test

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Change tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add mocks

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Change go.yml

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Back apimachinery package version

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Revert "Back apimachinery package version"

This reverts commit 34c61b8.

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Fix

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Bump

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add field doc

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Make codegen

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Removew verifyWeight and add permissions

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Back go.yml

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Back go.yml

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Change manifests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Fix tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add tests

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add test

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Bump

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Add documentation

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>

* Refactor

Signed-off-by: PhilippPlotnikov <philipp.plotnikov@codefresh.io>

* Bump

Signed-off-by: PhilippPlotnikov <philipp.plotnikov@codefresh.io>

* Refactor

Signed-off-by: PhilippPlotnikov <philipp.plotnikov@codefresh.io>

* Bump

Signed-off-by: PhilippPlotnikov <philipp.plotnikov@codefresh.io>

* Bump

Signed-off-by: PhilippPlotnikov <philipp.plotnikov@codefresh.io>

Co-authored-by: PhilippPlotnikov <70917163+PhilippDeveloper@users.noreply.github.com>
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