kubernaut
kubernaut copied to clipboard
Improve Kubernaut development loop
Kubernaut is rather painful to develop on, not because it is a complex technical project, but because there are several moving parts that need to be developed.
- The API server and claims broker
- The Kubernaut VM image (dev loop is painful because need to setup ad-hoc cloud resources to hack on it)
- The Kubernautlet (aka "kubernaut-agent") which registers and heartbeats the availability of a cluster to the broker.
- Various "cloud" specific things (e.g. VPC management, autoscaling group management). They're not intuitive or exposed in a dev-friendly way.
- The Kubernaut CLI
- The fronting API gateway and authentication system.
This is a bit of a planning / goal setting epic. But we should look into why extending Kubernaut is difficult. I suspect it's some of the following:
- Poor architectural and operational docs.
- The broker is written in Kotlin rather than Python or Go.
- Dev environment setup is difficult.
- We lack a good separation between "live" and "staging" environments.
Any other issues folks can think of that come to mind?