From bbd4f0c420a65e3b557871c7875add1236fd2e89 Mon Sep 17 00:00:00 2001 From: brakenium <22982712+brakenium@users.noreply.github.com> Date: Sun, 24 Sep 2023 11:08:52 +0000 Subject: [PATCH 01/12] Add influxdb --- cross/influxdb2/Makefile | 33 ++++++++++++++++++++++++++++++ cross/influxdb2/PLIST | 1 + cross/influxdb2/digests | 6 ++++++ spk/influxdb/Makefile | 30 +++++++++++++++++++++++++++ spk/influxdb/src/influxdb.png | Bin 0 -> 28517 bytes spk/influxdb/src/service-setup.sh | 4 ++++ 6 files changed, 74 insertions(+) create mode 100644 cross/influxdb2/Makefile create mode 100644 cross/influxdb2/PLIST create mode 100644 cross/influxdb2/digests create mode 100644 spk/influxdb/Makefile create mode 100644 spk/influxdb/src/influxdb.png create mode 100644 spk/influxdb/src/service-setup.sh diff --git a/cross/influxdb2/Makefile b/cross/influxdb2/Makefile new file mode 100644 index 00000000000..76841f4dd1c --- /dev/null +++ b/cross/influxdb2/Makefile @@ -0,0 +1,33 @@ +PKG_NAME = influxdb2 +PKG_VERS = 2.7.1 +PKG_EXT = tar.gz +PKG_DIST_SITE = https://dl.influxdata.com/influxdb/releases +PKG_DIR = $(PKG_NAME)_linux_$(PKG_DIST_ARCH) +PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS)-linux-$(PKG_DIST_ARCH).$(PKG_EXT) + +DEPENDS = + +HOMEPAGE = https://www.influxdata.com/products/influxdb/ +COMMENT = InfluxDB is an open-source time series database developed by the company InfluxData. It is written in the Go programming language for storage and retrieval of time series data in fields such as operations monitoring, application metrics, Internet of Things sensor data, and real-time analytics. It also has support for processing data from Graphite. This package is the database daemon which includes a web UI. +LICENSE = Apache-2.0/MIT + +INSTALL_TARGET = influxdb2_install + +UNSUPPORTED_ARCHS = $(32bit_ARCHS) + +PKG_DIST_ARCH_LIST = amd64 arm64 + +include ../../mk/spksrc.archs.mk + +ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +PKG_DIST_ARCH = amd64 +else ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +PKG_DIST_ARCH = arm64 +endif + +include ../../mk/spksrc.install-resources.mk + +.PHONY: influxdb2_install +influxdb2_install: + install -m 755 -d $(STAGING_INSTALL_PREFIX)/bin + install -m 755 $(WORK_DIR)/$(PKG_DIR)/influxd $(STAGING_INSTALL_PREFIX)/bin diff --git a/cross/influxdb2/PLIST b/cross/influxdb2/PLIST new file mode 100644 index 00000000000..c0689ee1b7d --- /dev/null +++ b/cross/influxdb2/PLIST @@ -0,0 +1 @@ +bin:bin/influxd diff --git a/cross/influxdb2/digests b/cross/influxdb2/digests new file mode 100644 index 00000000000..c474889f018 --- /dev/null +++ b/cross/influxdb2/digests @@ -0,0 +1,6 @@ +influxdb2-2.7.1-linux-amd64.tar.gz SHA1 d1ebf025f61fc4a1a12218d16c9ebcd889284e74 +influxdb2-2.7.1-linux-amd64.tar.gz SHA256 e5ecfc15c35af55641ffc92680ad0fb043aa51a942944252e214e2a551c60ebb +influxdb2-2.7.1-linux-amd64.tar.gz MD5 ca95feb9aa140ba2d857cd9cc0260c04 +influxdb2-2.7.1-linux-arm64.tar.gz SHA1 2554ca92ff7da917d0c544a63ef52f29ca62cb6b +influxdb2-2.7.1-linux-arm64.tar.gz SHA256 b88989dae0c802fdee499fa07aae837139da3c786293c74e9d7c46b8460510d4 +influxdb2-2.7.1-linux-arm64.tar.gz MD5 85c8dc2d01a8b6eaa9ec06f832f4e694 diff --git a/spk/influxdb/Makefile b/spk/influxdb/Makefile new file mode 100644 index 00000000000..25202407997 --- /dev/null +++ b/spk/influxdb/Makefile @@ -0,0 +1,30 @@ +SPK_NAME = influxdb +SPK_VERS = 2.7.1 +SPK_REV = 1 +SPK_ICON = src/influxdb.png + +DEPENDS = cross/influxdb2 + +MAINTAINER = SynoCommunity +DESCRIPTION = InfluxDB is an open-source time series database developed by the company InfluxData. It is written in the Go programming language for storage and retrieval of time series data in fields such as operations monitoring, application metrics, Internet of Things sensor data, and real-time analytics. It also has support for processing data from Graphite. +STARTABLE = yes +DISPLAY_NAME = InfluxDB +CHANGELOG = "1. Created initial package" + +HOMEPAGE = https://www.influxdata.com/products/influxdb/ +LICENSE = Apache-2.0/MIT + +UNSUPPORTED_ARCHS = $(32bit_ARCHS) + +include ../../mk/spksrc.common.mk + +SERVICE_USER = auto +# SERVICE_WIZARD_SHARE = wizard_download_share +SERVICE_SETUP = src/service-setup.sh +SERVICE_PORT = 8086 +SERVICE_PORT_TITLE = InfluxDB API + +# Admin link for in DSM UI +ADMIN_PORT = $(SERVICE_PORT) + +include ../../mk/spksrc.spk.mk diff --git a/spk/influxdb/src/influxdb.png b/spk/influxdb/src/influxdb.png new file mode 100644 index 0000000000000000000000000000000000000000..8ce7a22879cac76cd0b16c11b9900a635aa3fbff GIT binary patch literal 28517 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

yI&1V)*$&4|07E)kE_eN?3}CW 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 G{Qm&FHXL#Q literal 0 HcmV?d00001 diff --git a/spk/influxdb/src/service-setup.sh b/spk/influxdb/src/service-setup.sh new file mode 100644 index 00000000000..78f1415b3f2 --- /dev/null +++ b/spk/influxdb/src/service-setup.sh @@ -0,0 +1,4 @@ +SERVICE_COMMAND="${SYNOPKG_PKGDEST}/bin/influxd" +SVC_BACKGROUND=yes +SVC_WRITE_PID=yes +SVC_CWD="${SYNOPKG_PKGVAR}" From eb13fd2a0c4d845955876cb084bd2292fe019afd Mon Sep 17 00:00:00 2001 From: brakenium <22982712+brakenium@users.noreply.github.com> Date: Sun, 24 Sep 2023 11:23:37 +0000 Subject: [PATCH 02/12] Add influxdb2-client --- cross/influxdb2-client/Makefile | 32 ++++++++++++++++++++++++++++++++ cross/influxdb2-client/PLIST | 1 + cross/influxdb2-client/digests | 6 ++++++ spk/influxdb/Makefile | 4 ++-- 4 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 cross/influxdb2-client/Makefile create mode 100644 cross/influxdb2-client/PLIST create mode 100644 cross/influxdb2-client/digests diff --git a/cross/influxdb2-client/Makefile b/cross/influxdb2-client/Makefile new file mode 100644 index 00000000000..12c15d80a87 --- /dev/null +++ b/cross/influxdb2-client/Makefile @@ -0,0 +1,32 @@ +PKG_NAME = influxdb2-client +PKG_VERS = 2.7.3 +PKG_EXT = tar.gz +PKG_DIST_SITE = https://dl.influxdata.com/influxdb/releases +PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS)-linux-$(PKG_DIST_ARCH).$(PKG_EXT) + +DEPENDS = + +HOMEPAGE = https://www.influxdata.com/products/influxd/ +COMMENT = InfluxDB is an open-source time series database developed by the company InfluxData. It is written in the Go programming language for storage and retrieval of time series data in fields such as operations monitoring, application metrics, Internet of Things sensor data, and real-time analytics. It also has support for processing data from Graphite. This package is the CLI client which connects to the database. +LICENSE = Apache-2.0/MIT + +INSTALL_TARGET = influxdb2-client_install + +UNSUPPORTED_ARCHS = $(32bit_ARCHS) + +PKG_DIST_ARCH_LIST = amd64 arm64 + +include ../../mk/spksrc.archs.mk + +ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +PKG_DIST_ARCH = amd64 +else ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +PKG_DIST_ARCH = arm64 +endif + +include ../../mk/spksrc.install-resources.mk + +.PHONY: influxdb2-client_install +influxdb2-client_install: + install -m 755 -d $(STAGING_INSTALL_PREFIX)/bin + install -m 755 $(WORK_DIR)/influx $(STAGING_INSTALL_PREFIX)/bin diff --git a/cross/influxdb2-client/PLIST b/cross/influxdb2-client/PLIST new file mode 100644 index 00000000000..05d6b35a441 --- /dev/null +++ b/cross/influxdb2-client/PLIST @@ -0,0 +1 @@ +bin:bin/influx diff --git a/cross/influxdb2-client/digests b/cross/influxdb2-client/digests new file mode 100644 index 00000000000..37712c021e0 --- /dev/null +++ b/cross/influxdb2-client/digests @@ -0,0 +1,6 @@ +influxdb2-client-2.7.3-linux-amd64.tar.gz SHA1 c4731c4f6e785ab558eca2991ea05bbcb987e5ed +influxdb2-client-2.7.3-linux-amd64.tar.gz SHA256 a266f304547463b6bc7886bf45e37d252bcc0ceb3156ab8d78c52561558fbfe6 +influxdb2-client-2.7.3-linux-amd64.tar.gz MD5 10327ca140e882d330de3876e3e88af6 +influxdb2-client-2.7.3-linux-arm64.tar.gz SHA1 9cfdbaa671f2a96418ec0b099485a01f0073cd03 +influxdb2-client-2.7.3-linux-arm64.tar.gz SHA256 d5d09f5279aa32d692362cd096d002d787b3983868487e6f27379b1e205b4ba2 +influxdb2-client-2.7.3-linux-arm64.tar.gz MD5 34d565f6100295ce62ad791dd4cf43cf diff --git a/spk/influxdb/Makefile b/spk/influxdb/Makefile index 25202407997..ee8b16f40ce 100644 --- a/spk/influxdb/Makefile +++ b/spk/influxdb/Makefile @@ -3,10 +3,10 @@ SPK_VERS = 2.7.1 SPK_REV = 1 SPK_ICON = src/influxdb.png -DEPENDS = cross/influxdb2 +DEPENDS = cross/influxdb2 cross/influxdb2-client MAINTAINER = SynoCommunity -DESCRIPTION = InfluxDB is an open-source time series database developed by the company InfluxData. It is written in the Go programming language for storage and retrieval of time series data in fields such as operations monitoring, application metrics, Internet of Things sensor data, and real-time analytics. It also has support for processing data from Graphite. +DESCRIPTION = InfluxDB is an open-source time series database developed by the company InfluxData. It is written in the Go programming language for storage and retrieval of time series data in fields such as operations monitoring, application metrics, Internet of Things sensor data, and real-time analytics. It also has support for processing data from Graphite. This package includes both the database and CLI client STARTABLE = yes DISPLAY_NAME = InfluxDB CHANGELOG = "1. Created initial package" From 1af7fa2792e8cac0d7eac4f1cddf63c8a43d9c82 Mon Sep 17 00:00:00 2001 From: brakenium <22982712+brakenium@users.noreply.github.com> Date: Sun, 24 Sep 2023 11:25:22 +0000 Subject: [PATCH 03/12] Cleanup --- spk/influxdb/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/spk/influxdb/Makefile b/spk/influxdb/Makefile index ee8b16f40ce..067e1dd69ba 100644 --- a/spk/influxdb/Makefile +++ b/spk/influxdb/Makefile @@ -19,7 +19,6 @@ UNSUPPORTED_ARCHS = $(32bit_ARCHS) include ../../mk/spksrc.common.mk SERVICE_USER = auto -# SERVICE_WIZARD_SHARE = wizard_download_share SERVICE_SETUP = src/service-setup.sh SERVICE_PORT = 8086 SERVICE_PORT_TITLE = InfluxDB API From 9d0c59fffda5fb20e530a1b2d20764e4541cf4ca Mon Sep 17 00:00:00 2001 From: brakenium <22982712+brakenium@users.noreply.github.com> Date: Sun, 24 Sep 2023 11:47:31 +0000 Subject: [PATCH 04/12] Add SPK_COMMANDS --- spk/influxdb/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spk/influxdb/Makefile b/spk/influxdb/Makefile index 067e1dd69ba..0533ee2f349 100644 --- a/spk/influxdb/Makefile +++ b/spk/influxdb/Makefile @@ -18,6 +18,8 @@ UNSUPPORTED_ARCHS = $(32bit_ARCHS) include ../../mk/spksrc.common.mk +SPK_COMMANDS = bin/influx bin/influxd + SERVICE_USER = auto SERVICE_SETUP = src/service-setup.sh SERVICE_PORT = 8086 From cb160650b7856667fb05f45e94a037e9d00838e0 Mon Sep 17 00:00:00 2001 From: brakenium <22982712+brakenium@users.noreply.github.com> Date: Sun, 24 Sep 2023 18:39:36 +0000 Subject: [PATCH 05/12] Change port, disable telemetry and add wizard --- spk/influxdb/Makefile | 4 +- spk/influxdb/src/service-setup.sh | 11 +++++ spk/influxdb/src/wizard/install_uifile | 64 ++++++++++++++++++++++++++ 3 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 spk/influxdb/src/wizard/install_uifile diff --git a/spk/influxdb/Makefile b/spk/influxdb/Makefile index 0533ee2f349..8eb1def5d6a 100644 --- a/spk/influxdb/Makefile +++ b/spk/influxdb/Makefile @@ -16,13 +16,15 @@ LICENSE = Apache-2.0/MIT UNSUPPORTED_ARCHS = $(32bit_ARCHS) +WIZARDS_DIR = src/wizard/ + include ../../mk/spksrc.common.mk SPK_COMMANDS = bin/influx bin/influxd SERVICE_USER = auto SERVICE_SETUP = src/service-setup.sh -SERVICE_PORT = 8086 +SERVICE_PORT = 8085 SERVICE_PORT_TITLE = InfluxDB API # Admin link for in DSM UI diff --git a/spk/influxdb/src/service-setup.sh b/spk/influxdb/src/service-setup.sh index 78f1415b3f2..375c9dfdcda 100644 --- a/spk/influxdb/src/service-setup.sh +++ b/spk/influxdb/src/service-setup.sh @@ -2,3 +2,14 @@ SERVICE_COMMAND="${SYNOPKG_PKGDEST}/bin/influxd" SVC_BACKGROUND=yes SVC_WRITE_PID=yes SVC_CWD="${SYNOPKG_PKGVAR}" + + +service_preinst () +{ + # Set the port to 8085 in a config.yaml file + # This is the port that the web interface will be available on + cat << EOF > "${SYNOPKG_PKGVAR}"/config.yaml + http-bind-address: ":8085" + reporting-disabled: true +EOF +} \ No newline at end of file diff --git a/spk/influxdb/src/wizard/install_uifile b/spk/influxdb/src/wizard/install_uifile new file mode 100644 index 00000000000..72cfa6a7400 --- /dev/null +++ b/spk/influxdb/src/wizard/install_uifile @@ -0,0 +1,64 @@ +[ + { + "step_title": "InfluxDB admin user configuration", + "items": [ + { + "type": "textfield", + "desc": "Enter your admin username", + "subitems": [ + { + "key": "wizard_username", + "desc": "Admin username", + "validator": { + "allowBlank": false + } + } + ] + }, + { + "type": "password", + "desc": "Enter your admin password", + "subitems": [ + { + "key": "wizard_password", + "desc": "Admin password", + "validator": { + "allowBlank": false + } + } + ] + } + ] + }, + { + "step_title": "InfluxDB datastore configuration", + "items": [ + { + "type": "textfield", + "desc": "Enter your organization name", + "subitems": [ + { + "key": "wizard_org", + "desc": "Organization name", + "validator": { + "allowBlank": false + } + } + ] + }, + { + "type": "textfield", + "desc": "Enter your bucket name", + "subitems": [ + { + "key": "wizard_bucket", + "desc": "Bucket name", + "validator": { + "allowBlank": false + } + } + ] + } + ] + } +] \ No newline at end of file From e7b7419aefe780906309c674d95de144ced11612 Mon Sep 17 00:00:00 2001 From: brakenium <22982712+brakenium@users.noreply.github.com> Date: Sun, 24 Sep 2023 19:04:15 +0000 Subject: [PATCH 06/12] Change store paths --- spk/influxdb/src/service-setup.sh | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/spk/influxdb/src/service-setup.sh b/spk/influxdb/src/service-setup.sh index 375c9dfdcda..c2b6660c740 100644 --- a/spk/influxdb/src/service-setup.sh +++ b/spk/influxdb/src/service-setup.sh @@ -1,15 +1,20 @@ -SERVICE_COMMAND="${SYNOPKG_PKGDEST}/bin/influxd" +INFLUXD_CONFIG_PATH=$(SYNOPKG_PKGVAR)/config.yml +INFLUXD=${SYNOPKG_PKGDEST}/bin/influxd + +export INFLUXD_CONFIG_PATH=${INFLUXD_CONFIG_PATH} + +SERVICE_COMMAND="${INFLUXD}" SVC_BACKGROUND=yes SVC_WRITE_PID=yes SVC_CWD="${SYNOPKG_PKGVAR}" - service_preinst () { - # Set the port to 8085 in a config.yaml file - # This is the port that the web interface will be available on - cat << EOF > "${SYNOPKG_PKGVAR}"/config.yaml - http-bind-address: ":8085" + cat << EOF > "${INFLUXD_CONFIG_PATH}" + http-bind-address: ":${SERVICE_PORT}" reporting-disabled: true + bolt-path: "${SYNOPKG_PKGVAR}/.influxdbv2/influxd.bolt" + engine-path: "${SYNOPKG_PKGVAR}/.influxdbv2/engine" + sqlite-path: "${SYNOPKG_PKGVAR}/.influxdbv2/influxd.sqlite" EOF -} \ No newline at end of file +} From 8d346b560afd07ceb7986554d56e857eece5aa9a Mon Sep 17 00:00:00 2001 From: brakenium Date: Fri, 22 Dec 2023 11:38:35 +0100 Subject: [PATCH 07/12] Update and change port --- cross/influxdb2/Makefile | 8 ++++---- cross/influxdb2/digests | 12 ++++++------ spk/influxdb/Makefile | 5 +++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/cross/influxdb2/Makefile b/cross/influxdb2/Makefile index 76841f4dd1c..1bf553d7863 100644 --- a/cross/influxdb2/Makefile +++ b/cross/influxdb2/Makefile @@ -1,9 +1,9 @@ PKG_NAME = influxdb2 -PKG_VERS = 2.7.1 +PKG_VERS = 2.7.4 PKG_EXT = tar.gz PKG_DIST_SITE = https://dl.influxdata.com/influxdb/releases -PKG_DIR = $(PKG_NAME)_linux_$(PKG_DIST_ARCH) -PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS)-linux-$(PKG_DIST_ARCH).$(PKG_EXT) +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) +PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS)_linux_$(PKG_DIST_ARCH).$(PKG_EXT) DEPENDS = @@ -30,4 +30,4 @@ include ../../mk/spksrc.install-resources.mk .PHONY: influxdb2_install influxdb2_install: install -m 755 -d $(STAGING_INSTALL_PREFIX)/bin - install -m 755 $(WORK_DIR)/$(PKG_DIR)/influxd $(STAGING_INSTALL_PREFIX)/bin + install -m 755 $(WORK_DIR)/$(PKG_DIR)/usr/bin/influxd $(STAGING_INSTALL_PREFIX)/bin diff --git a/cross/influxdb2/digests b/cross/influxdb2/digests index c474889f018..15bda62638e 100644 --- a/cross/influxdb2/digests +++ b/cross/influxdb2/digests @@ -1,6 +1,6 @@ -influxdb2-2.7.1-linux-amd64.tar.gz SHA1 d1ebf025f61fc4a1a12218d16c9ebcd889284e74 -influxdb2-2.7.1-linux-amd64.tar.gz SHA256 e5ecfc15c35af55641ffc92680ad0fb043aa51a942944252e214e2a551c60ebb -influxdb2-2.7.1-linux-amd64.tar.gz MD5 ca95feb9aa140ba2d857cd9cc0260c04 -influxdb2-2.7.1-linux-arm64.tar.gz SHA1 2554ca92ff7da917d0c544a63ef52f29ca62cb6b -influxdb2-2.7.1-linux-arm64.tar.gz SHA256 b88989dae0c802fdee499fa07aae837139da3c786293c74e9d7c46b8460510d4 -influxdb2-2.7.1-linux-arm64.tar.gz MD5 85c8dc2d01a8b6eaa9ec06f832f4e694 +influxdb2-2.7.4_linux_amd64.tar.gz SHA1 7990961fc4ca66ad76e4c14798868be308a0a292 +influxdb2-2.7.4_linux_amd64.tar.gz SHA256 2a2ccca52e42fb483c93ac3672cb264ffb804fc0be33209e5d954dd755146288 +influxdb2-2.7.4_linux_amd64.tar.gz MD5 704766d07383e439727f6f6731f2c123 +influxdb2-2.7.4_linux_arm64.tar.gz SHA1 3152e617faf43928889214a192e1a117f2f40d77 +influxdb2-2.7.4_linux_arm64.tar.gz SHA256 bf7386a1279f3d7eb96dd5b54e80c7d2a541facf60689e78913ae2f8f4503616 +influxdb2-2.7.4_linux_arm64.tar.gz MD5 63e8de49918eff95d2a78c3f13e05fa6 diff --git a/spk/influxdb/Makefile b/spk/influxdb/Makefile index 8eb1def5d6a..2720b91e7c4 100644 --- a/spk/influxdb/Makefile +++ b/spk/influxdb/Makefile @@ -1,5 +1,5 @@ SPK_NAME = influxdb -SPK_VERS = 2.7.1 +SPK_VERS = 2.7.4 SPK_REV = 1 SPK_ICON = src/influxdb.png @@ -14,6 +14,7 @@ CHANGELOG = "1. Created initial package" HOMEPAGE = https://www.influxdata.com/products/influxdb/ LICENSE = Apache-2.0/MIT +# There does not exist a 32 bit package UNSUPPORTED_ARCHS = $(32bit_ARCHS) WIZARDS_DIR = src/wizard/ @@ -24,7 +25,7 @@ SPK_COMMANDS = bin/influx bin/influxd SERVICE_USER = auto SERVICE_SETUP = src/service-setup.sh -SERVICE_PORT = 8085 +SERVICE_PORT = 8186 SERVICE_PORT_TITLE = InfluxDB API # Admin link for in DSM UI From b87de91588f79527e98ac5385b6ebc1e37186003 Mon Sep 17 00:00:00 2001 From: brakenium Date: Fri, 22 Dec 2023 11:45:13 +0100 Subject: [PATCH 08/12] Remove wizard --- spk/influxdb/Makefile | 2 +- spk/influxdb/src/wizard/install_uifile | 64 -------------------------- 2 files changed, 1 insertion(+), 65 deletions(-) delete mode 100644 spk/influxdb/src/wizard/install_uifile diff --git a/spk/influxdb/Makefile b/spk/influxdb/Makefile index 2720b91e7c4..9090c9fb362 100644 --- a/spk/influxdb/Makefile +++ b/spk/influxdb/Makefile @@ -17,7 +17,7 @@ LICENSE = Apache-2.0/MIT # There does not exist a 32 bit package UNSUPPORTED_ARCHS = $(32bit_ARCHS) -WIZARDS_DIR = src/wizard/ +# WIZARDS_DIR = src/wizard/ include ../../mk/spksrc.common.mk diff --git a/spk/influxdb/src/wizard/install_uifile b/spk/influxdb/src/wizard/install_uifile deleted file mode 100644 index 72cfa6a7400..00000000000 --- a/spk/influxdb/src/wizard/install_uifile +++ /dev/null @@ -1,64 +0,0 @@ -[ - { - "step_title": "InfluxDB admin user configuration", - "items": [ - { - "type": "textfield", - "desc": "Enter your admin username", - "subitems": [ - { - "key": "wizard_username", - "desc": "Admin username", - "validator": { - "allowBlank": false - } - } - ] - }, - { - "type": "password", - "desc": "Enter your admin password", - "subitems": [ - { - "key": "wizard_password", - "desc": "Admin password", - "validator": { - "allowBlank": false - } - } - ] - } - ] - }, - { - "step_title": "InfluxDB datastore configuration", - "items": [ - { - "type": "textfield", - "desc": "Enter your organization name", - "subitems": [ - { - "key": "wizard_org", - "desc": "Organization name", - "validator": { - "allowBlank": false - } - } - ] - }, - { - "type": "textfield", - "desc": "Enter your bucket name", - "subitems": [ - { - "key": "wizard_bucket", - "desc": "Bucket name", - "validator": { - "allowBlank": false - } - } - ] - } - ] - } -] \ No newline at end of file From c716069d68cecb93fe9739390327d71c733b704f Mon Sep 17 00:00:00 2001 From: brakenium Date: Fri, 22 Dec 2023 12:56:55 +0100 Subject: [PATCH 09/12] Fix config file --- spk/influxdb/src/service-setup.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/spk/influxdb/src/service-setup.sh b/spk/influxdb/src/service-setup.sh index c2b6660c740..63f78274d09 100644 --- a/spk/influxdb/src/service-setup.sh +++ b/spk/influxdb/src/service-setup.sh @@ -1,4 +1,4 @@ -INFLUXD_CONFIG_PATH=$(SYNOPKG_PKGVAR)/config.yml +INFLUXD_CONFIG_PATH=${SYNOPKG_PKGVAR}/config.yml INFLUXD=${SYNOPKG_PKGDEST}/bin/influxd export INFLUXD_CONFIG_PATH=${INFLUXD_CONFIG_PATH} @@ -8,13 +8,14 @@ SVC_BACKGROUND=yes SVC_WRITE_PID=yes SVC_CWD="${SYNOPKG_PKGVAR}" -service_preinst () +service_postinst () { cat << EOF > "${INFLUXD_CONFIG_PATH}" - http-bind-address: ":${SERVICE_PORT}" - reporting-disabled: true - bolt-path: "${SYNOPKG_PKGVAR}/.influxdbv2/influxd.bolt" - engine-path: "${SYNOPKG_PKGVAR}/.influxdbv2/engine" - sqlite-path: "${SYNOPKG_PKGVAR}/.influxdbv2/influxd.sqlite" +http-bind-address: ":${SERVICE_PORT}" +reporting-disabled: true +bolt-path: "${SYNOPKG_PKGVAR}/.influxdbv2/influxd.bolt" +engine-path: "${SYNOPKG_PKGVAR}/.influxdbv2/engine" +sqlite-path: "${SYNOPKG_PKGVAR}/.influxdbv2/influxd.sqlite" + EOF } From 2587c4f575e29c14273fe730f279725ba9a0908a Mon Sep 17 00:00:00 2001 From: brakenium Date: Wed, 27 Dec 2023 14:39:46 +0100 Subject: [PATCH 10/12] Do not hardcode config file --- spk/influxdb/Makefile | 8 ++++++++ spk/influxdb/src/config.yml | 5 +++++ spk/influxdb/src/service-setup.sh | 14 ++++++-------- 3 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 spk/influxdb/src/config.yml diff --git a/spk/influxdb/Makefile b/spk/influxdb/Makefile index 9090c9fb362..a970c528845 100644 --- a/spk/influxdb/Makefile +++ b/spk/influxdb/Makefile @@ -31,4 +31,12 @@ SERVICE_PORT_TITLE = InfluxDB API # Admin link for in DSM UI ADMIN_PORT = $(SERVICE_PORT) +POST_STRIP_TARGET = influxdb_extra_install + include ../../mk/spksrc.spk.mk + +# Install src/config.yml to var +.PHONY: influxdb_extra_install +influxdb_extra_install: + install -m 755 -d $(STAGING_DIR)/var + install -m 644 src/config.yml $(STAGING_DIR)/var/config.yml diff --git a/spk/influxdb/src/config.yml b/spk/influxdb/src/config.yml new file mode 100644 index 00000000000..c6f94a33cf2 --- /dev/null +++ b/spk/influxdb/src/config.yml @@ -0,0 +1,5 @@ +http-bind-address: ":@SERVICE_PORT@" +reporting-disabled: true +bolt-path: "@SYNOPKG_PKGVAR@/.influxdbv2/influxd.bolt" +engine-path: "@SYNOPKG_PKGVAR@/.influxdbv2/engine" +sqlite-path: "@SYNOPKG_PKGVAR@/.influxdbv2/influxd.sqlite" \ No newline at end of file diff --git a/spk/influxdb/src/service-setup.sh b/spk/influxdb/src/service-setup.sh index 63f78274d09..5386627816e 100644 --- a/spk/influxdb/src/service-setup.sh +++ b/spk/influxdb/src/service-setup.sh @@ -10,12 +10,10 @@ SVC_CWD="${SYNOPKG_PKGVAR}" service_postinst () { - cat << EOF > "${INFLUXD_CONFIG_PATH}" -http-bind-address: ":${SERVICE_PORT}" -reporting-disabled: true -bolt-path: "${SYNOPKG_PKGVAR}/.influxdbv2/influxd.bolt" -engine-path: "${SYNOPKG_PKGVAR}/.influxdbv2/engine" -sqlite-path: "${SYNOPKG_PKGVAR}/.influxdbv2/influxd.sqlite" - -EOF + if [ "${SYNOPKG_PKG_STATUS}" = "INSTALL" ]; then + # Edit the configuration according to the wizard + sed -e "s|@SERVICE_PORT@|${SERVICE_PORT}|g" \ + -e "s|@SYNOPKG_PKGVAR@|${SYNOPKG_PKGVAR}|g" \ + -i "${INFLUXD_CONFIG_PATH}" + fi } From f5363d02bb3450833f634488d0511e2ffbc40b37 Mon Sep 17 00:00:00 2001 From: brakenium <22982712+brakenium@users.noreply.github.com> Date: Mon, 1 Jan 2024 12:16:53 +0100 Subject: [PATCH 11/12] Update spk/influxdb/src/config.yml Co-authored-by: hgy59 --- spk/influxdb/src/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spk/influxdb/src/config.yml b/spk/influxdb/src/config.yml index c6f94a33cf2..8aecc4894eb 100644 --- a/spk/influxdb/src/config.yml +++ b/spk/influxdb/src/config.yml @@ -1,5 +1,5 @@ -http-bind-address: ":@SERVICE_PORT@" +http-bind-address: ":8186" reporting-disabled: true -bolt-path: "@SYNOPKG_PKGVAR@/.influxdbv2/influxd.bolt" -engine-path: "@SYNOPKG_PKGVAR@/.influxdbv2/engine" -sqlite-path: "@SYNOPKG_PKGVAR@/.influxdbv2/influxd.sqlite" \ No newline at end of file +bolt-path: "/var/packages/influxdb/var/.influxdbv2/influxd.bolt" +engine-path: "/var/packages/influxdb/var/.influxdbv2/engine" +sqlite-path: "/var/packages/influxdb/var/.influxdbv2/influxd.sqlite" \ No newline at end of file From 81794734521ef7574aec93f40b93f7fd168be7f4 Mon Sep 17 00:00:00 2001 From: brakenium Date: Mon, 1 Jan 2024 12:19:18 +0100 Subject: [PATCH 12/12] Remove postinstall --- spk/influxdb/src/service-setup.sh | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/spk/influxdb/src/service-setup.sh b/spk/influxdb/src/service-setup.sh index 5386627816e..297d876f570 100644 --- a/spk/influxdb/src/service-setup.sh +++ b/spk/influxdb/src/service-setup.sh @@ -7,13 +7,3 @@ SERVICE_COMMAND="${INFLUXD}" SVC_BACKGROUND=yes SVC_WRITE_PID=yes SVC_CWD="${SYNOPKG_PKGVAR}" - -service_postinst () -{ - if [ "${SYNOPKG_PKG_STATUS}" = "INSTALL" ]; then - # Edit the configuration according to the wizard - sed -e "s|@SERVICE_PORT@|${SERVICE_PORT}|g" \ - -e "s|@SYNOPKG_PKGVAR@|${SYNOPKG_PKGVAR}|g" \ - -i "${INFLUXD_CONFIG_PATH}" - fi -}