makes icon indicating copy to clipboard operation
makes copied to clipboard

Service runner

Open blaggacao opened this issue 4 years ago • 2 comments

  • Makes is a task runner that (among other things) supports local dev workflows.
  • Makes also recently gained simple (sequential) pipeline support which borrows some capabilities from an orchestrator.
  • The difference to a service manager now is that makes would allocate service slots and manage their lifecycle.

Such functionality can support dev workflows in the scenarios describes in https://github.com/ttacon/glorious.

Related: https://github.com/hercules-ci/arion (docker-compose wrapped in nix)

/cc @roberth Do you believe there is room for an ttacon/glorious-like slot handling in arion? Or would that be a wrapper that selectively swaps & integrates arion services?

blaggacao avatar Sep 18 '21 18:09 blaggacao

I'm not familiar with glorious but the idea of interchangeable docker compose services is definitely something you can already do in arion. It uses the module system for all configuration, all the way up to the "project" (docker-compose.yaml's root) and including the images to be nix-built. You could write a (Nix) module that you import in your arion projects, which adds an option that specifies whether a service is local or remote. "User" modules can now use this to change their own behavior, or you could mkForce the command to become a proxy. In my own arion config I can import a module that turns a regular NixOS systemd service into one that doesn't call the regular package but a hot reloading one that takes sources from a bind mount volume. This gives me a very production-like environment locally, but the same idea can be applied not deep inside a NixOS config but at the docker compose service level. tl;dr you could also use imports. So yeah, seems feasible. I don't think I've got around to a command line option that sets any module system option. That seems like it may also be helpful, specifically if you're going for a workflow where you arion up -d specific-service and you want to say something like --opt-str services.specific-service.mode=remote.

roberth avatar Sep 18 '21 19:09 roberth

/cc @manveru discussion fyi

blaggacao avatar Sep 30 '21 03:09 blaggacao