Skip to content
This repository has been archived by the owner on Dec 4, 2023. It is now read-only.

Nomad as Orchestrator #140

Open
5 tasks
filopedraz opened this issue Sep 9, 2023 · 0 comments
Open
5 tasks

Nomad as Orchestrator #140

filopedraz opened this issue Sep 9, 2023 · 0 comments

Comments

@filopedraz
Copy link
Contributor

filopedraz commented Sep 9, 2023

Description

In order to avoid Docker as a dependency for what concerns the services orchestration, we can use Nomad.

Benefits

  • No need to leverage Docker as a dependency on Prem App while running on Desktop. You can just run nomad as a binary and spawn the services as binaries. Check here
  • We can still leverage the use of Docker when Prem running on a Server/Cluster.
  • Same orchestrator for Local env and Production env.
  • It exposes resource management APIs, no need to handle this aspect using docker stats or psutil library. You can check some of the commands here

Task List

  • Investigate if we can completely remove the daemon and interact with Nomad from Prem App without missing any functionality both short and long term.
  • Explore k8s integration. How Nomad can run in a k8s cluster? What's the currently available integration?
  • Reimplement all the methods interacting with the docker client to use Nomad instead.
  • In order to avoid breaking changes, keep both docker and nomad methods. Pass ORCHESTRATOR=docker | nomad as the environment variable to decide which orchestrator to use.
  • Compile the Daemon using pyinstaller

Notes

There is a nomad python client available here.

Additional Notes related to UX

  1. If we run Nomad as binary and the Daemon too, then we can run Prem App in Swarm Mode using the Daemon instead of using Tauri commands.
  2. Both Daemon and Nomad can be run using Tauri Sidecar
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant