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

Ability to disable proxy #3481

Open
cccs-nik opened this issue Aug 14, 2024 · 4 comments
Open

Ability to disable proxy #3481

cccs-nik opened this issue Aug 14, 2024 · 4 comments

Comments

@cccs-nik
Copy link

Proposed change

I would like the ability to disable the current proxy solution. The reason being that I implemented our own Traefik + Redis solution using the currently unreleased 2.0.0 Traefik Proxy because #1162 was closed for the time being. In the clusters I manage, we're seeing the same memory leaks described in Memory leak in proxy? and had to switch away from CHP as a result.

I understand that disabling CHP in the current chart leads to an incomplete deployment but because #1162 isn't ready yet, it would be nice to be able to disable CHP anyway to allow custom solutions. I currently extract the files from the .tgz chart, nuke the proxy folder under templates, repackage using helm and then place random values into the PROXY_API_SERVICE_PORT and PROXY_PUBLIC_SERVICE_PORT env vars for the hub pod to disable the proxy properly.

Alternative options

Replace CHP with Traefik would be an alternative option but I understand that this is a lot of work and not ready yet. Allowing custom proxy solutions could be a nice stopgap.

Who would use this feature?

People suffering from issues with CHP that want to implement their own proxy solution.

(Optional): Suggest a solution

Probably just adding some {{- if .Values.proxy.enabled }} in a few places.

@manics
Copy link
Member

manics commented Aug 15, 2024

I think this is reasonable. I'd like to give a bit of thought about the new property though. For instance, if we want to let people choose between multiple implementations in future (e.g. chp, traefik, none) then instead of enabled it might be better to have a string property.

@StefanTheWiz
Copy link

why not provide traefik as an optional chart dependency?

# Chart.yaml (partial contents)
name: jupyterhub

dependencies:
- name: traefik
  condition: traefik.enabled
  repository: #....
  version: "2.x.x"

@manics
Copy link
Member

manics commented Oct 16, 2024

That would require us to create a new Helm chart just for https://github.com/jupyterhub/traefik-proxy , and we'd still need some configuration parameters in Z2JH to use Traefik-proxy instead of Configurable-HTTP-Proxy.

@StefanTheWiz
Copy link

https://github.com/traefik/traefik-helm-chart comes with CRDs so you can create IngressRoute objects to configure ingress rules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants