eidolon-ai / eidolon

An Open Source Agent Service Framework
https://www.eidolonai.com/
Apache License 2.0
160 stars 15 forks source link

Implement basic k8s operator #505

Open dbrewster opened 6 days ago

dbrewster commented 6 days ago

Will assume custom code is built in the eidolon image. Machine name === namespace One machine per namespace

The operator will:

dbrewster commented 6 days ago

Maybe we can cycle the server in stages. I.e. when something new is applied:

dbrewster commented 6 days ago

Another idea. Just add a /health endpoint to the server. It will report the health of every component.

So the process is:

  1. Given the current set of config, create a ConfigMap resource for those. Create pod for the machine. Set the state of pod to initializing.
  2. If pod in initializing, start the code, set state to starting for every resource type.
  3. Call /health until the server responds or times out.
  4. Set the state of every component, including the machine, based on this output.
  5. Return done if every state is == running or error.

I think this is the right approach.