diff mbox series

[1/1] package/qbee-agent: new package

Message ID 20240305093839.3152030-2-jonhenrik@qbee.io
State New
Headers show
Series package/qbee-agent: new package | expand

Commit Message

Jon Henrik Bjørnstad March 5, 2024, 9:38 a.m. UTC
This patch add qbee-agent, an open source device management software
for Linux devices.

Signed-off-by: Jon Henrik Bjørnstad <jonhenrik@qbee.io>
---
 DEVELOPERS                         |  3 +++
 package/Config.in                  |  1 +
 package/qbee-agent/Config.in       | 17 +++++++++++++++
 package/qbee-agent/qbee-agent.hash |  3 +++
 package/qbee-agent/qbee-agent.mk   | 35 ++++++++++++++++++++++++++++++
 5 files changed, 59 insertions(+)
 create mode 100644 package/qbee-agent/Config.in
 create mode 100644 package/qbee-agent/qbee-agent.hash
 create mode 100644 package/qbee-agent/qbee-agent.mk
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 0bfe91f064..11fb24b78e 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1631,6 +1631,9 @@  F:	package/sdbusplus/
 N:	Jon Ringle <jringle@gridpoint.com>
 F:	package/mbpoll/
 
+N:	Jon Henrik Bjørnstad <jonhenrik@qbee.io>
+F:	package/qbee-agent/
+
 N:	Jonathan Ben Avraham <yba@tkos.co.il>
 F:	arch/Config.in.xtensa
 F:	package/autofs/
diff --git a/package/Config.in b/package/Config.in
index 33039331f7..fc5ffc4dba 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2780,6 +2780,7 @@  menu "System tools"
 	source "package/procs/Config.in"
 	source "package/psmisc/Config.in"
 	source "package/pwgen/Config.in"
+	source "package/qbee-agent/Config.in"
 	source "package/quota/Config.in"
 	source "package/quotatool/Config.in"
 	source "package/rauc/Config.in"
diff --git a/package/qbee-agent/Config.in b/package/qbee-agent/Config.in
new file mode 100644
index 0000000000..02e35827ef
--- /dev/null
+++ b/package/qbee-agent/Config.in
@@ -0,0 +1,17 @@ 
+config BR2_PACKAGE_QBEE_AGENT
+	bool "qbee-agent"
+	depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
+	select BR2_PACKAGE_IPTABLES # runtime
+	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # runtime
+	select BR2_PACKAGE_SHADOW # runtime
+	select BR2_PACKAGE_BASH # runtime
+	help
+	  Qbee is a device management platform that comprise
+	  of an open-source agent and a hosted SaaS backend.
+	  This config installs pre-built static binaries made
+	  with the official public signing key for qbee.io. The
+	  binaries will work seamlessly with the qbee.io device
+	  management backend.
+
+	  https://github.com/qbee-io/qbee-agent
+	  https://qbee.io
diff --git a/package/qbee-agent/qbee-agent.hash b/package/qbee-agent/qbee-agent.hash
new file mode 100644
index 0000000000..1c6a361ff6
--- /dev/null
+++ b/package/qbee-agent/qbee-agent.hash
@@ -0,0 +1,3 @@ 
+# Locally calculated
+sha256  b1b5a6d4e18fbd8536d05616c632f10ef309d26036a19c5ce28d0635c45d8cab  qbee-agent-2024.09.tar.gz
+sha256  02d07d96be99eb042b01ba650079a440ce26a78c5e0e1e8060c33a8c9e200404  LICENSE
diff --git a/package/qbee-agent/qbee-agent.mk b/package/qbee-agent/qbee-agent.mk
new file mode 100644
index 0000000000..66037195c1
--- /dev/null
+++ b/package/qbee-agent/qbee-agent.mk
@@ -0,0 +1,35 @@ 
+################################################################################
+#
+# qbee-agent package
+#
+################################################################################
+
+QBEE_AGENT_VERSION = 2024.09
+QBEE_AGENT_SITE = $(call github,qbee-io,qbee-agent,$(QBEE_AGENT_VERSION))
+QBEE_AGENT_LICENSE = Apache-2.0
+QBEE_AGENT_LICENSE_FILES = LICENSE
+
+QBEE_AGENT_COMMIT_ID = c30d43b8e64cfef960cee9475b58ae083e4ad246
+
+QBEE_AGENT_GOMOD = go.qbee.io/agent
+
+QBEE_AGENT_LDFLAGS = -s -w \
+	-X $(QBEE_AGENT_GOMOD)/app.Version=$(QBEE_AGENT_VERSION) \
+	-X $(QBEE_AGENT_GOMOD)/app.Commit=$(QBEE_AGENT_COMMIT_ID)
+
+define QBEE_AGENT_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 $(@D)/bin/qbee-agent $(TARGET_DIR)/usr/bin/qbee-agent
+	$(INSTALL) -D -m 0600 $(@D)/package/share/ssl/ca.cert $(TARGET_DIR)/etc/qbee/ppkeys/ca.cert
+endef
+
+define QBEE_AGENT_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 0644 $(@D)/package/init-scripts/systemd/qbee-agent.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/qbee-agent.service
+endef
+
+define QBEE_AGENT_INSTALL_INIT_SYSV
+	$(INSTALL) -D -m 755 $(@D)/package/init-scripts/sysvinit/qbee-agent \
+		$(TARGET_DIR)/etc/init.d/S99qbee-agent
+endef
+
+$(eval $(golang-package))