synit/packaging/packages/synit-config/files/etc/syndicate/core/network.pr

66 lines
1.7 KiB
Plaintext
Raw Normal View History

<require-service <daemon interface-monitor>>
<require-service <milestone network>>
<depends-on <milestone network> <service-state <daemon interface-monitor> ready>>
<configure-interface "lo" <static "127.0.0.1">>
? <configure-interface ?ifname <static ?ipaddr>> [
! <run-oneshot ["ifconfig" $ifname $ipaddr "up"]>
?- ! <run-oneshot ["ifconfig" $ifname "down"] never>
]
? <configure-interface ?ifname <dhcp>> [
! <run-oneshot ["ifconfig" $ifname "up"]>
?- ! <run-oneshot ["ifconfig" $ifname "down"] never>
<require-service <daemon <udhcpc $ifname>>>
]
? <run-service <daemon <udhcpc ?ifname>>> [
<daemon <udhcpc $ifname> ["udhcpc" "-i" $ifname "-fR"]>
]
?? <run-oneshot ?argv> ! <run-oneshot $argv on-error>
?? <run-oneshot ?argv ?restartPolicy> [
let ?id = timestamp
let ?facet = facet
let ?d = <temporary-exec $id $argv>
<run-service <daemon $d>>
<daemon $d {
argv: $argv,
readyOnStart: #f,
restart: $restartPolicy,
}>
? <service-state <daemon $d> complete> [$facet ! stop]
? <service-state <daemon $d> failed> [$facet ! stop]
]
;---------------------------------------------------------------------------
<daemon interface-monitor {
argv: "/usr/lib/synit/interface-monitor"
protocol: application/syndicate
}>
? <machine-dataspace ?machine> [
? <service-object <daemon interface-monitor> ?cap> [
$cap {
machine: $machine
}
]
$machine ? ?r [
$log ! <log "-" { line: "machine" |+++|: $r }>
?- $log ! <log "-" { line: "machine" |---|: $r }>
]
$machine ? <interface ?ifname _ normal _ _ carrier _> [
$config <configure-interface $ifname <dhcp>>
]
2022-02-07 13:34:18 +00:00
$machine ? <route ?af default _ _ _ _> [
$config <default-route $af>
]
]