[PATCH 2/2] fff-alfred-monitoring-proxy: add package

Fabian Bläse fabian at blaese.de
Sa Aug 11 18:27:25 CEST 2018


Paar Anmerkungen inline.

Fabian

> On 11. Feb 2018, at 21:46, Tim Niemeyer <tim at tn-x.org> wrote:
> 
> From: Steffen Pankratz <kratz00 at gmx.de>
> 
> CC: kratz00 at gmx.de
> Signed-off-by: Tim Niemeyer <tim at tn-x.org>
> - Changed subject
> - Changed curl parameters
> - Added firewall rule
> - Configure alfred to be master
> - Add fff-nodewatcher as dep, because we use the alfred config
> Signed-off-by: Fabian Bläse <fabian at blaese.de>
> - Fix alfred master mode introduced by packaging alfred
> - Adjust monitoring-proxy waittime to suggestion
> 
> ---
> 
> .../fff/fff-alfred-monitoring-proxy/Makefile       | 32 ++++++++++++++++++++++
> .../files/etc/uci-defaults/52-alfred-master        |  6 ++++
> .../files/usr/lib/filewall.d/06-enable-mc-out      |  1 +
> .../usr/lib/micron.d/fff-alfred-monitoring-proxy   |  1 +
> .../files/usr/sbin/alfred-monitoring-proxy         | 10 +++++++
> 5 files changed, 50 insertions(+)
> create mode 100644 src/packages/fff/fff-alfred-monitoring-proxy/Makefile
> create mode 100755 src/packages/fff/fff-alfred-monitoring-proxy/files/etc/uci-defaults/52-alfred-master
> create mode 100644 src/packages/fff/fff-alfred-monitoring-proxy/files/usr/lib/filewall.d/06-enable-mc-out
> create mode 100644 src/packages/fff/fff-alfred-monitoring-proxy/files/usr/lib/micron.d/fff-alfred-monitoring-proxy
> create mode 100755 src/packages/fff/fff-alfred-monitoring-proxy/files/usr/sbin/alfred-monitoring-proxy
> 
> diff --git a/src/packages/fff/fff-alfred-monitoring-proxy/Makefile b/src/packages/fff/fff-alfred-monitoring-proxy/Makefile
> new file mode 100644
> index 0000000..424dd58
> --- /dev/null
> +++ b/src/packages/fff/fff-alfred-monitoring-proxy/Makefile
> @@ -0,0 +1,32 @@
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=fff-alfred-monitoring-proxy
> +PKG_VERSION:=0.0.1
> +PKG_RELEASE:=1
> +
> +PKG_BUILD_DIR:=$(BUILD_DIR)/fff-alfred-monitoring-proxy
> +
> +include $(INCLUDE_DIR)/package.mk
> +
> +define Package/fff-alfred-monitoring-proxy
> +    SECTION:=base
> +    CATEGORY:=Freifunk
> +    TITLE:= Freifunk-Franken Alfred-Monitoring-Proxy
> +    URL:=https://www.freifunk-franken.de/
> +    DEPENDS:=+micrond +fff-random +curl +alfred-json +fff-nodewatcher
> +endef
> +
> +define Package/fff-alfred-monitoring-proxy/description
> + The Alfred-Monitoring-Proxy is used
> + to send node status information to https://monitoring.freifunk-franken.de/
> +endef
> +
> +define Build/Prepare
> +    echo "all: " > $(PKG_BUILD_DIR)/Makefile
> +endef
> +
> +define Package/fff-alfred-monitoring-proxy/install
> +    $(CP) ./files/* $(1)/
> +endef
> +
> +$(eval $(call BuildPackage,fff-alfred-monitoring-proxy))
> diff --git a/src/packages/fff/fff-alfred-monitoring-proxy/files/etc/uci-defaults/52-alfred-master b/src/packages/fff/fff-alfred-monitoring-proxy/files/etc/uci-defaults/52-alfred-master
> new file mode 100755
> index 0000000..bf76a16
> --- /dev/null
> +++ b/src/packages/fff/fff-alfred-monitoring-proxy/files/etc/uci-defaults/52-alfred-master
> @@ -0,0 +1,6 @@
> +#!/bin/sh
> +
> +uci -q set "alfred.alfred.mode=master"
> +
> +uci -q commit alfred
> +
> diff --git a/src/packages/fff/fff-alfred-monitoring-proxy/files/usr/lib/filewall.d/06-enable-mc-out b/src/packages/fff/fff-alfred-monitoring-proxy/files/usr/lib/filewall.d/06-enable-mc-out
> new file mode 100644
> index 0000000..15905de
> --- /dev/null
> +++ b/src/packages/fff/fff-alfred-monitoring-proxy/files/usr/lib/filewall.d/06-enable-mc-out
> @@ -0,0 +1 @@
> +ebtables -P MULTICAST_OUT RETURN
Das habe ich bisher nicht getestet, da ich in meinen Builds die Firewall komplett deaktiviert habe.

> diff --git a/src/packages/fff/fff-alfred-monitoring-proxy/files/usr/lib/micron.d/fff-alfred-monitoring-proxy b/src/packages/fff/fff-alfred-monitoring-proxy/files/usr/lib/micron.d/fff-alfred-monitoring-proxy
> new file mode 100644
> index 0000000..8792b0c
> --- /dev/null
> +++ b/src/packages/fff/fff-alfred-monitoring-proxy/files/usr/lib/micron.d/fff-alfred-monitoring-proxy
> @@ -0,0 +1 @@
> +*/5 * * * * sleep $(/usr/bin/random 70 85); /usr/sbin/alfred-monitoring-proxy
> \ No newline at end of file
Da sollte ein Newline hin.

> diff --git a/src/packages/fff/fff-alfred-monitoring-proxy/files/usr/sbin/alfred-monitoring-proxy b/src/packages/fff/fff-alfred-monitoring-proxy/files/usr/sbin/alfred-monitoring-proxy
> new file mode 100755
> index 0000000..cbc137a
> --- /dev/null
> +++ b/src/packages/fff/fff-alfred-monitoring-proxy/files/usr/sbin/alfred-monitoring-proxy
> @@ -0,0 +1,10 @@
> +#!/bin/ash
> +
> +api_url="https://monitoring.freifunk-franken.de/api/alfred"
> +fetch_ids="64"
> +
> +for fetch_id in $fetch_ids
> +do
> +    data=$(alfred-json -r "$fetch_id”)
Bei sehr vielen Daten platzt irgendwann die maximale cmdline-Länge.
Man könnte das stattdessen in ein $(mktemp) reinschreiben und danach wieder löschen.

> +    curl -k -v -H "Content-type: application/json; charset=UTF-8" -X POST --data "{\"$fetch_id\": $data}" $api_url
> +done
> --
> 2.11.0
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: Message signed with OpenPGP
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20180811/028e8425/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev