aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorGibheer <gibheer+git@zero-knowledge.org>2024-10-30 19:27:15 +0100
committerGibheer <gibheer+git@zero-knowledge.org>2024-10-30 19:27:15 +0100
commitef425e0e4b8933e831914eafd7a49f1c6619366d (patch)
tree9e9ff5ad38c63fefdf36b0bcf03d6f8f0db46403 /utils
parent05d6841d7b33f6ffe02b0d77afaa7c44687cea9e (diff)
add everything for a proper build processv0.2
Diffstat (limited to 'utils')
-rw-r--r--utils/PKGBUILD26
-rw-r--r--utils/gocgi.conf.example6
-rw-r--r--utils/gocgi@.service18
3 files changed, 50 insertions, 0 deletions
diff --git a/utils/PKGBUILD b/utils/PKGBUILD
new file mode 100644
index 0000000..e559c9d
--- /dev/null
+++ b/utils/PKGBUILD
@@ -0,0 +1,26 @@
+pkgname="gocgi"
+pkgver=0.2
+pkgrel=1
+pkgdesc='a small go daemon to host cgi scripts'
+arch=('x86_64')
+
+source=(
+ "${pkgname}-${pkgver}.tar.gz"
+ "gocgi@.service"
+ "gocgi.conf.example"
+ )
+
+b2sums=(
+ 'aba9f188f146aca50b37251d1930ec061d7ad9fa24446456c13ce5d504ff4f67043fa706a722ca68e95c0552b6a9872215d04ca40fa5f20d55a52530fbaa66d9'
+ '3492816ef2c676ac8d1feff3736074c362f57a8dce8d13614ba262b660912db99b9e827959452c44f67c19af6b5366ebdf124564c5dae3a6237336b997e840c3'
+ 'e61ef545c47d38b79e0f99138d00ea99982b0a90523ce1697df658e9beae230079f274283c44924a0c5f525bc397ed5a7cd3d316a18d4c0258ca3d6a3b4225f3'
+ )
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ go build -trimpath
+
+ install -Dm 0755 "${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
+ install -Dm 644 ${srcdir}/${pkgname}@.service -t "${pkgdir}/usr/lib/systemd/system"
+ install -Dm 644 ${srcdir}/${pkgname}.conf.example -t "${pkgdir}/etc/gocgi"
+}
diff --git a/utils/gocgi.conf.example b/utils/gocgi.conf.example
new file mode 100644
index 0000000..699a7e8
--- /dev/null
+++ b/utils/gocgi.conf.example
@@ -0,0 +1,6 @@
+# Path to the binary to call when a request was accepted.
+GOCGI_BIN=""
+# Set a number of environment variables to give to the binary.
+GOCGI_ENV=""
+# Set the working directory for this instance.
+GOCGI_WORKDIR="/"
diff --git a/utils/gocgi@.service b/utils/gocgi@.service
new file mode 100644
index 0000000..9f2cf4a
--- /dev/null
+++ b/utils/gocgi@.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=CGI HTTP instance %i
+After=network.target
+
+[Service]
+Type=simple
+EnvironmentFile=/etc/gocgi/%i.conf
+ExecStart=/usr/bin/gocgi --path "${GOCGI_BIN}" --dir "${GOCGI_WORKDIR}" --env="${GOCGI_ENV}" --listen "${STATE_DIRECTORY}/%i.sock"
+
+RuntimeDirectory=gocgi
+DynamicUser=yes
+ProtectSystem=yes
+PrivateDevices=yes
+ProtectKernelTunables=yes
+ProtectControlGroups=yes
+
+[Install]
+WantedBy=multi-user.target