69 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
Maxim Eryomenko
407ced6405
chore(cmd): add subcommands in one call (#819) 2021-10-27 09:43:10 +02:00
Thorsten Klein
12180ffdd5
[Fix] more resilient post-create cluster preparation (DNS) (#780) 2021-10-13 17:36:42 +02:00
iwilltry42
2a2bee0e63
fix: not gathering env info on cluster start (+ fix ipam e2e test) 2021-09-30 14:59:27 +02:00
iwilltry42
f801e46e9e
fix --k3s-arg not applied from CLI due to wrong viper instance
- fixes #747
2021-09-20 09:21:59 +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
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
iwilltry42
91426eabd1 cmd: make config initialization more general
- move viper initialization from k3d config file to separate util
sub-package in cmd/
- use that new subpackage init function to leverage the config file in
`k3d cluster delete`
- cover that with an e2e test case
2021-09-06 17:44:38 +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
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
8a745062ed
Merge branch 'main' into main-v5 2021-08-18 13:38:39 +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
Łukasz Oleś
5d0d0acc77
[FIX] Do not override hostIP when hostPort is missing (#693, @lukaszo) 2021-08-16 14:58:33 +02:00
Thorsten Klein
a5c1d3becb
[Enhancement] Docs: update for v5 (first iteration) (#682) 2021-07-21 10:38:49 +02:00
iwilltry42
b94a057d9a
cleanup completion functions 2021-07-20 13:05:20 +02:00
iwilltry42
2516cad12e
allow for adding ports to a running cluster via the loadbalancer 2021-07-09 12:08:30 +02:00
iwilltry42
831e58fdce
init clusteredit 2021-07-07 17:12:00 +02:00
iwilltry42
bb237d3389
fix: do not allow the same direct port-mapping on more than one node 2021-07-07 15:52:18 +02:00
iwilltry42
6c06208b8f document using new nodefilter syntax with : instead of [] for indexing 2021-07-07 15:30:04 +02:00
iwilltry42
9574002b38 add some more portmapping work 2021-07-07 15:30:04 +02:00
iwilltry42
7db9275a5b
clusterCreate: use tempfile with expanded env vars as viper input file 2021-07-06 13:20:26 +02:00
ejose19
1deb0aa64d
[Enhancement] Refactoring: normalize label flags (k3s node & runtime) (#598, @ejose19) 2021-07-06 13:20:18 +02:00
Thorsten Klein
99fe3c75c4
[BREAKING] Config File Enhancements: v1alpha3, migrations, generic k3s-args (#605)
Excerpt:
- new version v1alpha3 with k3s extraArgs using node filters
  - reflected in CLI via --k3s-arg
- new migration option to migrate (internally and via cli) from v1alpha2
to v1alpha3
- enhancements to how config files are being read
- e2e tests for config file migration
2021-07-06 13:20:17 +02:00
iwilltry42
6c94d7db3d
overall/license: update to year range -2021 2021-05-21 13:07:59 +02:00
Jason
bfcac7ec4a
fix create command's flags typo (#568, @Jason-ZW)
Signed-off-by: Jason-ZW <zhenyang@rancher.com>
2021-04-26 10:32:17 +02:00
Thorsten Klein
24cf263c73
[FEATURE] IPAM via subnet flag (#560) 2021-04-20 07:39:51 +02:00
iwilltry42
45d451a661
[hotfix] use viper fork with fixed stringArray handling from https://github.com/spf13/viper/pull/398 2021-03-30 15:26:37 +02:00
Konrad Malik
e495fe83a8
[FEATURE] Memory Limits (#494, @konradmalik) 2021-03-29 17:52:15 +02:00
Alex Sears
f141bc3be8
Fix typo in cluster stop command doc (#513, @searsaw) 2021-03-02 18:52:37 +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
Dominik Tomasi
dbfaeb4af3
Fix for KubeAPI Port assignment when using config files (#490, @dtomasi) 2021-02-09 15:47:17 +01:00
Konrad Malik
df9859eae6
[ENHANCEMENT] Add config processing and fix hostmode (#477, @konradmalik) 2021-02-09 15:17:58 +01:00
iwilltry42
e2a05c1f39
fix/clusterCreate: use StringSlice for k3s-server|agent-arg flag
- required due to StringArray incompatibility in Viper
Fixes #482
2021-02-06 21:00:10 +01:00
Thorsten Klein
092f26a4e2
[FEATURE/FIX] Viper Configuration and JSON Schema (#472) 2021-02-03 11:31:21 +01:00
iwilltry42
bad77f0027
clusterStart: wait for servers to be up and running by default 2021-01-28 08:24:43 +01:00
iwilltry42
7b8506b1d9
fix: proper handling of registries and networks when deleting clusters/nodes 2021-01-19 18:53:32 +01:00
iwilltry42
4e2b1baa62
add warning, if someone mounts a file at the default registries.yaml location, while they also use a different kind of registry spec 2021-01-18 15:52:16 +01:00
iwilltry42
7343c3dbe2
init merging registry config 2021-01-18 08:46:14 +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
Thorsten Klein
c44c576d69
[Refactoring/Preparation] use real port structs as prep for registries (#427) 2020-12-11 16:36:10 +01:00
Thorsten Klein
ecc025b35e
[Feature] Registry for v4 & Restructure Cluster Creation (#334) 2020-12-09 15:59:20 +01:00
Thorsten Klein
778f80d8fd
[FEATURE] Config File (#351) 2020-12-04 16:02:37 +01:00
iwilltry42
d7b25ac6ab
v3 -> v4 2020-12-04 13:45:57 +01:00
Alvaro
a93932e5b6
[Feature] Options for formatted output of cluster list (#416, @inercia))
This adds a `--ouput` flag to `cluster list` for dumping the
list of clusters as a JSON or YAML document.

Signed-off-by: Alvaro Saurin <alvaro.saurin@gmail.com>
2020-12-03 13:34:33 +01:00
Thorsten Klein
a5d2910f29
[Feature] clusterCreate: add back --env/-e flag to inject environment variables (#409) 2020-11-23 10:23:45 +01:00
Thorsten Klein
d0158c97c6
clusterCreate: add docker's --gpus flag (#395) 2020-11-03 20:12:52 +01:00
Thorsten Klein
211c937fee
Merge pull request #378 from lionelnicolas/feature/set-custom-container-labels
Feature: add ability to set container labels on nodes using --label/-l (thanks @lionelnicolas)
2020-10-20 09:45:00 +02:00
iwilltry42
a385241c77
clusterDelete: no error if no cluster was found (fixes #379) 2020-10-19 23:29:18 +02:00
Lionel Nicolas
ffe8c9697c add ability to set container labels on nodes using --label/-l
This supports node filters as is already done for '--volume' and '--port'.
2020-10-16 20:46:04 -04:00