Posting this here after discussing with @hunter so some Livepeer devops folks could provide feedback before I create a PR.
The use-case is:
a) There are many Orchestrators who may not be sysadmins, I know of at least one who will sudo cp
the livepeer
binary into /usr/local/bin/
, not good news for a daemon listening on a port which isnβt firewalled. A signed .deb package solves this, most Oβs are running Ubuntu / Deb.
b) There is existing tooling to convert a .deb package to almost every existing Linux distribution.
go-livepeer/build.yaml at master Β· livepeer/go-livepeer Β· GitHub git pulls and builds the binaries and creates archives of them by $ARCH and go-livepeer/release.yaml at master Β· livepeer/go-livepeer Β· GitHub signs and ships a new release when run
Thereβs three approaches, Iβd prefer to get some feedback before spending the time to create them:
- The Debian handbook suggests creating a debian directory in the root of your code structure with every thing needed to package under it. Itβd look something like
livepeer/
βββ debian/
β βββ control
β βββ livepeer.conf
β βββ livepeer.install
β βββ livepeer.postrm
β βββ livepeer.postinst
β βββ livepeer.service
βββ usr/
β βββ bin/
β β βββ livepeer
β βββ share/
β βββ doc/
β βββ livepeer/
β βββ LICENSE
βββ .github/
β βββ workflows/
β βββ build-deb.yaml
βββ build-deb.sh
Then in we hook into the same VM creating the artifacts, and make it create a signed (Livepeer CI Robot) .deb and release it along side the rest of the livepeer-$TAG-$ARCH-.tar,gz archives
A bit more tooling to integrate it with the Changelog and GPG signature file creation may be required.
-
Fork a Github Actions repo (GitHub - jtdor/build-deb-action: GitHub action for building Debian packages with dpkg-buildpackage.) to create a Debian package for Livepeer, and it can just be called by build,yaml above, similar to how it calls the action to create a ubuntu-latest runner
-
Either Eli or hjpotter92 (-) Β· GitHub add it as they see fit.