Process Compose is a simple and flexible scheduler and orchestrator to manage non-containerized applications.
Go to file
2023-12-12 00:01:04 +02:00
.github update gh actions to go 1.21 2023-11-19 01:10:05 +02:00
bin support configurable termination parameters 2022-06-23 01:21:21 +03:00
examples Configurable shortcuts 2022-11-06 00:35:34 +02:00
fixtures Scale tests 2023-07-21 00:19:55 +03:00
fixtures-code Issue #111 - fix transitive dependency skip on failure 2023-12-08 23:24:37 +02:00
imgs Support 2023-06-19 23:19:33 +03:00
issues Issue #111 - fix transitive dependency skip on failure 2023-12-08 23:24:37 +02:00
scripts add installer script 2023-11-19 19:24:40 +02:00
src Issue #115 - print error to stdout on missing configuration file 2023-12-11 23:00:59 +02:00
www Added quick start to readme and intro 2023-12-08 23:24:37 +02:00
.editorconfig indent size 2 is default 2022-05-09 23:58:33 +03:00
.gitignore gitignore www/.cache 2023-11-18 15:05:43 +02:00
.goreleaser.yaml lowercase release name template 2023-11-19 00:11:48 +02:00
default.nix Bump nix to v0.77.4 2023-12-08 23:25:59 +02:00
flake.lock fix: cannot find pkg error w/ bump to nixpkgs 23.11 2023-12-08 23:07:52 +02:00
flake.nix fix: cannot find pkg error w/ bump to nixpkgs 23.11 2023-12-08 23:07:52 +02:00
go.mod Revert "Bump github.com/gdamore/tcell/v2 from 2.6.0 to 2.7.0" 2023-12-12 00:01:04 +02:00
go.sum Revert "Bump github.com/gdamore/tcell/v2 from 2.6.0 to 2.7.0" 2023-12-12 00:01:04 +02:00
LICENSE Initial Commit 2022-04-06 00:26:50 +03:00
Makefile Add RPI build to Makefile 2023-12-08 23:24:37 +02:00
process-compose-win.yaml deprecate 'on-failure' use 'on_failure' instead 2022-11-01 00:07:29 +02:00
process-compose.override.yaml Add support for foreground processes 2023-12-08 23:24:37 +02:00
process-compose.yaml bump nix to v0.69.0 2023-10-03 01:13:17 +03:00
README.md Added quick start to readme and intro 2023-12-08 23:24:37 +02:00
test_loop.bash Issue #107 - Fix goroutine leak when readiness probe on 2023-12-08 23:24:37 +02:00
test_loop.ps1 Windows Support with CMD 2022-04-16 01:44:27 +03:00

Process Compose

made-with-Go Maintenance PRs Welcome Go Report Releases X (formerly Twitter) Follow

Process Compose is a simple and flexible scheduler and orchestrator to manage non-containerized applications.

Why? Because sometimes you just don't want to deal with docker files, volume definitions, networks and docker registries. Since it's written in Go, Process Compose is a single binary file and has no other dependencies.

Once installed, you just need to describe your workflow using a simple YAML schema in a file called porcess-compose.yaml:

version: "0.5"

processes:
  hello:
    command: echo 'Hello World from Process Compose'

And start it by running process-compose from your terminal.

Check the Documentation for more advanced use cases.

Features:

  • Processes execution (in parallel or/and serially)
  • Processes dependencies and startup order
  • Process recovery policies
  • Manual process [re]start
  • Processes arguments bash or zsh style (or define your own shell)
  • Per process and global environment variables
  • Per process or global (single file) logs
  • Health checks (liveness and readiness)
  • Terminal User Interface (TUI) or CLI modes
  • Forking (services or daemons) processes
  • REST API (OpenAPI a.k.a Swagger)
  • Logs caching
  • Functions as both server and client
  • Configurable shortcuts
  • Merge Configuration Files
  • Namespaces
  • Run Multiple Replicas of a Process
  • Run a Foreground Process

It is heavily inspired by docker-compose, but without the need for containers. The configuration syntax tries to follow the docker-compose specifications, with a few minor additions and lots of subtractions.

TUI

Get Process Compose

Installation Instructions

Documentation

Quick Start

Documentation

How to Contribute

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

English is not my native language, so PRs correcting grammar or spelling are welcome and appreciated.

Consider supporting the project ❤️

Github (preferred)

https://github.com/sponsors/F1bonacc1

Bitcoin
3QjRfBzwQASQfypATTwa6gxwUB65CX1jfX

3QjRfBzwQASQfypATTwa6gxwUB65CX1jfX

Thank You!