Commit Graph

135 Commits

Author SHA1 Message Date
Thorsten Klein
f8f17caf78
[Cleanup] Types, ready-log-messages & closing connections (#818)
- 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
2021-10-27 12:56:04 +02:00
iwilltry42
81a41bdab1
debug: add env var flag K3D_DEBUG_DISABLE_DOCKER_INIT to test k3s as pid 1 2021-10-01 19:01:19 +02:00
Thorsten Klein
67d8c8c84f
[Enhancement/Fix] Properly use env/runtime info and inject dns accordingly (#758)
- make use of environment and runtime info
- DfD: use host.docker.internal
- All other cases: use Docker network Gateway
- k3d-tools: based on alpine to have `getent` present
2021-09-23 12:41:30 +02:00
Thorsten Klein
7071129df8
[Enhancement] More powerful registry-create opt (#727)
- `--registry-create NAME[:HOST][:HOSTPORT]` changed from bool flag
- respective config added to config file
2021-09-08 19:09:23 +02:00
iwilltry42
7073a8fad7 migrate to module rancher/k3d/v5 2021-09-07 08:58:57 +02:00
iwilltry42
5aa1edfb73
update to go1.17 and update direct dependencies 2021-09-07 08:57:05 +02:00
Thorsten Klein
7ba71ad66c
[Feature] CreateNode: add token and network flags and allow remote cluster (#734)
- `--cluster` flag parsed for `https://` prefix and node creation treated differently accordingly
- new `--network` string array flag to add the node to multiple networks (primary network when adding to a remote cluster)
- new `--token` flag to provide the cluster token
2021-09-07 07:31:18 +02:00
iwilltry42
78738058c8
fix regression on checking edac folder introduced by wrapping a nil error 2021-08-31 10:42:45 +02:00
iwilltry42
17dc4b7b4d fix e2e makefile target 2021-08-31 09:33:39 +02:00
iwilltry42
9efe980789 overall: make error handling and error logs a bit more streamlined 2021-08-31 09:33:39 +02:00
Thorsten Klein
b4158a1dc1
[Enhancement] Network Magic (#721)
- before starting the cluster, gather environment info via tools node
- use hostIP/gatewayIP for DNS (iptables + resolv.conf updated in entrypoint script)
- revamp of custom entrypoint scripts
2021-08-30 14:59:12 +02:00
iwilltry42
1ae8302980
fix: do not try to parse container IP if container is restarting 2021-08-24 14:41:38 +02:00
Thorsten Klein
212979d0bb
[Enhancement] DNS Injection (#718)
- remove`--no-hostip` flag and the related `disableHostIPInjection` config option
- inject host IP on every cluster startup (except when hostnetwork is chosen)(/etc/hosts + CoreDNS)
- inject host entries for every cluster network member container into the CoreDNS configmap
2021-08-24 10:18:53 +02:00
iwilltry42
95e0045418
Merge branch 'main' into main-v5 2021-08-18 14:14:07 +02:00
iwilltry42
8647a0ca40
fix: when checking for folder existence in container, only pull the
image if not present

works around issue reported in
https://github.com/rancher/k3d/discussions/703 if image is present
locally
2021-08-18 14:12:41 +02:00
Mateusz Urbanek
917c19eae5
feat(logging): using new package containing logrus.Logger instead of global scope logrus (closes #583) (#699, @Shanduur) 2021-08-18 12:22:44 +02:00
iwilltry42
5364bd1300
fix: log level overwritten by dockerCli.Initialize() 2021-07-23 10:20:29 +02:00
Thorsten Klein
607382056b
[Fix] Simplify and Fix docker client creation (#674)
These options worked:
- unix://
- ssh://
- tcp:// (with and without tls)
2021-07-16 12:04:26 +02:00
iwilltry42
79790d1c30
Merge branch 'main' of github.com:developer-guy/k3d into developer-guy-main 2021-07-13 12:38:45 +02:00
iwilltry42
8fef6aee09
fix usage of the new loadbalancer type and ordering when cluster is created 2021-07-09 10:48:28 +02:00
Thorsten Klein
77aa76d7f2
[FEATURE] add ability to add ports to an existing loadbalancer (#615) 2021-07-09 10:46:16 +02:00
ejose19
bfead49c46
[Enhancement] Refactoring: normalize label flags (k3s node & runtime) (#598, @ejose19) 2021-07-09 10:46:16 +02:00
MichalK
cbe187d008
[Fix] Use default gateway, when bridge network doesn't have it (#666, @kuritka)
Signed-off-by: kuritka <kuritka@gmail.com>
2021-07-02 10:05:26 +02:00
Thorsten Klein
139eadec19
Merge branch 'main' into main 2021-06-11 11:15:31 +02:00
iwilltry42
34aac579d2
runtimes/docker: use getDockerClient function everywhere so all functions can work via e.g. ssh 2021-06-04 07:43:06 +02:00
iwilltry42
6c94d7db3d
overall/license: update to year range -2021 2021-05-21 13:07:59 +02:00
Batuhan Apaydın
f59216c2e0 docker context support
Signed-off-by: Batuhan Apaydın <batuhan.apaydin@trendyol.com>
2021-05-11 12:42:51 +03:00
Thorsten Klein
bb1f5bde71
[FIX/ENHANCEMENT] node/create: inherit registry config from existing nodes (#597) 2021-05-11 08:17:58 +02:00
iwilltry42
b4c910b729
runtimes/docker/network: only read ipam config if exists
- fixes #576
  - IPAM config is empty for e.g. the "host" network
2021-04-30 14:29:00 +02:00
Thorsten Klein
0b7de65ebd
fix/workaround: add workaround for cgroupv2 until fixed in k3s (#579)
special thanks to @AkihiroSuda for the support on this!
2021-04-29 09:17:49 +02:00
Thorsten Klein
24cf263c73
[FEATURE] IPAM via subnet flag (#560) 2021-04-20 07:39:51 +02:00
Thorsten Klein
239adeb864
[Feature] Runtime Info (#553) 2021-04-07 19:20:58 +02:00
Konrad Malik
e495fe83a8
[FEATURE] Memory Limits (#494, @konradmalik) 2021-03-29 17:52:15 +02:00
iwilltry42
dbf3ff8172
getNodeContainer: regex to allow k3d-prefixed or non-prefixed name
- fixes #495
- additionally brings in a fix for a nil-pointer exception in case
someone inputs a regex that would result in multiple containers being
returned
2021-03-05 14:57:32 +01:00
iwilltry42
8b0174bed2
runtimes/docker/getgatewayip: properly catch non-existent ipam config 2021-03-02 18:38:55 +01:00
MichalK
76fc9ebed7
[Fix] Reuse registry in multicluster (fixes #485,@kuritka) (#486, @kuritka) 2021-02-09 17:45:15 +01:00
iwilltry42
e1384c91a2
server: trim the port off the dockerHost as it renders the kubeconfig unusable (fixes #487) 2021-02-09 16:21:55 +01:00
iwilltry42
601bef45d7
general: properly use variable default object labels 2021-02-09 14:57:29 +01:00
iwilltry42
ac96c9c448
simplify log outputs and increase timeout for tests 2021-02-05 16:08:32 +01:00
iwilltry42
b5c055f436
less loggigng 2021-02-04 19:07:38 +01:00
iwilltry42
746cbcd131
node: add start time field and use it when waiting for log messages 2021-02-04 19:07:38 +01:00
Erik Kristensen
63d54842c0
[Feature] Support docker over ssh (#324, @ekristen & @inercia) 2021-02-04 17:54:49 +01:00
iwilltry42
e7c43df434
properly handle initNode and normalize waiting for log messages to determine successful node starts 2021-01-28 08:32:48 +01:00
iwilltry42
7b8506b1d9
fix: proper handling of registries and networks when deleting clusters/nodes 2021-01-19 18:53:32 +01:00
iwilltry42
b7576591d2
fix: no duplicate network entry 2021-01-19 18:11:17 +01:00
iwilltry42
7a3edd9d7e
NodeSpec: transform network string to list of strings to allow checking out node networks 2021-01-19 18:03:57 +01:00
Thorsten Klein
185ffcd34f
[Enhancement] clusterDelete: proper node and network handling (#437)
This comes with several fixes/improvements

- only consider containers that have the default object label (app=k3d)
- handle network deletion
  - check if there are other k3d containers connected
  - if there are only registries, disconnect them
  - if there are non-registry nodes, leave everything as it is
  - if there are any containers connected, that are not automatically
  disconnected, log a warning and continue
2021-01-07 11:32:30 +01:00
iwilltry42
3fcc50b205
Merge branch 'main' into main-v4 2021-01-05 08:42:53 +01:00
iwilltry42
b36c49aac2
import image: add additional exception handling to avoid nil pointer exceptions 2021-01-05 08:35:20 +01:00
Alvaro
5dedac8cbb
Print the creation time for containers (#431)
* Added a new `created` field that exports the creation time
for all the containers in the cluster.

Signed-off-by: Alvaro Saurin <alvaro.saurin@gmail.com>
2020-12-30 18:47:37 +01:00