pub trait Orchestrator: Debug + Send + Sync {
    fn namespace(&self, namespace: &str) -> Arc<dyn NamespacedOrchestrator>;
}
Expand description

An orchestrator manages services.

A service is a set of one or more processes running the same image. See ServiceConfig for details.

All services live within a namespace. A namespace allows multiple users to share an orchestrator without conflicting: each user can only create, delete, and list the services within their namespace. Namespaces are not isolated at the network level, however: services in one namespace can communicate with services in another namespace with no restrictions.

The intent is that you can implement Orchestrator with pods in Kubernetes, containers in Docker, or processes on your local machine.

Required methods

Enter a namespace in the orchestrator.

Implementors