- volume-mount destination shortcuts, e.g. `k3s-storage`
- non-existing named volumes starting with `k3d-` created/handled by k3d
- removed unused volume validation logic in `cmd/util`
- move docker-machine lookup into general GetHost function
- only use GetHost result if API host is default (0.0.0.0) to not override user-provided value
- when looking up IP for host value (e.g. localhost), only use IPv4 to prevent errors
- do not close connection of exec process before having read everything
- as a backwards-compatible fix, we now read all logs into a new
bufio.Reader so we can savely close the connection and original reader
- start tools node with --add-host=host.k3d.internal:host-gateway
(docker feature) and use it for getHostIP on DfD (TODO: we can use this
on all platforms)
... and throw error if suffix is used in unsupported cases (e.g. volumes)
Note: as of now, only the port config supports nodefilter suffices (proxy, direct) and all the others don't.
- use `k3d-tools` (classic) image importing for remote docker hosts
- use direct streaming into the nodes (node exec with stdin) on local docker connections
- do not try to get host gateway IP via tools node or network inspect
- do not try to inject host.k3d.internal into /etc/hosts
- do not try to inject host.k3d.internal into CoreDNS configmap
- when getting node info from container, do not try to get IP info
- new special internal role `initServer` used only to determine the correct ready-log-message
- ready-log-messages now looked up by role and new `Intent` type (cluster-create/cluster-start/node-create/node-start), as especially for the init server there are different log messages indicating that we can proceed with the next step
- moving types around:
- K3s env vars now under .../types/k3s/env.go
- defaults now under .../types/defaults.go
- ...
- improved waiting for log messages
- not checking the whole log again and again in a loop
- follow log with a single reader (and retry in case we see a fatal error, meaning that the K3s container will restart -> backoff after 10 tries)
- BREAKING: new `*runtimeTypes.NodeLogsOpts` parameter in GetNodeLogs