summary refs log tree commit diff
AgeCommit message (Collapse)Author
2021-12-27ripple/website/pages/syscalls: document the syscalls we need to support for ↵edef
our MVP Change-Id: I651816d004ee5c5049569ddcf157d492cbcc0b2a
2021-12-27ripple/minitrace: enforce permitted syscall numbersedef
This doesn't discriminate between muxed syscalls yet, but at least bounds the available syscalls to the ones `cc1 hello.c` invokes. Change-Id: I1965f27746b509b32d5e86510e803038765c11dd
2021-12-27ripple/minitrace: initedef
Minimal PTRACE_SYSCALL tracer for further narrowing down the syscalls we need to support. Change-Id: I562ee6e88e52d7deeee6de588ef00dfc1c38a71a
2021-12-23ripple/website/nix: fix deploymentV
Our post-update deployment hook expects a callPackage-able default.nix in the root of the repository. Let's fix that! I'm moving the nixpkgs wrapper to another file, so it's still easy to build. Placeholder page until we've actually got content. Change-Id: I5e3ecabe0025c2361e15e31b3c520be6410281ce
2021-12-22ripple/data: add syscalls-gcc.logedef
A trace of `gcc hello.c -o hello` on Arch Linux, using //tools/driver.pl. Change-Id: I0af3d4896cb1bc530b3781fc3c48090b4c212316
2021-12-22ripple/data: add hello.cedef
Bog standard C hello world. The license info, insofar relevant, is kept separately because it's an unnecessary contaminant. Change-Id: Icf48e11fa44618a7f265f8b083e8a02dc6387711
2021-08-30fleet/hosts/trieste/naut: put proxy socket in its own directoryV
As the main service runs as a dynamic user, service restarts cause the runtime directory (/run/naut) to be recreated. This resulted in the proxy socket being deleted, never to be seen again (breaking the hook). Change-Id: Ief0655d24116939e401191acd75d9d59b9c03e86
2021-08-22fleet/naut: pluralise "{} commits pushed" message correctlyV
Change-Id: I716969d8c18628166c6b49dba8eca2807e22784d
2021-08-22ripple/fossil: prefer anonymous type parametersedef
This is mostly a stylistic distinction, but it helps with readability. Change-Id: Ia6b3dca53638f12bcfd498b5f36e7abf16fd061a
2021-08-21fleet/hosts/trieste/naut: fix proxy service dependencyedef
This ensures that only a single instance can be running, and allows the socket and service to be restarted together. Change-Id: Iaa7a2f36705996458d0c7af692151bba6209c028
2021-08-21fleet/pkgs/naut: a little commit notification botV
After a couple of days wrangling Rust's async ecosystem, we now have an IRC bot that will announce new commits. This should hopefully give people a better view into what we're working on! Change-Id: Ie7b3be62afca3ad2a10cb04c15ff666c62408fa2
2021-08-20fleet/hosts/trieste/cgit: put our tagline in the root descriptionV
I'm not sure why I didn't think to do this earlier. Change-Id: I951f7d5fa3d3276befe687e62393cbad807bd4c4
2021-08-17fleet/modules/public-inbox: fix updated descriptions not getting picked upV
Stale data just tastes bad, y'know? Change-Id: I027250bfb6831ef473088e2ee2652df2a8f894a4
2021-08-17fleet/modules/public-inbox: set NonBlocking on the httpd serviceV
For whatever reason, it complains if you don't provide this. It will then set O_NONBLOCK by itself, so I'm not really sure what the point is. Change-Id: Iec21e48f027a9782625f5fbbe539a8a7ccc04e2c
2021-08-17fleet/modules/public-inbox: add Requires/After of the corresponding socket ↵V
to the httpd service This ensures they can be restarted together correctly, as well as ensuring the service has a socket available at all times. Change-Id: Ifa06e217cc2209aea4bcf28ed054d74cbc091a99
2021-08-17fleet/modules/public-inbox: fix permissions issueV
It turns out the strange behaviour we were observing was due to createHome applying an overly-restrictive mode to the public-inbox top-level directory. This prevented public-inbox-httpd from accessing any of the inboxes, despite it having the correct group assigned. This fixes: - Inbox descriptions showing up as "($INBOX_DIR/description missing)" - Inbox pages only containing the text "No messages, yet" - Mysterious "fatal: not a git repository: '/path/to/inbox'" errors - Probably even more things that I simply didn't notice Change-Id: Ia5a3d57546efd2d0375528fa10e4e979d155b045
2021-08-17fleet: initV
Co-authored-by: edef <edef@unfathomable.blue> Change-Id: I36d2c4cca542ed91630b1b832f3c7a7b97b33c65
2021-08-14ripple/fossil: a basic content-addressable storeedef
Fossil stores content-addressed blobs of file contents and Protobuf-encoded directory listings, backed by Sled. Change-Id: I8b49de6342218ca00755cec980b1d0cfb18878a7
2021-08-14ripple/nix: build everything with naerskV
Yes, it really is that simple. Naersk is great! Change-Id: I183f5bd0d2547a368f32bbc42fddf03e7cb03331
2021-08-14ripple: create the project skeletonV
Change-Id: I4e50d2990fea76097ee61f8c98d65f2e4e44d765
2021-08-14ripple: add a basic development shell and .envrcV
Let's start with some basic build tooling, and some extra dependencies to let us use rust-analyzer with the pinned version of Rust. Change-Id: I1dd59277d29680ba89efdc7672668b3b095ef4a7
2021-08-14ripple/nix: add rustfmt `imports_granularity = "One"` patchV
This lets us use an unreleased formatting variant that merges all use statements into a single block. Change-Id: I0ff9fb960171c9af3dbd3a841e35e17a4965a246
2021-08-12ripple/nix: initialize nixpkgs pinV
We're using an unstable branch over releases, as biannual package updates are too infrequent for tools with short release cycles. We're specifically using nixos-unstable, as this has more thorough testing than nixpkgs-unstable does (at the cost of lagging behind, slightly). Change-Id: Iaa5101f40148d2d85e8258cf73576bf7f531d4c1
2021-07-10ripple: move tools to their own directoryV
Change-Id: I693b9b9c5b9aff8c96b1b81f1ff7b7f2b92eabcb
2021-05-29ripple/driver.pl: fix bpftrace argument passingedef
bpftrace takes a single argument to -c, and then simply does a naive split_string(cmd, ' ') on that. This unfortunately makes it impossible to pass arguments containing spaces to subprocesses. Change-Id: Ib18a19f858b5acd87e54e00927173ccd4fe6ee49
2021-05-28ripple/fakefakeroot: a fakeroot shimedef
Package managers and build systems love running install phases under fakeroot, which generates a lot of spurious syscalls for us. This shim takes care of that without patching build systems. The included Arch Linux PKGBUILD provides it as a replacement package for fakeroot itself. It does not attempt to fully comply with packaging guidelines, nor does it need to, since it isn't intended to be upstreamable anyway. Reviewed-by: V <v@unfathomable.blue> Change-Id: Ie9bf87d066f9bb2de7624d705b1e4527cca14d9a
2021-05-26ripple/driver.pl: a basic syscall tracing driveredef
This program spawns a child in a new cgroup (using systemd-run) under bpftrace and counts syscall invocations for each (syscall, comm) pair. It outputs a TSV of (syscall, comm, count) tuples to STDERR. This makes it easy to assess which system calls a build process uses, segmented by a useful approximation of the invoking programs. Change-Id: I9ab7a34fda82245d3fa22b47840de16d1decf719
2021-02-25ripple/website: initV
This contains the source to Ripple's website, as it was published on 2020-10-07. Change-Id: I4c871be79d8841b277d23ea741c8728ec5da8cc8
the depths awaitJacques Piccard