[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: systemd service and /etc/default/



Ludovico Cavedon wrote:
> I am writing a systemd service file for a daemon (ntopng) and I would
> like to know what you think is the best way to load some
> configuration.
> 
> The ntopng daemon takes multiple interfaces in the format of multiple
> -i command-line options. For example.
> ntopng -i eth0 -i wlan0
> 
> Currently the interfaces are stored in /etc/default/ntopng
> INTERFACES="eth0 wlan0"
> 
> and the sysv init script takes care of adding "-i" for each one of them.
> 
> I would like to keep the sysv compatibility and do the same in systemd.
> 
> I tried in various ways, but the two solution I could think of are:
> 1) change the format of INTERFACES to require inclusion of -i.
> I.e
> INTERFACES="-i eth0 -i wlan0"
> and use EnvironmentFIle=/etc/default/ntopng. This changes the format,
> complicated upgrades, and is more error prone.
> 2) instead of doing Exec=ntopng, Exec a script that does the mangling
> and then execs ntopng.
> 
> Because both solutions do not look great to me, and I could not find
> an example, I am asking your opinion.
> 
> After writing this email, I start to believe 2) is the right way, but
> I would appreciate anybody's input.

3) Teach ntopng to understand /etc/ntopng.conf natively and migrate the
settings there.
4) Teach ntopng to automatically detect the available network devices on
the system (including new ones that show up dynamically) and
automatically handle all of them unless configured to do otherwise,
making configuration usually unnecessary.

- Josh Triplett


Reply to: