yeetfile: build debian packages

Signed-off-by: Xe Iaso <me@xeiaso.net>
This commit is contained in:
Xe Iaso 2025-03-28 14:33:57 -04:00
parent 38d62eeb56
commit bb4f49cfd9
No known key found for this signature in database
2 changed files with 20 additions and 17 deletions

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
.env
*.deb
*.rpm
# Go binaries and test artifacts

View File

@ -1,22 +1,24 @@
go.install();
["amd64", "arm64"].forEach(goarch => rpm.build({
name: "anubis",
description: "Anubis weighs the souls of incoming HTTP requests and uses a sha256 proof-of-work challenge in order to protect upstream resources from scraper bots.",
homepage: "https://xeiaso.net/blog/2025/anubis",
license: "MIT",
goarch,
["amd64", "arm64"].forEach(goarch => {
[deb, rpm].forEach(method => method.build({
name: "anubis",
description: "Anubis weighs the souls of incoming HTTP requests and uses a sha256 proof-of-work challenge in order to protect upstream resources from scraper bots.",
homepage: "https://xeiaso.net/blog/2025/anubis",
license: "MIT",
goarch,
build: (out) => {
// install Anubis binary
go.build("-o", `${out}/usr/bin/anubis`);
build: (out) => {
// install Anubis binary
go.build("-o", `${out}/usr/bin/anubis`, "./cmd/anubis");
// install systemd unit
yeet.run("mkdir", "-p", `${out}/usr/lib/systemd/system`);
yeet.run("cp", "run/anubis@.service", `${out}/usr/lib/systemd/system/anubis@.service`);
// install systemd unit
yeet.run("mkdir", "-p", `${out}/usr/lib/systemd/system`);
yeet.run("cp", "run/anubis@.service", `${out}/usr/lib/systemd/system/anubis@.service`);
// install default config
yeet.run("mkdir", "-p", `${out}/etc/anubis`);
yeet.run("cp", "run/anubis.env.default", `${out}/etc/anubis/anubis-default.env`);
},
}));
// install default config
yeet.run("mkdir", "-p", `${out}/etc/anubis`);
yeet.run("cp", "run/anubis.env.default", `${out}/etc/anubis/anubis-default.env`);
},
}));
});