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

Project Contour HTTPProxy support? #1366

Closed
vincentjorgensen opened this issue Jan 14, 2020 · 15 comments · Fixed by #1628
Closed

Project Contour HTTPProxy support? #1366

vincentjorgensen opened this issue Jan 14, 2020 · 15 comments · Fixed by #1628
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature.

Comments

@vincentjorgensen
Copy link

contour-httpproxy isn't supported yet. Is there a way to get external-dns to honor httpproxy if set in the annotations. Sample below:

apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
  annotations:
    external-dns.alpha.kubernetes.io/hostname: grpc.megatron.sample.com
metadata:
  name: grpc-megatron
  namespace: development
spec:
  virtualhost:
    fqdn: grpc.megatron.sample.com
  routes:
    - conditions:
      - prefix: /
      services:
        - name: megatron
          protocol: h2c
          port: 10000
@njuettner
Copy link
Member

@vincentjorgensen probably you need to create PR which supports this.

@njuettner njuettner added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Jan 14, 2020
@vincentjorgensen
Copy link
Author

That's what I feared. Time to roll up the sleeves and step out of my comfort zone. Thanks!

@vincentjorgensen
Copy link
Author

I've dived in and I'm updating the API for projectcontour (vs heptio-contour, but I'm leaving ingressroute alone), however, I get the following error while running make:

go: finding github.com/googleapis/gax-go/v2 v2.0.5
build sigs.k8s.io/external-dns: cannot load github.com/envoyproxy/go-control-plane/pkg/util: module github.com/envoyproxy/go-control-plane@latest found (v0.9.2), but does not contain package github.com/envoyproxy/go-control-plane/pkg/util
make: *** [build/external-dns] Error 1

Golang version:

go version go1.13.4 darwin/amd64

@vincentjorgensen
Copy link
Author

Looks like the issue is because istio.io/istio has version dependency requirements for envoyproxy/go-control-plane is different from projectcontour/contour. The former needs a version < 0.9 and the latter >= 0.9.0 due to the removal of pkg/util in releases after 0.9. Does go allow for multiple versions to be specified on a per-package basis?

@dechiad1
Copy link

Hi @vincentjorgensen - are you still running with this? My team is also very interested in this & I would love to take a shot at it, but I don't want to overstep. Thanks!

@vincentjorgensen
Copy link
Author

vincentjorgensen commented Jan 28, 2020 via email

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 27, 2020
@stevesloka
Copy link
Contributor

I started a PR to update the deps of the current Contour integration and have run into the same issues you have @vincentjorgensen.

We are currently adding status information to HTTPProxies so we should be able to update this integration nicely.

Until then, my current goal was to update the deps so that it's not blocking this project any longer. Then when we have the status information integrated, then we'll update with HTTPProxy support in a follow-up PR.

// cc @tariq1890

@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jun 10, 2020
@voor
Copy link
Member

voor commented Jun 10, 2020

/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Jun 10, 2020
@josephglanville
Copy link
Contributor

@stevesloka what is the status of this effort? We would like to use this and would be happy to pick up the torch if this has stalled out.

@stevesloka
Copy link
Contributor

@josephglanville We now have lbstatus info in HTTPProxy object as of Contour v1.5.0, so this integration can happen now:

Status:
  Current Status:  valid
  Description:     valid HTTPProxy
  Load Balancer:
    Ingress:
      Hostname:  ac34879b5a3b1.us-east-2.elb.amazonaws.com

If you'd like to do this please go ahead. Let me know how I can help assist. =)

@josephglanville
Copy link
Contributor

Yup I will pick this up and start work on it, will let you know when I have a WIP PR for review. Thanks for the swift reply. 😄

@josephglanville
Copy link
Contributor

josephglanville commented Jun 12, 2020

Looks like this is going to be painful because upgrading the Contour client bumps the required Kubernetes client past v1.18 which breaks Istio, Openshift and Linode. I will probably do the bumping in a separate PR and then go from there.

@seanmalloy
Copy link
Member

/kind feature

@k8s-ci-robot k8s-ci-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Aug 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants