Instead of passing an image name through a terraform variable,
use tags to select the latest image matching the specified
tags (in this case, os=Ubuntu version=22.04).
- instead of using 'kubectl wait nodes', we now use a simpler
'kubectl get nodes -o name' and check if there is anything
in the output. This seems to work better (as the previous
method would sometimes remain stuck because the kubectl
process would never get stopped by SIGPIPE).
- the shpod SSH NodePort is no longer hard-coded to 32222,
which allows us to use e.g. vcluster to deploy multiple
Kubernetes labs on a single 'home' (or 'outer') Kubernetes
cluster.
Break down provider-specific configuration into two files:
- config.tf (actual configuration, e.g. credentials, that cannot be
included in submodules)
- variables.tf (per-provider knobs and settings, e.g. mapping logical
VM size like S/M/L to actual cloud SKUs)
Summary of changes:
- "workshopctl" is now "labctl"
- it can handle deployment of VMs but also of managed
Kubernetes clusters (and therefore, it replaces
the "prepare-tf" directory)
- support for many more providers has been added
Check the README.md, in particular the "directory structure";
it has the most important information.