Skip to content

helm-chart: add traefik.installTraefik config to opt-out when traefik is installed separately#857

Merged
consideRatio merged 6 commits into
dask:mainfrom
gardleopard:make_traefik_install_optional
Feb 3, 2025
Merged

helm-chart: add traefik.installTraefik config to opt-out when traefik is installed separately#857
consideRatio merged 6 commits into
dask:mainfrom
gardleopard:make_traefik_install_optional

Conversation

@gardleopard

Copy link
Copy Markdown
Contributor

This makes traefik installation optional.

Installation of CRDs happens if traefik is set to not be installed as well. Helm has built in functionality for not installing CRDs with --skip-crds, however for this project that is suboptimal, because it also blocks the install of daskclusters.gateway.dask.org CRD.

Relates to #855

gardleopard and others added 2 commits January 31, 2025 13:19
This makes traefik installation optional.

Installation of CRDs happens if traefik is set to not be installed as well. Helm has built in functionality for not installing CRDs with --skip-crds, however for this project that is suboptimal, because it also blocks the install of `daskclusters.gateway.dask.org` CRD.
@consideRatio

Copy link
Copy Markdown
Collaborator

I figure the way to use dask-gateway with a standalone traefik install, one would install the dask-gateway specific CRDs manually, and then do helm install .... --skip-crd.

# when installing dask-gateway without traefik
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/dask/dask-gateway/<VERSION HERE>/resources/helm/dask-gateway/crds/daskclusters.yaml
helm install .... --skip-crd

# when at a later time upgrading without dask-gateway's traefik
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/dask/dask-gateway/<VERSION HERE>/resources/helm/dask-gateway/crds/daskclusters.yaml
helm upgrade ....

The change in this PR seems fine and could be merged without docs as well, but could you skim through docs to see if there is a place where it's relevant to mention installing or not installing traefik @gardleopard?

Comment thread .github/workflows/test.yaml
- loglevel
- dashboard
- service
- installTraefik

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is often named enabled in Helm charts where a sub-resource is optional, could we rename it to that? What do you think?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not opposed to doing it that way. The reason I chose to be more specific was because we use ingressroute and middleware in the gateway templates. So it seems a bit wierd to me that we will use and depend on traefik if traefik is set to enabled: false. What do you think?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah great point, lets keep using install here!

Do you see a value of naming it as it currently is with traefik.installTraefik over traefik.install? Lets go with what you decide upon among these!

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets go for a merge, this is a detail of little importance - feel free to open a PR if you think it should be changed, I'll go for a merge!

Comment thread resources/helm/dask-gateway/values.yaml
@gardleopard

Copy link
Copy Markdown
Contributor Author

How the docs render
image

@consideRatio consideRatio changed the title feat: Make traefik installation optional helm-chart: add traefik.installTraefik config to opt-out when traefik is installed separately Feb 3, 2025
@consideRatio consideRatio merged commit 34e6fd2 into dask:main Feb 3, 2025
@consideRatio

Copy link
Copy Markdown
Collaborator

Thank you @gardleopard!!

@gardleopard gardleopard deleted the make_traefik_install_optional branch February 3, 2025 11:07
@jabbera

jabbera commented Nov 14, 2025

Copy link
Copy Markdown

For anyone who stumbles across this the appropriate settings for a default installation of traefik in a namespace called traefik is:

DASK_GATEWAY__ADDRESS: http://proxy-public/services/dask-gateway
DASK_GATEWAY__PROXY_ADDRESS: gateway://traefik.traefik.svc.cluster.local:80

jhub helm chart:

hub:
  consecutiveFailureLimit: 0 # Disable 5 consecutive failurs diables hub
  services:
    dask-gateway:
      url: http://traefik.traefik.svc.cluster.local
      apiToken: <snip>

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants