nebari-dev / nebari

🪴 Nebari - your open source data science platform
https://nebari.dev
BSD 3-Clause "New" or "Revised" License
267 stars 88 forks source link

[BUG] - IPv6 is unsupported/broken #2485

Open zealousGnu opened 1 month ago

zealousGnu commented 1 month ago

Describe the bug

When running on a single-stack IPv6 cluster (including NAT64 and DNS64), Nebari is broken.

Expected behavior

Nebari should work out of the box on a single-stack IPv6 cluster that has DNS64 and NAT64. Once the dependent sites are IPv6-compatible, it should work even without DNS64/NAT64.

OS and architecture in which you are running Nebari

Debian 12 (bookworm) + k3s version v1.29.4+k3s1

How to Reproduce the problem?

Run Nebari on a single-stack IPv6 cluster with DNS64 and NAT64. There are a bunch of issues. Some of them can be easily fixed. For example:

./src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/files/jupyterhub/03-profiles.py: "image": "busybox:1.31"

The busybox image does not follow standard practices in regards to dual-stack environments. Changing all of the busybox images to alpine (which does follow proper networking practices) fixes several of the issues.

There are a bunch of other places in the code that depend on IPv4 and as an admin, I can't fix them all.

Command output

No response

Versions and dependencies used.

No response

Compute environment

None

Integrations

No response

Anything else?

15-20 years ago this would've been a feature request, but requiring legacy IP (aka IPv4) is a serious problem nowadays. Moreover it reflects badly on the project and makes it look amateurish.

Adam-D-Lewis commented 1 month ago

Thanks for contributing @zealousGnu. I'm not aware of any single-stack IPv6 Nebari deployments currently. It would be a worthwhile to support this, but there aren't any resources dedicated to this at the moment. I'll open an issue to add this limitation to the docs in the mean time.

Thanks for pointing out the issues you encountered when trying a single-stack IPv6 deployment. Any additional info on the issues encountered would be welcome, and additionally PRs fixing them would be welcome. Tagging @dcmcand in case he has additional comments.