synit: add network stuff
This commit is contained in:
parent
7ff5564d67
commit
55d172ef30
|
@ -0,0 +1 @@
|
||||||
|
<require-service <config-watcher "/run/etc/syndicate/services" $.>>
|
|
@ -0,0 +1,51 @@
|
||||||
|
<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/8">>
|
||||||
|
|
||||||
|
? <configure-interface ?ifname <static ?ipaddr>> [
|
||||||
|
! <exec ["@ip@" "address" "add" "dev" $ifname $ipaddr]>
|
||||||
|
?- ! <exec ["@ip@" "address" "del" "dev" $ifname $ipaddr] never>
|
||||||
|
]
|
||||||
|
|
||||||
|
? <configure-interface ?ifname <dhcp>> [
|
||||||
|
<require-service <daemon <udhcpc $ifname>>>
|
||||||
|
]
|
||||||
|
|
||||||
|
? <run-service <daemon <udhcpc ?ifname>>> [
|
||||||
|
<daemon <udhcpc $ifname> ["@udhcpc@" "-i" $ifname "-fR"]>
|
||||||
|
]
|
||||||
|
|
||||||
|
<daemon interface-monitor {
|
||||||
|
argv: "@interfaceMonitor@"
|
||||||
|
protocol: application/syndicate
|
||||||
|
}>
|
||||||
|
|
||||||
|
? <machine-dataspace ?machine> [
|
||||||
|
? <service-object <daemon interface-monitor> ?cap> [
|
||||||
|
$cap {
|
||||||
|
machine: $machine
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
$machine ? <interface ?ifname _ _ _ _ _ _> [
|
||||||
|
$log ! <log "-" { saw-machine-interface: $ifname }>
|
||||||
|
$config [
|
||||||
|
! <exec ["@ip@" "link" "set" $ifname "up"]>
|
||||||
|
?- ! <exec ["@ip@" "link" "set" $ifname "down"] never>
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
$machine ? <interface ?ifname _ normal up up carrier _> [
|
||||||
|
$config <configure-interface $ifname <dhcp>>
|
||||||
|
]
|
||||||
|
$machine ? <interface ?ifname _ normal up unknown carrier _> [
|
||||||
|
$config <configure-interface $ifname <dhcp>>
|
||||||
|
]
|
||||||
|
|
||||||
|
$machine ? <route ?addressFamily default _ _ _ _> [
|
||||||
|
$config <default-route $addressFamily>
|
||||||
|
]
|
||||||
|
]
|
|
@ -0,0 +1,3 @@
|
||||||
|
<require-service <daemon ntpd>>
|
||||||
|
<depends-on <daemon ntpd> <default-route ipv4>>
|
||||||
|
<daemon ntpd "@ntpd@ -d -n -p pool.ntp.org">
|
|
@ -0,0 +1,20 @@
|
||||||
|
let ?settingsDir = "/etc/syndicate/user-settings"
|
||||||
|
|
||||||
|
let ?settings = <* $config [
|
||||||
|
<rewrite ?item <user-setting $item>>
|
||||||
|
]>
|
||||||
|
|
||||||
|
<require-service <config-watcher $settingsDir { config: $settings }>>
|
||||||
|
|
||||||
|
<require-service <daemon user-settings-daemon>>
|
||||||
|
<daemon user-settings-daemon {
|
||||||
|
argv: "@user-settings-daemon@"
|
||||||
|
protocol: application/syndicate
|
||||||
|
}>
|
||||||
|
|
||||||
|
? <service-object <daemon user-settings-daemon> ?cap> [
|
||||||
|
$cap {
|
||||||
|
config: $config
|
||||||
|
settingsDir: $settingsDir
|
||||||
|
}
|
||||||
|
]
|
|
@ -126,10 +126,27 @@ with lib;
|
||||||
]
|
]
|
||||||
'';
|
'';
|
||||||
|
|
||||||
"syndicate/services/configdirs.pr".text = ''
|
"syndicate/services/configdirs.pr".source =
|
||||||
<require-service <config-watcher "/run/etc/syndicate/services" $.>>
|
./syndicate/services/configdirs.pr;
|
||||||
<require-service <config-watcher "/etc/syndicate/services" $.>>
|
|
||||||
'';
|
"syndicate/services/network.pr".source = pkgs.substituteAll {
|
||||||
|
src = ./syndicate/services/network.pr;
|
||||||
|
interfaceMonitor =
|
||||||
|
"${pkgs.python3Packages.synit-daemons}/bin/interface-monitor";
|
||||||
|
ip = "${pkgs.iproute2}/bin/ip";
|
||||||
|
udhcpc = "${pkgs.busybox}/bin/udhcpc";
|
||||||
|
};
|
||||||
|
|
||||||
|
"syndicate/services/ntpd.pr".source = pkgs.substituteAll {
|
||||||
|
src = ./syndicate/services/ntpd.pr;
|
||||||
|
ntpd = "${pkgs.busybox}/bin/ntpd";
|
||||||
|
};
|
||||||
|
|
||||||
|
"syndicate/services/userSettings.pr".source = pkgs.substituteAll {
|
||||||
|
src = ./syndicate/services/userSettings.pr;
|
||||||
|
user-settings-daemon =
|
||||||
|
"${pkgs.python3Packages.synit-daemons}/bin/user-settings-daemon";
|
||||||
|
};
|
||||||
|
|
||||||
} // (builtins.listToAttrs (map (file: {
|
} // (builtins.listToAttrs (map (file: {
|
||||||
name = "syndicate/boot/${file}";
|
name = "syndicate/boot/${file}";
|
||||||
|
|
Loading…
Reference in New Issue