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

Nomad as Orchestrator #140

@filopedraz

Description

@filopedraz

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions