siderolabs / omni

SaaS-simple deployment of Kubernetes - on your own hardware.
Other
395 stars 23 forks source link

improve Talos emulator #365

Open smira opened 2 weeks ago

smira commented 2 weeks ago

For #270 - build a cloud provider on top of Talos emulator, that is provision/destroy "machines".

So we need to improve Talos emulator:

### Worker Emulation
- [x] talosctl apply-config (apply machine config)
- [x] runs "apid" (when machine config is available, with proper PKI)
- [ ] report resources `AddressStatus`, `MachineStatus`, `NodeIdentity`  (to make Omni's `MachineStatusController` happy)
- [ ] services API
- [ ] register itself in the Discovery Service/unregister on reset
- [ ] report events
- [x] `talosctl reset` (to return to maintenance state)
- [x] some persistence of the "state" (machines being emulated)
### Controlplane Emulation
- [ ] etcd member APIs
- [ ] Kubernetes API (run some "tiny" api-server populated with fake resources, e.g. `Node`)