unos-repository

APK repository for unos
git clone git://git.finwo.net/misc/unos-repository
Log | Files | Refs | README

commit 85f966a7c8c66a7335e5b6d2c1b5c969f66a2ad0
parent 3f96f73488a38e9a7e9649d4ca6689a584cb1bcb
Author: finwo <finwo@pm.me>
Date:   Sun, 13 Sep 2026 03:32:19 +0200

Add NL loop, unosd package stub, vfr filtering beginnings

Diffstat:
Apackages/unosd/files/unosd-check | 3+++
Apackages/unosd/files/unosd-log-run | 4++++
Apackages/unosd/files/unosd-run | 9+++++++++
Apackages/unosd/template | 19+++++++++++++++++++
4 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/packages/unosd/files/unosd-check b/packages/unosd/files/unosd-check @@ -0,0 +1,3 @@ +#!/bin/sh +# runit check interface over the ready-file mechanism. +[ -e /run/unosd.ready ] && exit 0 || exit 1 diff --git a/packages/unosd/files/unosd-log-run b/packages/unosd/files/unosd-log-run @@ -0,0 +1,4 @@ +#!/bin/sh +# svlogd companion: runit captures stdout/stderr, so unosd needs no --log file +# when supervised. +exec svlogd -tt /var/log/unosd diff --git a/packages/unosd/files/unosd-run b/packages/unosd/files/unosd-run @@ -0,0 +1,9 @@ +#!/bin/sh +# +# unosd runit service. +# +# Readiness contract: unosd publishes /run/unosd.ready after its initial +# resync (see --ready-file). frr's run script blocks on `sv check unosd` +# so zebra never starts before the swpN netdevs exist. The daemon itself +# defaults to no ready-file; the supervised package opts in here. +exec unosd --ready-file /run/unosd.ready diff --git a/packages/unosd/template b/packages/unosd/template @@ -0,0 +1,19 @@ +# Template file for 'unosd' +pkgname=unosd +version=0.1.0 +revision=1 +short_desc="UNOS control plane daemon - kernel netlink mirror into the dataplane" +maintainer="finwo <finwo@pm.me>" +license="GPL-2.0-only" +homepage="https://unos.finwo.dev" +depends="runit" + +do_install() { + # TODO(phase0): wire the src/unosd build into CI so the binary lands here. + # The service contract (run/check/log) is fixed now; the build recipe + # follows with the package pipeline. + # vinstall ${WRKSRC}/unosd 755 usr/bin unosd + vinstall ${FILESDIR}/unosd-run 755 etc/sv/unosd run + vinstall ${FILESDIR}/unosd-check 755 etc/sv/unosd check + vinstall ${FILESDIR}/unosd-log-run 755 etc/sv/unosd/log run +}