loft-sh / vcluster

vCluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
https://www.vcluster.com
Apache License 2.0
6.92k stars 427 forks source link

Make it possible to create virtual clusters with numbers only name #2168

Closed johannesfrey closed 1 month ago

johannesfrey commented 2 months ago

What issue type does this pull request address? (keep at least one, remove the others) /kind bugfix

What does this pull request do? Which issues does it resolve? (use resolves #<issue_number> if possible) resolves ENG-4551

Please provide a short message that should be published in the vcluster release notes Make it possible to create virtual clusters with digits only name

What else do we need to know? In order to be able to create virtual clusters with a digits-only name we have to change the way how we create services based on the name. Previously we just used the name verbatim which in case of pure digits violates the DNS-1035 naming convention for service names used by Kubernetes. It turned out this change cannot only be made to our helm templates as there have been several places in the code base that implicitly rely on services being named like the virtual cluster itself. I hope I found all the places and adjusted them to rely on the service name directly. The change should be backwards compatible as the vc- prefix is only prepended to the name when the vcluster name consists of digits only (thx @ThomasK33). So if users already have virtual clusters running with a regular name (e.g. "foo") the service's name will remain "foo" as well.

TODO after merge

netlify[bot] commented 2 months ago

Deploy Preview for vcluster-docs canceled.

Built without sensitive environment variables

Name Link
Latest commit 060310503aa89ee335b965ebf3343e4361418d91
Latest deploy log https://app.netlify.com/sites/vcluster-docs/deploys/66f5322bd69f9000089948ca