diff --git a/beszel-agent/Makefile b/beszel-agent/Makefile new file mode 100644 index 0000000..25ad3f8 --- /dev/null +++ b/beszel-agent/Makefile @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2026 Entware + +include $(TOPDIR)/rules.mk + +PKG_NAME:=beszel-agent +PKG_VERSION:=0.18.7 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_VERSION:=v$(PKG_VERSION) +PKG_SOURCE_URL:=https://github.com/henrygd/beszel +PKG_MIRROR_HASH:=64b66bf9c5466befdc7ac1e55cbc8a3934d84f2a344f19ef2432c49bb1b9eaa7 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE + +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/golang.mk + +define Package/beszel-agent + SECTION:=net + CATEGORY:=Network + TITLE:=Beszel monitoring agent + URL:=https://github.com/henrygd/beszel + DEPENDS:=+ca-certificates +endef + +define Package/beszel-agent/description + Lightweight server monitoring agent for Beszel hub +endef + +GO_TARGET:=./internal/cmd/agent + +GO_LDFLAGS += \ + -X 'github.com/henrygd/beszel.Version=v$(PKG_VERSION)' + +define Package/beszel-agent/install + $(INSTALL_DIR) $(1)/opt/sbin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/agent $(1)/opt/sbin/beszel-agent + + $(INSTALL_DIR) $(1)/opt/etc/init.d + $(INSTALL_BIN) ./files/S99beszel-agent $(1)/opt/etc/init.d/S99beszel-agent + + $(INSTALL_DIR) $(1)/opt/etc + $(INSTALL_CONF) ./files/beszel-agent.conf $(1)/opt/etc/beszel-agent.conf +endef + +define Package/beszel-agent/conffiles +/opt/etc/beszel-agent.conf +endef + +$(eval $(call BuildPackage,beszel-agent)) diff --git a/beszel-agent/files/S99beszel-agent b/beszel-agent/files/S99beszel-agent new file mode 100644 index 0000000..4858e5b --- /dev/null +++ b/beszel-agent/files/S99beszel-agent @@ -0,0 +1,20 @@ +#!/bin/sh + +if [ -f "/opt/etc/beszel-agent.conf" ]; then + . /opt/etc/beszel-agent.conf || exit 0 +fi + +ENABLED=yes +PROCS=beszel-agent +ARGS="-listen $LISTEN_PORT" +PREARGS="" +DESC=$PROCS +PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + +[ -n "$KEY" ] && export KEY +[ -n "$HUB_URL" ] && export HUB_URL +[ -n "$TOKEN" ] && export TOKEN +[ -n "$FILESYSTEM" ] && export FILESYSTEM +[ -n "$DATA_DIR" ] && export DATA_DIR + +. /opt/etc/init.d/rc.func diff --git a/beszel-agent/files/beszel-agent.conf b/beszel-agent/files/beszel-agent.conf new file mode 100644 index 0000000..1dc0850 --- /dev/null +++ b/beszel-agent/files/beszel-agent.conf @@ -0,0 +1,6 @@ +LISTEN_PORT=45876 +FILESYSTEM=/opt +DATA_DIR= +KEY="" +HUB_URL="" +TOKEN="" \ No newline at end of file