From c8305119b87dac6ed3ce5565a0decc76d272895f Mon Sep 17 00:00:00 2001 From: Stefan Foerster Date: Wed, 13 Feb 2019 11:37:25 +0100 Subject: [PATCH] add deploy directory Contains a quick and dirty solution to build with fpm. --- deploy/before-install.sh | 11 +++++++++++ deploy/build.sh | 22 ++++++++++++++++++++++ deploy/pydtm.env | 9 +++++++++ deploy/pydtm.service | 12 ++++++++++++ 4 files changed, 54 insertions(+) create mode 100644 deploy/before-install.sh create mode 100755 deploy/build.sh create mode 100644 deploy/pydtm.env create mode 100644 deploy/pydtm.service diff --git a/deploy/before-install.sh b/deploy/before-install.sh new file mode 100644 index 0000000..1c53533 --- /dev/null +++ b/deploy/before-install.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +name=pydtm +getent group $name >/dev/null 2>&1 \ + || groupadd -r $name >/dev/null 2>&1 \ + || true +getent passwd $name >/dev/null 2>&1 \ + || useradd -g $name -c "$name service" \ + -d /var/lib/$name -M -s /sbin/nologin -r \ + -G video $name >/dev/null 2>&1 \ + || true diff --git a/deploy/build.sh b/deploy/build.sh new file mode 100755 index 0000000..3561acb --- /dev/null +++ b/deploy/build.sh @@ -0,0 +1,22 @@ +#/bin/bash + +release=${RELEASE:-0} +# TODO: read from git tags? +if [ -z "$VERSION" ]; then + echo '$VERSION not set, exiting' 1>&2 + exit 1 +fi + +# build root filesystem +root=$(mktemp -d) +install -m 0755 -d $root/{lib/systemd/system,etc,usr/bin,var/lib/pydtm} +install -m 0644 pydtm.service $root/lib/systemd/system/ +install -m 0644 pydtm.env $root/etc/ +install -m 0755 -T ../pydtm.py $root/usr/bin/pydtm + +# build package +fpm -s dir -t deb -n pydtm -v $VERSION-$release -C $root \ + --description "carbon API server" \ + --before-install before-install.sh \ + -d python \ + etc lib usr var diff --git a/deploy/pydtm.env b/deploy/pydtm.env new file mode 100644 index 0000000..f0ec4e6 --- /dev/null +++ b/deploy/pydtm.env @@ -0,0 +1,9 @@ +# Environment File for pydtm + +# PYDTM_ADAPTER=0 +# PYDTM_CARBON=localhost:2003 +# PYDTM_DEBUG is not set by default +# PYDTM_FREQUENCIES=546:256,554:256,562:64,650:64 +# PYDTM_PREFIX=docsis +# PDTM_STEP=60 +# PYDTM_TUNER=0 diff --git a/deploy/pydtm.service b/deploy/pydtm.service new file mode 100644 index 0000000..277ec67 --- /dev/null +++ b/deploy/pydtm.service @@ -0,0 +1,12 @@ +[Unit] +Description=pydtm - Python (Euro)DOCSIS Traffic Meter +After=syslog.target network.target + +[Service] +User=pydtm +EnvironmentFile=/etc/pydtm.env +ExecStart=/usr/bin/pydtm +Restart=on-failure + +[Install] +WantedBy=multi-user.target