358 Commits

Author SHA1 Message Date
iwilltry42
5f2ea9aac0
speed up /etc/hosts injection 2021-10-05 10:55:41 +02:00
Thorsten Klein
53bdbec636
[Fix] k3d config migrate missing nodefilter migration (#767)
configMigrate: add missing migrations for nodefilters and fix perm of outputfile
2021-10-05 10:42:09 +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
3b9d8373e1
[Docs] v5 update (#740) 2021-09-17 20:41:57 +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
iwilltry42
630788f1e7 clusterCreate: add --lb-config-override flag
- allow overriding k3d-proxy settings (workerProcesses,
defaultProxyTimeout)
- add new field to loadbalancer config and SimpleConfig structs
2021-09-07 08:23:46 +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
6f76f8ce5d
fix: delete k3d-tools node after gathering environment information, so it doesn't block an IP in a designated subnet 2021-08-31 10:10:40 +02:00
iwilltry42
17dc4b7b4d fix e2e makefile target 2021-08-31 09:33:39 +02:00
iwilltry42
6d45a15e05 fix/cluster: do not use the same nodestartopts value for all nodes 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
iwilltry42
8a745062ed
Merge branch 'main' into main-v5 2021-08-18 13:38:39 +02:00
Mateusz Szostok
0c02607d1e
[FIX]: import all requested images (#701, @mszostok) 2021-08-18 13:35:07 +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
ac527e7c8a
fix nilpointer in config transformation when lb is disabled (fixes #695) 2021-08-18 10:28:49 +02:00
iwilltry42
5364bd1300
fix: log level overwritten by dockerCli.Initialize() 2021-07-23 10:20:29 +02:00
iwilltry42
25c6f65948
fix: clusterGet no error on no lb config
- clusterGet should not return an error, if it cannot get the
loadbalancer config, as it's not critical
  -> it should not rely on files created in nodehook actions
- this also fixes a nil pointer exception when cluster creation was
interrupted even before the loadbalancer was added to the cluster in
memory

Fixes #683
2021-07-21 13:23:17 +02:00
Thorsten Klein
a5c1d3becb
[Enhancement] Docs: update for v5 (first iteration) (#682) 2021-07-21 10:38:49 +02:00
Thorsten Klein
6941159ac6
[Enhancement] Create workers/helpers concurrently (#678) 2021-07-20 11:56:50 +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
2516cad12e
allow for adding ports to a running cluster via the loadbalancer 2021-07-09 12:08:30 +02:00
iwilltry42
c6ee295deb
Merge branch 'main-v5' into feature/cluster-edit-ports 2021-07-09 10:55:40 +02:00
iwilltry42
4132757f34
ports: no nodefilter or loadbalancer nodefilter should default to use all servers & agents as upstream 2021-07-09 10:48:32 +02:00
iwilltry42
1944c06dad
properly handle --port 1234:4321@loadbalancer:proxy style port mappings which should default to all nodes as upstream 2021-07-09 10:48:30 +02:00
iwilltry42
95ecaf77e0
fix nilpointer exception when cluster loadbalancer is not specified 2021-07-09 10:48:29 +02:00
iwilltry42
6f1f58a2c2
fix missing merge conflict resolutions 2021-07-09 10:48:28 +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
iwilltry42
fb1c45b9ae
client/cluster:make injecting the coredns entry for host.k3d.internal more robust 2021-07-09 10:48:27 +02:00
iwilltry42
d41b49d423
document using new nodefilter syntax with : instead of [] for indexing 2021-07-09 10:48:27 +02:00
iwilltry42
edfd54c6d5
remove debug logs for merged kubeconfig as they add too much noise 2021-07-09 10:48:26 +02:00
iwilltry42
91db3f647c
changes when creating clusters + new nodefilter syntax
- generate node names when transforming from simple to cluster config
  - ClusterCreate(clusterconfig) should have a ready made config and not
  generate variables
- ClusterCreate() only prep LB if not already present (to be removed)
- cluster struct: serverloadbalancer is now of type LoadBalancer (Node +
Config)
- use new nodefilter syntax with 'id:index:suffix' instead of
'id[index]' everywhere
  - use suffix when creating the LB
2021-07-09 10:48:26 +02:00
iwilltry42
8e29ad4f1a
add some more portmapping work 2021-07-09 10:48:26 +02:00
Thorsten Klein
2092ceaaa9
[FEATURE] add ability to add ports to an existing loadbalancer (#615) 2021-07-09 10:48:25 +02:00
iwilltry42
7bcb1730c6
nodeCreate: remove dead code and parallelize adding nodes to the cluster completely 2021-07-09 10:48:24 +02:00
iwilltry42
e063405b02
some really final log output after creating/deleting nodes 2021-07-09 10:48:24 +02:00
iwilltry42
1a68ae0372
updatelbconfig: check for log output to see if the update succeeded and give proper info 2021-07-09 10:46:22 +02:00
iwilltry42
4a84874a86
nodeWaitForLogMessage: log found target line when on >= trace level logging 2021-07-09 10:46:22 +02:00
iwilltry42
a4dc34531a
node/edit: use new loadbalancer config file for ports update 2021-07-09 10:46:21 +02:00
iwilltry42
2b2041f028
loadbalancer: use auto-reload for confd (file watcher) 2021-07-09 10:46:21 +02:00
iwilltry42
339187b4da
adapt updating the loadbalancer config when adding a new node 2021-07-09 10:46:20 +02:00