metropolis: add cluster domain config and metroctl param

This adds a --cluster parameter to metroctl and a cluster domain field
to the bootstrap configuration. It is not yet used anywhere, but later
the cluster domain will be used to identify the cluster.

The length of the cluster domain is limited to 80, to allow for
constructing subdomains. This limit could be increased later if needed,
but it cannot easily be decreased, so I chose a conservative value that
should be enough in most cases.

Change-Id: I627cca8eb1d92c4b06e4dfd6b6926a013e8f33ae
Reviewed-on: https://review.monogon.dev/c/monogon/+/3508
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/handbook/src/ch02-00-local-demo-cluster.md b/metropolis/handbook/src/ch02-00-local-demo-cluster.md
index 69e2e71..76a26c4 100644
--- a/metropolis/handbook/src/ch02-00-local-demo-cluster.md
+++ b/metropolis/handbook/src/ch02-00-local-demo-cluster.md
@@ -36,11 +36,11 @@
 
 Let's generate the installer image that we'll use to install the first node of the upcoming cluster. To do that, use the *metroctl* tool in the following way:
 ```shell
-metroctl install genusb bootstrap-node-installer.img --bootstrap --bundle=<installation-bundle-path>
+metroctl install genusb bootstrap-node-installer.img --bootstrap --cluster=cluster.internal --bundle=<installation-bundle-path>
 ```
 If you're going to install from a USB stick or other types of removable storage, supply metroctl with a device path:
 ```shell
-metroctl install genusb /dev/sdx --bootstrap --bundle=<installation-bundle-path>
+metroctl install genusb /dev/sdx --bootstrap --cluster=cluster.internal --bundle=<installation-bundle-path>
 ```
 Since a new GPT will need to be generated for the target device, the image file cannot simply be copied into it.
 **Caution:** make sure you'll be using the correct path. *metroctl* will overwrite data on the target device.