Implement a systemd service in the unconfigured agent ISO (
AGENT-558) that watches for disks to be mounted, then searches them for agent installer configuration. If such configuration is found, then copy it to the relevant places in the running system.
The rendezvousIP must be copied last, as the presence of this is what will trigger the services to start (
To the extent possible, the service should be agnostic as to the method by which the config disk was mounted (e.g. virtual media, USB stick, floppy disk, &c.). It may be possible to get systemd to trigger on volume mount, avoiding the need to poll anything.
The configuration drive must contain:
- rendezvousIP config file
- ClusterDeployment manifest
- AgentPullSecret manifest
- AgentClusterInstall manifest
- TLS certs for admin kubeconfig
- password hash for kubeadmin console password
- ClusterImageSet manifest (for version verification)
it may optionally contain:
- extra manifests
- hostconfig (roles, root device hints)
The ClusterImageSet manifest must match the one already present in the image for the config to be accepted.