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

Document how to integrate with Linkerd #2089

Open
jpeach opened this issue Jan 9, 2020 · 5 comments
Open

Document how to integrate with Linkerd #2089

jpeach opened this issue Jan 9, 2020 · 5 comments
Labels
area/documentation Issues or PRs related to documentation. good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.

Comments

@jpeach
Copy link
Contributor

jpeach commented Jan 9, 2020

Now that Contour supports injecting HTTP headers, it should be possible to configure Contour as a Linkerd Ingress. We should verify and document how to do this.

@jpeach jpeach added help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. documentation labels Jan 9, 2020
@stefanprodan
Copy link
Contributor

Linkerd blocks the proxy injection into Envoy pods see linkerd/linkerd2#3910

@arminbuerkle
Copy link
Contributor

With linkerd edge-20.3.1 linkerd no longer blocks the proxy injection into envoy / contour pods.

Using linkerd with contour/envoy works but a lot of configuration is required since you need to set the l5d-dst-override header explicitly for every route split.

Is it somehow possible to automatically add those headers? Either by adding a config flag to contour, similar to ambassador (add_linkerd_headers: true ) or by having variables when editing headers:

apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
  name: test
spec:
  routes:
  - requestHeadersPolicy:
      set:
      - name: l5d-dst-override
        value: ${SVC_NAME}.${SVC_NAMESPACE}.svc.cluster.local:${SVC_PORT}
    services:
    - name: test
      namespace: default
      port: 80

@jpeach
Copy link
Contributor Author

jpeach commented Mar 6, 2020

Thanks for checking on this @arminbuerkle.

I'm not sure that we would consider it in scope for Contour to have direct support for Linkerd headers. Perhaps you could do that with a modifying admission controller?

@arminbuerkle
Copy link
Contributor

thanks @jpeach for the suggestion. An admission controller might be the way to go.

Regardless, are there any plans for contour to support variables like mentioned above for headers rewrite, or even prefix matching?

Other than that i think this issue can be closed. Linkerd has a documentation of how to use it with contour.

@stevesloka
Copy link
Member

We could add a requestHeaders section to the virtualhost here maybe. Way back in IngressRoute design days, we thought of something similar to this.

The idea was to apply "defaults" to all the routes under that vhost. They could still override them, however, if someone wanted a default something (in this case header added), you could define it at the vhost level and Contour would apply to all the routes automatically down the tree.

@projectcontour-bot projectcontour-bot added area/documentation Issues or PRs related to documentation. and removed kind/documentation labels May 9, 2020
@stevesloka stevesloka added the Hacktoberfest Denotes an issue ready for any "Hacktoberfest" contributor. label Oct 1, 2020
@stevesloka stevesloka removed the Hacktoberfest Denotes an issue ready for any "Hacktoberfest" contributor. label Nov 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/documentation Issues or PRs related to documentation. good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.
Projects
None yet
Development

No branches or pull requests

5 participants