Commit graph

1112 commits

Author SHA1 Message Date
Daniel Barlow
dd0b1734c1 how to write a module 2023-09-17 21:32:22 +01:00
Daniel Barlow
0a2588013a include generated module options 2023-09-17 17:47:04 +01:00
Daniel Barlow
71b583a756 copy "how to flash" from the old docs 2023-09-17 17:36:02 +01:00
Daniel Barlow
98e7536e59 think 2023-09-17 17:03:56 +01:00
Daniel Barlow
e72d78ab64 restore intro 2023-09-17 17:03:56 +01:00
Daniel Barlow
17035ca3b7 outline of the missing doc sections 2023-09-17 17:03:56 +01:00
Daniel Barlow
dece70b336 link to ADR 2023-09-17 17:03:56 +01:00
Daniel Barlow
50ea144dec mention service dependencies 2023-09-17 17:03:56 +01:00
Daniel Barlow
fc84435985 improve syntax blah 2023-09-17 17:03:56 +01:00
Daniel Barlow
06b725cb77 document the module-based-services decision 2023-09-17 17:03:56 +01:00
Daniel Barlow
c74543c4ff doc: how to define an s6 service 2023-09-17 17:03:56 +01:00
Daniel Barlow
54526c1e11 start writing configuration guide 2023-09-17 17:03:56 +01:00
Daniel Barlow
f81aa54444 rename file 2023-09-17 17:03:56 +01:00
Daniel Barlow
56261f77b0 add example with real hardware 2023-09-17 17:03:56 +01:00
Daniel Barlow
8600dfc8cf proofread v2 2023-09-17 17:03:56 +01:00
Daniel Barlow
bb280c6d97 rename qemu example 2023-09-17 17:03:56 +01:00
Daniel Barlow
b7e805c97f connecting a client to hellonet 2023-09-17 17:03:56 +01:00
Daniel Barlow
9223fa7ec4 first proofreading pass 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
35c7f1643f change defaultOutput for hardware devices to flashimage
if you're using tftpboot you probably know what you're doing
2023-09-17 17:00:45 +01:00
Daniel Barlow
70fb9f86d3 mt300a vlan interface services depend on primary 2023-09-17 17:00:38 +01:00
Daniel Barlow
b36272f99e add outputs for vlan service 2023-09-17 17:00:31 +01:00
Daniel Barlow
0abe4f96a7 ssh ensure we create /run/dropbear
this is required if we don't have persistent store (jffs2)
2023-09-17 17:00:26 +01:00
Daniel Barlow
f7b30939b5 remove service-state when service exits 2023-09-13 22:49:00 +01:00
Daniel Barlow
4fd1b5f08b er, "input" != output" 2023-09-13 18:01:50 +01:00
Daniel Barlow
106a429b3d odhcp-script only write addresses if there are any 2023-09-13 17:51:07 +01:00
Daniel Barlow
b3e505abf4 anoia.system print command if it failed 2023-09-13 17:50:40 +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
74b8c98aaf kludge fix openssl build 2023-09-12 18:44:43 +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
343d3b6508 writeFennel is writeFennelScript with knobs on
The second parameter is now an options attrset, wherein we will pile
all kinds of cool stuff.

Right now the only cool bit is `mainFunction`, which allows you to
compile a fennel module into a lua script and name the function that
should be executed when the script runs. This makes it easier to
write testable Fennel code, because the test script can require the
module and call stuff in it.
2023-09-12 17:45:18 +01:00
Daniel Barlow
96e19767e9 odhcpc-script don't require fennel at runtime 2023-09-12 17:39:06 +01:00
Daniel Barlow
6f2389dd75 la la la 2023-09-12 17:38:18 +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
3ff55d3aad odhcp-script: unique subdirectory names for each parsed address 2023-09-10 12:15:34 +01:00
Daniel Barlow
22275f311c anoia: add simple hash function and base64 encoder 2023-09-10 12:14:39 +01:00
Daniel Barlow
870da62a1e anoia.svc outputs may be directories (read as table) 2023-09-09 00:30:02 +01:00
Daniel Barlow
0312f7a999 fennelrepl look for .fnl before .lua
this means fennelrepl in nix-shell will prefer local
source files to generated lua files, making it easier
to change library code without restarting the shell
2023-09-09 00:11:35 +01:00
Daniel Barlow
9dd3cf23b4 anoia.fs.mktree replaces mkdir
This uses lfs to make the tree in-process instead of
shelling out to the mkdir command
2023-09-08 21:17:42 +01:00
Daniel Barlow
4e9227dff3 move rmtree to anoia library 2023-09-08 21:03:18 +01:00
Daniel Barlow
eaa45906ff fennelrepl runs with --correlate
this is so that error message line numbers match up
2023-09-08 21:02:26 +01:00
Daniel Barlow
7fc5d2934d set FENNEL_PATH using absolute paths 2023-09-08 21:01:39 +01:00
Daniel Barlow
12e25722fa odhcp-script: delete stale dirs from previous runs
This requires adding LFS as a dependency because native Lua has
no way to iterate a directory, but it seems to be Not Huge and
hopefully we'll have other uses for it
2023-09-08 20:48:01 +01:00