Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Barlow ede8f12d2b declare options.hardware.ubi unconditionally
this is so it can be defined in device modules even when
ubifs is not included in the configuration
2024-12-23 22:37:07 +00:00
Daniel Barlow 6cd5b90678 outputs.rootubifs -> ubifs 2024-12-23 22:37:07 +00:00
Daniel Barlow db4f098c02 add fit bootloader
this is for the belkin rt3200, whose uboot doesn't do
extlinux but can load a fit from a ubifs. It adds the
a kernel+dtb as /boot/fit
2024-12-23 11:21:58 +00:00
Daniel Barlow 1347937345 rename file 2024-12-23 10:31:22 +00:00
Daniel Barlow a7b5f80674 rename extlinux output to bootfiles
this is in preparation for introducing other non-extlinux
modules that populate /boot
2024-12-23 00:09:31 +00:00
Daniel Barlow 5c78338d71 make mtdutils use no-systemd util-linux 2024-12-22 23:24:11 +00:00
Daniel Barlow ed02d02767 bump NEWS 2024-12-22 21:12:36 +00:00
Daniel Barlow f07a38b0fd extract uimage output module into own file 2024-12-22 21:10:07 +00:00
Daniel Barlow ac189f2977 outputs.zimage -> outputs.kernel.zImage
remove config option/derivation in favour of accessing
as output of the kernel derivation (matches what we do
with e.g. modulesupport)
2024-12-22 17:27:59 +00:00
Daniel Barlow ebb4d4a831 think 2024-12-22 16:03:24 +00:00
Daniel Barlow 6bfbdf352d bordervm: expose ssh on port 2222 2024-12-22 16:01:38 +00:00
Daniel Barlow 4ea1cf7f32 rt3200 better install docs 2024-12-20 22:26:40 +00:00
Daniel Barlow f60b74f415 add a new updater output
this is so that we don't have to obfuscate store paths in
systemConfiguration to avoid dragging in build system
deps.

breaking-ish change to workflows, docs updated
2024-12-20 00:05:07 +00:00
Daniel Barlow 812e35b7b9 systemconfig: improve filenames/pathnames
no more make-stuff
2024-12-19 22:28:30 +00:00
Daniel Barlow 172f368633 fix markup 2024-12-19 21:59:04 +00:00
Daniel Barlow 1af9a39db1 omnia: delete pstore config we're probably not using 2024-12-19 20:59:52 +00:00
Daniel Barlow 420552ce98 add omnia to ci 2024-12-19 20:56:05 +00:00
Daniel Barlow 56c667cfd5 extract systemConfiguration into its own output module 2024-12-19 20:55:10 +00:00
Daniel Barlow f9b4f0bc9c move modules/squashfs.nix into outputs/ 2024-12-19 14:33:50 +00:00
Daniel Barlow ba5e4704a0 add short note about persistent logs 2024-12-18 23:08:28 +00:00
Daniel Barlow 3357d21d7f enlarge pmsg buffer to full size of ramoops region
4k was a piddly amount and we weren't using the rest of it for
anything else
2024-12-18 21:16:49 +00:00
Daniel Barlow ffaca615ba copy logs to /dev/pmsg0 when ogging.persistent.enabled 2024-12-18 21:11:58 +00:00
Daniel Barlow 77cd4492b2 unbreak nix-shell 2024-12-17 23:26:56 +00:00
Daniel Barlow 81f5550bf0 config.logging.persistent enables /dev/pmsg0
- whatever's written to /dev/pmsg0 appears as
/sys/fs/pstore/pmsg-ramoops-0 after reboot

- only works on devices with the relevant device tree
support (gl-ar750 and whatever has it by default)

- nothing in the system is actually writing this file yet

- or reading it at boot time, for that matter
2024-12-17 23:24:31 +00:00
Daniel Barlow b52133a28b add hardware.dts.includes option 2024-12-17 20:36:14 +00:00
Daniel Barlow 44caefcd3b rename config.hardware.dts.includes -> includePaths
(1) it's a better name
(2) I want to use `includes` to specify dtsi files
2024-12-17 17:41:53 +00:00
Daniel Barlow 6e6b8790eb think 2024-12-17 17:24:52 +00:00
Daniel Barlow 2e5a8a572e tufted: more robust merge-pathname impl 2024-12-17 17:24:40 +00:00
Daniel Barlow 464d046b5a append-path spec behaviour for repeated / 2024-12-17 17:24:16 +00:00
Daniel Barlow ac8b971cc0 new fn append-path in anoia
complains if you try to ../../../
2024-12-11 17:26:44 +00:00
Daniel Barlow 13087d17e3 use assert macros in anoia/init.fnl
there is no circularity (maybe there was once?)
2024-12-11 17:25:39 +00:00
Daniel Barlow 5572c0ecb0 rewrite parts of inout test to be differently wrong 2024-12-09 23:36:22 +00:00
Daniel Barlow 4cbe3ba683 add some debug output in inout test 2024-12-09 21:00:11 +00:00
Daniel Barlow 20f4a12689 inout: improve robustness, maybe? 2024-12-07 16:02:42 +00:00
Daniel Barlow 33e5c436d5 add environment variables that scapy now needs (24.11) 2024-12-04 21:16:36 +00:00
Daniel Barlow cde30bcd54 in nixos 24.11 chrony no longer expects nss/nspr/readline 2024-12-03 21:39:54 +00:00
Daniel Barlow 1f7d6544e3 provide stdout to ppp callback scripts
pppd runs them with 0,1,2 => /dev/null but we actually quite like
seeing errors in the logs
2024-10-17 21:37:08 +01:00
Daniel Barlow 1bca072509 fix chrony pidfile error 2024-10-17 21:35:33 +01:00
Daniel Barlow 7b98724643 turns out we did need usepeerdns 2024-10-17 21:05:16 +01:00
Daniel Barlow b1625763ee ppp service signal readiness only when ip-up has run
as downstream services need e.g. ifname which is not written by ipv6-up
2024-10-16 22:59:01 +01:00
Daniel Barlow 91bdfc2766 remove apparently obsolete rp-pppoe configure setting
this were copied from nixpkgs but perhaps is for an older version of
rp-pppoe because it builds just fine without
2024-10-16 22:56:05 +01:00
Daniel Barlow 14bfebc5c3 enable unloading modules so that scripts work
if we can't unload them then the service that loads them will fail
the second time it's run
2024-10-16 22:54:19 +01:00
Daniel Barlow 0447ac0ff9 did we need MODULE_SIG?
I think this may be a hangover from using backports modules for wlan
2024-10-16 22:53:16 +01:00
Daniel Barlow e35a1514ab send kernel logs to s6 2024-10-16 18:59:42 +01:00
Daniel Barlow 4a0120487c remove usepeerdns - it causes only errors
we handle dns with service outputs anyway
2024-10-16 18:58:34 +01:00
Daniel Barlow 888688ce28 buuld ppp with path to /run 2024-10-16 18:57:26 +01:00
Daniel Barlow 9e3f48768e think 2024-10-14 18:49:10 +01:00
Daniel Barlow 72171021e3 support finish script in longrun 2024-10-10 18:26:14 +01:00
Daniel Barlow 17517dd34f remove KEXEC from base kernel config
we're not using it any more
2024-10-10 18:23:50 +01:00
Daniel Barlow 5112eab4da apply incoming-allowed-ip[46] rules to input as well as forward pkts
this makes it possible to open ports on the router itself
2024-10-10 18:18:23 +01:00
Daniel Barlow e383f1b3d3 obfuscate store path for min-copy-closure
otherwise the systemconfig closure drags in a bunch of build system
things (bash, etc) which we don't want or need to copy to the device
2024-10-10 16:25:00 +01:00
Daniel Barlow da1245432e no more iminix-rebuild 2024-10-09 19:34:55 +01:00
Daniel Barlow 541b1c61c2 ensure $toplevel is path in /nix/store 2024-10-09 18:59:33 +01:00
Daniel Barlow 55c7410a55 add result/install.sh to systemConfiguration output
this makes it possible to install a systemconfig instead of
having to use nix-shell (which is very slow)
2024-10-09 13:35:02 +01:00
Daniel Barlow 0f50648157 don't put hostname in levitate logs
there might not be one
2024-10-08 22:55:39 +01:00
Daniel Barlow f1c260d4f7 make ci.ni "all" a derivation
this is to stop hydra complaining
2024-10-06 18:04:56 +01:00
Daniel Barlow 3d611d3ba2 fix unstable qemu build?
nix-repl> (lib.versionOlder "24.11pre-git" "24.11")
true

nix-repl> (lib.versionOlder "24.11pre-git" "24.10")
false

n
2024-10-06 18:04:48 +01:00
Daniel Barlow e6b7d86381 sort lines 2024-10-06 17:53:34 +01:00
Daniel Barlow 83fbffb39b catch another uncaught-logs 2024-10-06 17:53:09 +01:00
Daniel Barlow f8c579b41e add CI "all" target 2024-10-06 17:52:59 +01:00
Daniel Barlow ca9efc4b26 simplify CI
* I didn't know what I was doing when I set up Hydra

* it's not certain that I do now either, but hey ho
2024-10-06 15:55:01 +01:00
Daniel Barlow 336fc7e495 think 2024-10-06 14:27:45 +01:00
Daniel Barlow 4cc0add2ad update refs to uncaught-logs in docs/tests 2024-10-06 13:46:14 +01:00
Daniel Barlow 2d7e6188ac log shipping service now gets logs on stdin
instead of having to open the unix socket
2024-10-06 13:26:58 +01:00
Daniel Barlow b9999857cb longrun: don't add logger if producer-for is already set 2024-10-06 13:13:04 +01:00
Daniel Barlow ba03ddeb38 border-vm: add tang service 2024-10-06 12:38:06 +01:00
Daniel Barlow 493c5f69d7 add module for certifix-client 2024-10-06 11:27:39 +01:00
Daniel Barlow 1a915e91ff add altname to CSR 2024-10-06 10:13:28 +01:00
Daniel Barlow 197e2eb5b1 new package certifix-client uses certifix to sign ssl client cert
this is initially for TLS-enabled logging but would be useful for
anything on a liminix box that wants to talk to a network service in a
"zero trust" setup
2024-10-03 23:00:08 +01:00
Daniel Barlow 7ca822c826 more messing around with lua derivation 2024-10-03 23:00:08 +01:00
Daniel Barlow e5631783e1 add luaossl package with patch for CSR attributes 2024-10-03 23:00:08 +01:00
Daniel Barlow 635590d37a implement log shipping config
to use this, you need config like for example

+  logging.shipping = {
+    enable = true;
+    service = longrun {
+      name = "ship-logs";
+      run = let path = lib.makeBinPath (with pkgs; [ s6 s6-networking s6 execline ]);
+            in ''
+        PATH=${path}:$PATH
+        s6-ipcserver -1 ${config.logging.shipping.socket} \
+        s6-tcpclient 10.0.2.2 19612 \
+        fdmove -c 1 7 cat
+      '';
+    };
+  };

but I think we can reduce the noise a bit if we use an s6-rc pipeline
with an s6-ipcserver on one side and and a (whatever the user wants)
on the other
2024-09-18 22:14:34 +01:00
Daniel Barlow 17630f2678 rename logtee->logtap 2024-09-18 20:58:02 +01:00
Daniel Barlow 707a471bc2 add logtee to catchall logger 2024-09-16 21:30:06 +01:00
Daniel Barlow d3fce5edd4 implement error() for musl 2024-09-16 20:35:23 +01:00
Daniel Barlow 5771108fed improve logtee socket connection warning
* print it less often
* to the correct stream (stdout not stderr)
2024-09-16 20:34:26 +01:00
Daniel Barlow 9e5f2d663d close socket fd if we can't connect it 2024-09-15 22:09:31 +01:00
Daniel Barlow 21eeb1671e print diagnostic when eof on stderr 2024-09-15 21:59:24 +01:00
Daniel Barlow 44762d38fc write start cookie when socket connect succeeds 2024-09-15 21:54:21 +01:00
Daniel Barlow 1f6cfc3679 extract method is_connected 2024-09-15 21:40:05 +01:00
Daniel Barlow 8ec00f1710 improve error message 2024-09-15 21:37:04 +01:00
Daniel Barlow 6a6dd32dea make pollfd array global 2024-09-15 21:32:48 +01:00
Daniel Barlow 9b1fc11a59 logshipper/logtee :copy stdin to stdout & to a unix socket if present
first draft
2024-09-15 19:33:21 +01:00
Daniel Barlow aaa6e353db incz is a very rudimentary log shipper for zinc search
although it probably would work with elasticsearch as well
as zinc is alleged to be ES-compatible

this is just the package and needs hooking into the service/log
infrastructure somehow
2024-09-08 16:38:37 +01:00
Daniel Barlow 69bf6cb5fb write-fennel quote PATH properly
escapeShellArg only quotes if the string contains special
characters, but for a Lua string we must quote unconditionally
2024-09-07 22:31:44 +01:00
Daniel Barlow 9f58e7b926 maybe fix nixpkgs-unstable lua 2024-09-07 00:58:11 +01:00
Daniel Barlow 5a5c27ab9f think 2024-09-06 22:37:49 +01:00
Daniel Barlow 277c91acdf Revert "remove luaposix ref in write-fennel"
This reverts commit a60c2539a6.
2024-09-06 00:33:30 +01:00
Daniel Barlow e0725489ca unbreak pppoe ci job 2024-09-06 00:33:30 +01:00
Daniel Barlow cc47515cf8 watch-outputs remove debug code 2024-09-06 00:13:54 +01:00
Daniel Barlow 464913cc8f tangc use spawn to invoke jose
hopefully we are now deadlock-free
2024-09-06 00:12:45 +01:00
Daniel Barlow e604d628e3 fennel anoia.process.spawn
runs a subprocess and invokes a callback whenever its io
descriptors are ready
2024-09-06 00:11:33 +01:00
Daniel Barlow e2a597589b anoia.fs.find-executable looks for bin in colon-sep list of directories 2024-09-06 00:08:40 +01:00
Daniel Barlow 6a5fed83dd conditional fetch in json-to-fstree 2024-09-05 11:14:47 +01:00
Daniel Barlow bcf5ab24e8 tidy watch-outputs startup message 2024-09-05 10:11:16 +01:00
Daniel Barlow 32bf80c6fa devout: unlink socket pathname before binding 2024-09-05 10:05:13 +01:00
Daniel Barlow 12275f6896 add more test for table= 2024-09-04 21:21:30 +01:00
Daniel Barlow a60c2539a6 remove luaposix ref in write-fennel 2024-09-04 21:21:02 +01:00
Daniel Barlow 146a2d9ac0 fix startup race/fencepost in watch-ssh-keys
if it starts _after_ the outputs are populated, it should
write the first lot of outputs without waiting for a change
2024-09-04 21:19:51 +01:00
Daniel Barlow 091d863710 extract pppoe/l2tp common code 2024-09-04 12:02:00 +01:00