CARVIEW |
Select Language
HTTP/2 301
date: Thu, 24 Jul 2025 20:56:55 GMT
content-type: text/html; charset=utf-8
content-length: 0
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
location: https://github.com/k3d-io/k3d/releases/tag/v5.0.0
cache-control: no-cache
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
set-cookie: _gh_sess=uxH1G2TUfkXG5%2BNqwSpdAOF7NByHRwOIwQLjuTqVicumIzf0uCTo8DDyO0y%2BlHLwbUXbW3l0YG6VZjilNB9%2FuhOJoLGNioPBh8cQMYQekhMjhqYvNhRrl7q4eymMngHh1zdHoQ8qJ120Yes%2F%2FtgmkQdHN3lkfg%2BkvpI7jDyibX0r3mUa%2BX14u7Y72CIfEDbFMw9x2gScdjL4boFak%2FfnMVz%2B4yV0MIvbw13JA9SGPjtDjPkzjI8OCujo7UIylTO0qNQt%2FeLdy4l1FYD%2B%2F6tIeA%3D%3D--0nWGH7NzLdCL0%2Bgr--O5sDRrbOAPmUp9QREkpmJg%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.85022232.1753390614; Path=/; Domain=github.com; Expires=Fri, 24 Jul 2026 20:56:54 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Fri, 24 Jul 2026 20:56:54 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: E5E2:21F8D7:D743:12FA8:68829E16
HTTP/2 200
date: Thu, 24 Jul 2025 20:56:55 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"aaab5e792d9b4a9d3b7f9be279712dea"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
x-github-request-id: E5E2:21F8D7:D754:12FC6:68829E16
Release v5.0.0 Β· k3d-io/k3d Β· GitHub
iwilltry42
Thorsten Klein
Loading
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 495
v5.0.0
Compare
8bdba73
This commit was signed with the committerβs verified signature.
v:five:.:zero:.:zero:
It's finally here! π₯³
This release contains a whole lot of new features, breaking changes as well as smaller fixes and improvements.
The changelog shown here is likely not complete but gives a broad overview over the changes.
For more details, please check the v5 milestone (https://github.com/rancher/k3d/milestone/27) or even the commit history.
The docs have been updated, so you should also find the information you need there, with more to come!
The demo repository has also been updated to work with k3d v5: https://github.com/iwilltry42/k3d-demo.
βΉοΈ https://k3d.io is now versioned, so you can checkout different versions of the documentation by using the dropdown menu in the page title bar!
π¬ Feedback welcome! β‘οΈ #770
β Breaking Changes
- new syntax for nodefilters
- dropped the usage of square brackets
[]
for indexing, as it caused problems with some shells trying to interpret them - new syntax:
@identifier[:index][:opt]
(see #652)- example for a port-mapping:
--port 8080:80@server:0:proxy
- identifier =
server
, index =0
, opt =proxy
opt
is an extra optional argument used for different purposes depending on the flag- currently, only the
--port
flag hasopt
s, namelyproxy
anddirect
(see other breaking change)
- currently, only the
- identifier =
- example for a port-mapping:
- dropped the usage of square brackets
- port-mapping now go via the loadbalancer (serverlb) by default
- the
--port
flag has theproxy
opt (see new nodefilter syntax above) set by default - to leverage the old behavior of direct port-mappings, use the
direct
opt on the port flag - the nodefilter
loadbalancer
will now do the same asservers:*;agents:*
(proxied via the loadbalancer)
- the
- flag
--registries-create
transformed from bool flag to string flag: let's you define the name and port-binding of the newly created registry, e.g.--registry-create myregistry.localhost:5001
π§° Fixes
- cleaned up and properly sorted the sanitization of existing resources used to create new nodes (#638)
π Features & Enhancements
- new command:
k3d node edit
to edit existing nodes (#615)- currently only allows
k3d node edit NODE --port-add HOSTPORT:CONTAINERPORT
for the serverlb/loadbalancer to add new ports - pkg: new
NodeEdit
function
- currently only allows
- new (hidden) command:
k3d debug
with some options for debugging k3d resources (#638)- e.g.
k3d debug loadbalancer get-config
to get the current loadbalancer configuration
- e.g.
- loadbalancer / k3d-proxy (#638)
- updated fork of
confd
to make usage of the file backend including a file watcher for auto-reloads- this also checks the config before applying it, so the lb doesn't crash on a faulty config
- updating the loadbalancer writes the new config file and also checks if everything's going fine afterwards
- some settings of the loadbalancer can now be configured using
--lb-config-override
, see docs at https://k3d.io/v5.0.0/design/defaults/#k3d-loadbalancer
- updated fork of
- helper images can now be set explicitly via environment variables:
K3D_IMAGE_LOADBALANCER
&K3D_IMAGE_TOOLS
(#638) - concurrently add new nodes to an existing cluster (remove some dumb code) (#640)
--wait
is now the default fork3d node create
- normalized flag usage for k3s and runtime (#598, @ejose19)
- rename
k3d cluster create --label
tok3d cluster create --runtime-label
(as it's labelling the node on runtime level, e.g. docker)- config option moved to
options.runtime.labels
- config option moved to
- add
k3d cluster create --k3s-node-label
to add Kubernetes node labels via k3s flag (#584, @developer-guy, @EJose, @Dentrax)- new config option
options.k3s.nodeLabels
- new config option
- the same for
k3d node create
- rename
- improved config file handling (#605)
- new version
v1alpha3
- warning when using outdated version
- validation dynamically based on provided config apiVersion
- new default for
k3d config init
- new command
k3d config migrate INPUT [OUTPUT]
to migrate config files between versions- currently supported migration
v1alpha2
->v1alpha3
- currently supported migration
- pkg: new
Config
interface type to support new genericFromViper
config file parsing
- new version
- changed flags
--k3s-server-arg
&--k3s-agent-arg
into--k3s-arg
with nodefilter support (#605)- new config path
options.k3s.extraArgs
- new config path
- config file: environment variables (
$VAR
,${VAR}
will be expanded unconditionally) (#643) - docker context support (#601, @developer-guy & #674)
- Feature flag using the environment variable
K3D_FIX_DNS
and setting it to a true value (e.g.export K3D_FIX_DNS=1
) to forward DNS queries to your local machine, e.g. to use your local company DNS
π Misc
- tests/e2e: timeouts everywhere to avoid killing DroneCI (#638)
- logs: really final output when creating/deleting nodes (so far, we were not outputting a final success message and the process was still doing stuff) (#640)
- tests/e2e: add tests for v1alpha2 to v1alpha3 migration
- docs: use v1alpha3 config version
- docs: update general appearance and cleanup
Assets 10
9 people reacted
You canβt perform that action at this time.