The Home Cloud OS repository contains the old NixOS based automatic installation method. The repo can be used to generate a NixOS .iso file which will perform an automated installation of Home Cloud on any machine that boots from it.
We need a similar type of automatic install for Talos. I'm not exactly sure what is the correct way to go about this but here are some ideas.
There are two parts to a Talos installation: the MachineConfig, and the k8s cluster itself.
For the MachineConfig:
- We can automate the MachineConfig using the
talos.config kernel argument (ref).
- Basically during install, Talos would read the MachineConfig from something like
https://install.home-cloud.io/config/${version} which would generate a config complete with a token and CA cert/key. The server hosting this endpoint would be open-source of course so if people didn't want us generating these secrets they could host a server themselves.
- Alternatively, we could bake the MachineConfig into the
.iso (ref)
- The drawback here is that the secrets (token, CA) would have to be static within the
.iso meaning everyone has the the same credentials as far as I can tell. Not ideal to say the least.
For the k8s cluster, I'm even less sure. It's possible we could bootstrap the cluster using the MachineConfig method above but I haven't tested it and I don't know how it would work with variable values like the machine's IP address which will be acquired via DHCP. We could potentially bake a Home Cloud system service into the Talos image which performs an automatic bootstrap (ref).
The Home Cloud OS repository contains the old NixOS based automatic installation method. The repo can be used to generate a NixOS
.isofile which will perform an automated installation of Home Cloud on any machine that boots from it.We need a similar type of automatic install for Talos. I'm not exactly sure what is the correct way to go about this but here are some ideas.
There are two parts to a Talos installation: the MachineConfig, and the k8s cluster itself.
For the MachineConfig:
talos.configkernel argument (ref).https://install.home-cloud.io/config/${version}which would generate a config complete with a token and CA cert/key. The server hosting this endpoint would be open-source of course so if people didn't want us generating these secrets they could host a server themselves..iso(ref).isomeaning everyone has the the same credentials as far as I can tell. Not ideal to say the least.For the k8s cluster, I'm even less sure. It's possible we could bootstrap the cluster using the MachineConfig method above but I haven't tested it and I don't know how it would work with variable values like the machine's IP address which will be acquired via DHCP. We could potentially bake a Home Cloud system service into the Talos image which performs an automatic bootstrap (ref).