Right now, cpak can install, run, and stop individual apps, but there is no built-in way to coordinate several apps (e.g. "app A must start before app B," or "retry C until healthy"). We need a new cpak orchestrate command that can:
- accept a list of installed cpak apps (by origin or ID) and an optional dependency graph
- start them in dependency order, waiting for a simple "ready" check before proceeding
- support configurable startup delays, retries, and failure policies (e.g. "exit if A fails to start" or "ignore and continue")
- optionally perform basic health checks (e.g. allow a user‐supplied command to run inside the container and signal "OK" if successful)
- coordinate shutdown in reverse order
Why this matters
Embedding or server‐side deployments often require multiple related services (e.g. a database, cache, API service). By adding orchestration primitives ensures that cpak can express such workflows directly, plug the same foundation also allows future development of adapters that expose cpak’s behavior to external tools or platforms, reusing existing operational know-how without sacrificing cpak’s minimal and standalone philosophy.
Right now, cpak can install, run, and stop individual apps, but there is no built-in way to coordinate several apps (e.g. "app A must start before app B," or "retry C until healthy"). We need a new
cpak orchestratecommand that can:Why this matters
Embedding or server‐side deployments often require multiple related services (e.g. a database, cache, API service). By adding orchestration primitives ensures that cpak can express such workflows directly, plug the same foundation also allows future development of adapters that expose cpak’s behavior to external tools or platforms, reusing existing operational know-how without sacrificing cpak’s minimal and standalone philosophy.