From 353cd7112bff3075130d39a8a11e511756502dd1 Mon Sep 17 00:00:00 2001 From: charliemirabile <46761267+charliemirabile@users.noreply.github.com> Date: Fri, 11 Sep 2026 13:20:34 -0400 Subject: [PATCH 1/5] treewide: bump alpine version to latest There were a few places where I also needed to explicitly add `gcc` to the packages to install. We were relying on an implicit dependency of clang on gcc/binutils that seems to be have been dropped --- denis/Containerfile | 5 +++-- extenginx/Containerfile | 4 ++-- git/Containerfile | 2 +- mailman/Containerfile | 5 +++-- orbit/Containerfile | 4 ++-- pop/Containerfile | 3 ++- smtp/Containerfile | 3 ++- submatrix/Containerfile | 4 ++-- 8 files changed, 17 insertions(+), 13 deletions(-) diff --git a/denis/Containerfile b/denis/Containerfile index 8808eb91..4076b15f 100644 --- a/denis/Containerfile +++ b/denis/Containerfile @@ -1,6 +1,7 @@ -FROM alpine:3.20 AS build +FROM alpine:3.24 AS build RUN apk add \ clang \ + gcc \ make \ ; @@ -17,7 +18,7 @@ RUN mkdir -p /var/lib/email/journal && \ chown -R 100:100 /var/lib/email/journal && \ : -FROM alpine:3.20 AS denis +FROM alpine:3.24 AS denis RUN apk add \ py3-peewee \ diff --git a/extenginx/Containerfile b/extenginx/Containerfile index cfb6da81..c6ca92d8 100644 --- a/extenginx/Containerfile +++ b/extenginx/Containerfile @@ -1,4 +1,4 @@ -FROM alpine:3.20 AS build +FROM alpine:3.24 AS build RUN apk update && apk upgrade && apk add \ envsubst \ @@ -50,7 +50,7 @@ RUN envsubst \ > nginx.conf \ ; -FROM alpine:3.20 AS nginx +FROM alpine:3.24 AS nginx RUN apk update && apk upgrade && apk add \ nginx \ diff --git a/git/Containerfile b/git/Containerfile index c9acae14..d7e4b5b4 100644 --- a/git/Containerfile +++ b/git/Containerfile @@ -1,4 +1,4 @@ -FROM alpine:3.20 as git +FROM alpine:3.24 as git RUN apk update && apk upgrade && apk add \ python3 \ diff --git a/mailman/Containerfile b/mailman/Containerfile index 4003d967..65857020 100644 --- a/mailman/Containerfile +++ b/mailman/Containerfile @@ -1,6 +1,7 @@ -FROM alpine:3.20 AS build +FROM alpine:3.24 AS build RUN apk add \ clang \ + gcc \ make \ ; @@ -8,7 +9,7 @@ COPY --from=watcher_source . /watcher RUN make -C /watcher CC='clang -static' -FROM alpine:3.20 AS mailman +FROM alpine:3.24 AS mailman RUN apk add \ py3-peewee \ diff --git a/orbit/Containerfile b/orbit/Containerfile index 9927359d..90fa8a17 100644 --- a/orbit/Containerfile +++ b/orbit/Containerfile @@ -1,4 +1,4 @@ -FROM alpine:3.20 AS build +FROM alpine:3.24 AS build RUN apk update && apk upgrade && apk add \ envsubst \ @@ -14,7 +14,7 @@ RUN test -n "$orbit_version_info" || (echo 'version info is not set' && false) & rm config.py.template \ ; -FROM alpine:3.20 AS orbit +FROM alpine:3.24 AS orbit RUN apk update && apk upgrade && apk add \ py3-bcrypt \ diff --git a/pop/Containerfile b/pop/Containerfile index 9e65d4fa..9a3467fb 100644 --- a/pop/Containerfile +++ b/pop/Containerfile @@ -1,6 +1,7 @@ -FROM alpine:3.20 AS build +FROM alpine:3.24 AS build RUN apk add \ clang \ + gcc \ make \ ; diff --git a/smtp/Containerfile b/smtp/Containerfile index ac17fb3c..5d687ab4 100644 --- a/smtp/Containerfile +++ b/smtp/Containerfile @@ -1,6 +1,7 @@ -FROM alpine:3.20 AS build +FROM alpine:3.24 AS build RUN apk add \ clang \ + gcc \ make \ ; diff --git a/submatrix/Containerfile b/submatrix/Containerfile index ad73ebb6..6c7f88cb 100644 --- a/submatrix/Containerfile +++ b/submatrix/Containerfile @@ -1,4 +1,4 @@ -FROM alpine:3.20 as build +FROM alpine:3.24 as build RUN apk update && \ apk add \ @@ -12,7 +12,7 @@ ARG MATRIX_HOSTNAME RUN envsubst '$MATRIX_HOSTNAME' < /etc/synapse/homeserver.yaml.template > /etc/synapse/homeserver.yaml -FROM alpine:3.20 as submatrix +FROM alpine:3.24 as submatrix COPY --from=build /etc/synapse/homeserver.yaml /etc/synapse/homeserver.yaml From 7c7a906087f3b1cb4c028acb1c18ca7a84cdd400 Mon Sep 17 00:00:00 2001 From: charliemirabile <46761267+charliemirabile@users.noreply.github.com> Date: Fri, 11 Sep 2026 13:35:38 -0400 Subject: [PATCH 2/5] orbit: radius: Containerfile: bump fedora version to latest --- orbit/radius.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/orbit/radius.py b/orbit/radius.py index 4ab68e33..93371c39 100644 --- a/orbit/radius.py +++ b/orbit/radius.py @@ -810,7 +810,7 @@ def handle_containerfile(rocket): not (fullname := user.fullname)): fullname = 'Unknown' return rocket.raw_respond(HTTPStatus.OK, rf''' -FROM fedora:42 +FROM fedora:44 RUN dnf -y update && \ dnf install -y --setopt=install_weak_deps=False --setopt=tsflags= \ From 4483216a00b19514d22be327fa03f605a4d3153b Mon Sep 17 00:00:00 2001 From: charliemirabile <46761267+charliemirabile@users.noreply.github.com> Date: Fri, 11 Sep 2026 13:37:01 -0400 Subject: [PATCH 3/5] orbit: radius: Containerfile: add llvm toolchain packages --- orbit/radius.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/orbit/radius.py b/orbit/radius.py index 93371c39..3e523cb7 100644 --- a/orbit/radius.py +++ b/orbit/radius.py @@ -818,6 +818,9 @@ def handle_containerfile(rocket): tar \ make \ gcc \ + clang \ + llvm \ + lld \ qemu-system-riscv \ qemu-user-static-riscv \ binutils-riscv64-linux-gnu \ From f5ada54203be74ed1b2e6d446765143639c69d8e Mon Sep 17 00:00:00 2001 From: charliemirabile <46761267+charliemirabile@users.noreply.github.com> Date: Fri, 11 Sep 2026 14:39:21 -0400 Subject: [PATCH 4/5] submatrix: increase rate limits for login When all the students try to login for the first time on the first day often they run afoul of these limits because their source ip addresses are lost with the tcp->unix socket conversion. --- submatrix/homeserver.yaml.template | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/submatrix/homeserver.yaml.template b/submatrix/homeserver.yaml.template index aaec70e8..e438c337 100644 --- a/submatrix/homeserver.yaml.template +++ b/submatrix/homeserver.yaml.template @@ -25,5 +25,9 @@ trusted_key_servers: [] modules: - module: orbit_auth.OrbitAuthProvider config: {} +rc_login: + address: + per_second: 30 + burst_count: 30 # vim:ft=yaml From 675b832223bbf6fea890760888b8e1d4db0dcadf Mon Sep 17 00:00:00 2001 From: charliemirabile <46761267+charliemirabile@users.noreply.github.com> Date: Fri, 11 Sep 2026 14:50:53 -0400 Subject: [PATCH 5/5] orbit: radius: dashboard: show feedback for all components --- orbit/radius.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/orbit/radius.py b/orbit/radius.py index 3e523cb7..a7c2e032 100644 --- a/orbit/radius.py +++ b/orbit/radius.py @@ -651,21 +651,20 @@ def handle_dashboard(rocket): repo = git.Repo('/var/lib/git/grading.git') grades = {} + human_feedback = {} for component in ['review1', 'review2', 'final']: tag = f'{assignment.name}_{component}_{rocket.session.username}' try: grades[component] = repo.git.execute(['git', 'notes', '--ref=grade', 'show', tag]) except git.GitCommandError: grades[component] = None - - tag = f'{assignment.name}_final_{rocket.session.username}' - try: - human_feedback = repo.git.execute(['git', 'notes', '--ref=feedback', 'show', tag]) - except git.GitCommandError: - human_feedback = '-' + try: + human_feedback[component] = repo.git.execute(['git', 'notes', '--ref=feedback', 'show', tag]) + except git.GitCommandError: + human_feedback[component] = '-' ret += str(AsmtTable(assignment, oopsieness, peer1, peer2, init, - rev1, grades['review1'], rev2, grades['review2'], final, grades['final'], human_feedback)) + rev1, grades['review1'], rev2, grades['review2'], final, grades['final'], str(human_feedback))) return rocket.respond(ret + '', 'Dashboard')