process-compose-flake icon indicating copy to clipboard operation
process-compose-flake copied to clipboard

Add all known outstanding yaml config options as of process-compose v1.7.3

Open daroot opened this issue 6 months ago • 6 comments

  • per-process description that displays in the UI
  • global and per-process log_configuration, including rotation
  • global and per-process vars for supporting Go template expansion on configs
  • env_cmds allows running host commands to populate env variables
  • ordered_shutdown controls the order of process shutdown
  • is_strict does additional checking on configuration files at startup
  • disable_env_expansion to not propagate .env variables to processes
  • http_get.{headers,status_code} and working_dir for probe commands
  • replicas to run multiple copies of processes
  • entrypoint alternate to command
  • is_elevated for sudo/runas priviledged processes
  • extends,is_disabled,is_dotenv_disabled for multi-file fragments and overrides.
  • launch_timeout_seconds for daemon processes

daroot avatar Aug 29 '25 20:08 daroot

NixCI is ready to run on this PR. Maintainer: Comment nix-ci run to run now.

nix-ci-app[bot] avatar Aug 29 '25 20:08 nix-ci-app[bot]

@shivaraj-bh Does this look good to be merged?

srid avatar Sep 23 '25 19:09 srid

I want to use the options defined in this PR. Aside from 3 comments from @adrian-gierakowski and a small nit (about args) from me, this PR looks good.

shivaraj-bh avatar Nov 05 '25 13:11 shivaraj-bh

@daroot Would you like to address these, so we can merge your PR?

srid avatar Nov 05 '25 17:11 srid

I've updated the missing env vars and addressing the args nit.

I'm less sure about adding all the individual cli options separately. Given you can do nix run -- <any command or options>, does it make sense to add any of these that are not critical to consistent functions across multiple invocations (like uds and port) or that can also already be set via env variables?

daroot avatar Nov 05 '25 19:11 daroot

I'm less sure about adding all the individual cli options separately. Given you can do nix run -- , does it make sense to add any of these that are not critical to consistent functions across multiple invocations (like uds and port) or that can also already be set via env variables?

@daroot It is nice to define all the possible CLI options for the sake of completeness of the process-compose.cli module.

It might seems like a rather strange use-case, but:

I often use these settings to enforce certain cli options on the users of the app. For example,process-compose.cli.unix-socket = “<my-path>"; will prevent users (IIRC) from shooting oneself in the foot with PC_SOCKET_PATH env var that (unknowingly) might point to some other path in the users environment.

shivaraj-bh avatar Nov 06 '25 12:11 shivaraj-bh

It is nice to define all the possible CLI options for the sake of completeness of the process-compose.cli module.

These are not very crucial (as one can still use CLI args). Can be added later if needed

shivaraj-bh avatar Dec 04 '25 16:12 shivaraj-bh