Commit graph

107 commits

Author SHA1 Message Date
Daniel Barlow
1673a71831 WIP third example 2023-09-24 23:11:28 +01:00
Daniel Barlow
56261f77b0 add example with real hardware 2023-09-17 17:03:56 +01:00
Daniel Barlow
bb280c6d97 rename qemu example 2023-09-17 17:03:56 +01:00
Daniel Barlow
0f31afee2b hellonet: set password for root
otherwise incoming ssh gets a bit fraught
2023-09-17 17:03:56 +01:00
Daniel Barlow
98c63e7498 hellonet: don't run ntp
it's a bit pointless when there's no connectivity to
any ntp server
2023-09-17 17:03:56 +01:00
Daniel Barlow
c6faf88dd1 doc WIP: build "hello net" example 2023-09-17 17:03:56 +01:00
Daniel Barlow
f7b30939b5 remove service-state when service exits 2023-09-13 22:49:00 +01:00
Daniel Barlow
92e107d77c update acquire-delegated-prefix to use svc.events 2023-09-13 17:49:57 +01:00
Daniel Barlow
fa040a194c acquire-wan-address remove boundness checking
if we're unbound then the script will be called with
empty ADDRESSES and so the usual case will handle this fine
by removing all the previosuly set addresses
2023-09-13 13:17:58 +01:00
Daniel Barlow
3bdb7754d3 replace var/each with accumulate 2023-09-12 20:55:08 +01:00
Daniel Barlow
8f97c5bf3c anoia service :events method behaves as iterator 2023-09-12 20:46:52 +01:00
Daniel Barlow
7904c6bfe9 anoia users now need lfs
... and we need to figure out how to do transitive
dependencies, because this is not a great experience
2023-09-12 18:46:04 +01:00
Daniel Barlow
0a737c62cd convert acquire-wan-address to writeFennel
this means we can get rid of the inelegant environent variable
check at the bottom of the file
2023-09-12 17:51:00 +01:00
Daniel Barlow
d49cbbb8ed test for acquire-wan-address 2023-09-11 00:07:49 +01:00
Daniel Barlow
7683ed69de acquire-wan-address uses parsed addresses from odhcp 2023-09-11 00:07:11 +01:00
Daniel Barlow
91e957ced7 static leases for rotuer 2023-09-04 23:07:13 +01:00
Daniel Barlow
a24c2a23a0 whitespace 2023-09-04 22:06:15 +01:00
Daniel Barlow
9e52faa0b6 remove unused imports 2023-09-04 22:05:42 +01:00
Daniel Barlow
3bdc986dd7 extract "mount filesystem" to module 2023-09-04 21:17:52 +01:00
Daniel Barlow
83092b7b73 add watchdog service 2023-09-02 17:28:40 +01:00
Daniel Barlow
6805e0090d working down the TODOs 2023-09-01 17:57:22 +01:00
Daniel Barlow
7ad848cb77 add service to enable packet forwarding
might be worth looking into adding RA config to this
2023-09-01 17:34:47 +01:00
Daniel Barlow
ef666c34cd use ssh service in examples 2023-09-01 17:32:53 +01:00
Daniel Barlow
d7336679c4 arhcive use ssh service instead of hand-rolling 2023-08-31 23:59:48 +01:00
Daniel Barlow
535eb70bb9 convert all route defns to module-based-service 2023-08-31 23:52:59 +01:00
Daniel Barlow
51ad051443 delete unneeded services.default 2023-08-31 23:52:03 +01:00
Daniel Barlow
3609d8d5ee implement route as module-based-service 2023-08-31 23:24:23 +01:00
Daniel Barlow
e577caa15f extneder: use bridge module 2023-08-31 18:29:45 +01:00
Daniel Barlow
333327be75 make a module for vlan
Acked-by: Daniel Barlow <<dan@telent.net>>
2023-08-30 23:26:44 +01:00
Daniel Barlow
aecbe08f08 add o+x permission on service-state directories
this is needed for resolvconf, which writes resolv.conf as
an output and wants to make it world-readable
2023-08-28 22:02:28 +01:00
Daniel Barlow
ff2d3e1a63 TODO comments 2023-08-28 22:02:28 +01:00
Daniel Barlow
8688d47c65 rotuer: create resolv.conf 2023-08-28 22:02:28 +01:00
Daniel Barlow
e86daf9bbc default value for services.default
as a default default target, start all the services
2023-08-28 22:02:28 +01:00
Daniel Barlow
23ccfec5fb update examples so they build again 2023-08-28 22:02:28 +01:00
Daniel Barlow
31f0213b6f convert network link/address to module-based-service
... and make bridge use it.

We also had to convert bridge back into a pair of services.
Downstreams want to depend on the bridge it self being configured
even if not necessarily all the members are up. e.g. don't want
to break ssh on lan if there's a misconfigured wlan device
2023-08-28 22:02:28 +01:00
Daniel Barlow
540a1dfd76 remove interface.device
build-time uses can mostly be replaced with interface.name

for runtime uses, switch to $(output ${interface} name)
2023-08-28 22:02:28 +01:00
Daniel Barlow
6f92f8fa8b merge bridge services into one 2023-08-16 23:29:53 +01:00
Daniel Barlow
3ea40f95dc convert pppoe to serviceDefn 2023-08-10 22:53:45 +01:00
Daniel Barlow
2942c465b9 add ssh module 2023-08-10 22:53:21 +01:00
Daniel Barlow
2414dd4b55 convert ntp to serviceDefn 2023-08-05 14:16:54 +01:00
Daniel Barlow
93e04bb834 convert bridge service to serviceDefn 2023-08-05 14:10:14 +01:00
Daniel Barlow
f82501d278 update hostapd to "build" syntax 2023-08-05 12:21:18 +01:00
Daniel Barlow
90c1d59aca convert firewall service to new serviceDefn
this is a bit kludgey with dependencies, need to
come back and look at that
2023-08-05 12:07:35 +01:00
Daniel Barlow
fbb2c04132 move module-based-service parameter types into service
This is in preparation for writing something that extracts them
into documentation.

user configurations now call config.system.service.foo.build { ...params }
instead of config.system.service.foo

the parameter type definitions themselves now move into the
config stanza of the module referencing the service

new helper function  liminix.callService

The only service moved so far is dnsmasq
2023-08-04 20:39:29 +01:00
Daniel Barlow
9994c161d4 DRY up wireless config 2023-07-22 23:37:01 +01:00
Daniel Barlow
bf1d9beec1 add first version of ntp module 2023-07-22 23:25:25 +01:00
Daniel Barlow
4396afa97b inline excessive lets 2023-07-20 12:05:36 +01:00
Daniel Barlow
9b70fd62f6 extract bridge to module-based services 2023-07-20 12:02:09 +01:00
Daniel Barlow
86e73317ee alias config.system.service 2023-07-20 11:28:45 +01:00
Daniel Barlow
648ea5613b use module-based-service for hostapd 2023-07-16 17:51:50 +01:00