2021-09-19 14:53:37 +00:00
|
|
|
version 1 .
|
|
|
|
embeddedType EntityRef.Cap .
|
|
|
|
|
|
|
|
Service = DaemonService .
|
|
|
|
|
|
|
|
DaemonService = <daemon @id DaemonId> .
|
|
|
|
|
|
|
|
DaemonProcess = <daemon @id DaemonId @config DaemonSpec>.
|
|
|
|
DaemonId = any .
|
2021-09-20 14:42:35 +00:00
|
|
|
DaemonSpec = @simple CommandLine / @full FullDaemonSpec .
|
|
|
|
FullDaemonSpec = { argv: CommandLine } & @env DaemonEnv & @dir DaemonDir & @clearEnv ClearEnv .
|
|
|
|
DaemonEnv = @present { env: { EnvVariable: EnvValue ...:... } } / @invalid { env: any } / @absent {} .
|
|
|
|
DaemonDir = @present { dir: string } / @invalid { dir: any } / @absent {} .
|
|
|
|
ClearEnv = @present { clearEnv: bool } / @invalid { clearEnv: any } / @absent {} .
|
2021-09-19 14:53:37 +00:00
|
|
|
|
2021-09-20 14:42:35 +00:00
|
|
|
CommandLine = @shell string / @full FullCommandLine .
|
|
|
|
FullCommandLine = [@program string, @args string ...] .
|
|
|
|
|
|
|
|
EnvVariable = @string string / @symbol symbol / @invalid any .
|
|
|
|
EnvValue = @set string / @remove #f / @invalid any .
|