F1bonacc1 / process-compose

Process Compose is a simple and flexible scheduler and orchestrator to manage non-containerized applications.
https://f1bonacc1.github.io/process-compose/
Apache License 2.0
1.34k stars 52 forks source link

[Feature Request] process-compose update #233

Closed misuzu closed 2 months ago

misuzu commented 3 months ago

Feature Request

I'd like to update an already running process-compose instance by passing an updated process-compose.yaml file.

Use Case:

For example, I have 10 different processes running. I've edited my process-compose.yaml file, and now I have to restart all of these processes.

Proposed Change:

I'd like to have something like process-compose update process-compose.yaml, which should do the following:

  1. If there are changes to existing processes in the updated process-compose.yaml file, stop the old instances of these processes and start new instances with the updated config. Do not touch other processes.
  2. If there are only new processes in the updated process-compose.yaml file, start the new processes without affecting the others.
  3. If some processes no longer exist in the updated process-compose.yaml file, stop only those old processes without touching the others.

This should mimic the behavior of Docker Swarm (docker stack deploy --prune -c docker-compose.yml mystack).

Who Benefits From The Change(s)?

Everyone who values their time, I guess.

Alternative Approaches

Running multiple process-compose instances with different sets on processes, which is not convenient.

F1bonacc1 commented 2 months ago

Added in v1.27.0

Please let me know if everything is as expected.

Cheers!