Skip to content

Environment

Service Environment

Finit supports sourcing environment variables from /etc/default/*, or similar --with-sysconfig=DIR. This is a common pattern from SysV init scripts, where the start-stop script is a generic script for the given service, foo, and the options for the service are sourced from the file /etc/default/foo. Like this:

  • /etc/default/foo:

    FOO_OPTIONS=--extra-arg="bar" -s -x
    
  • /etc/finit.conf:

    service [2345] env:-/etc/default/foo foo -n $FOO_OPTIONS -- Example foo daemon
    

Here the service foo is started with -n, to make sure it runs in the foreground, and the with the options found in the environment file. With the ps command we can see that the process is started with:

foo -n --extra-arg=bar -s -x

Note

The leading - in env: determines if Finit should treat a missing environment file as blocking the start of the service or not. When - is used, a missing environment file does not block the start.