summaryrefslogtreecommitdiffstats
path: root/bin-utils
diff options
context:
space:
mode:
authorVlad Glagolev2021-07-02 03:56:56 +0000
committerVlad Glagolev2021-07-02 03:56:56 +0000
commitebe3ca12967844f0d348fd952b35c98af704919c (patch)
tree05e127b4811b877197e64c34532ba6f29912ccd0 /bin-utils
parentf3542806204174eefa9818a8e251481f0a52f20e (diff)
consul-template-bin: new spell, template rendering and notifications with Consul
Diffstat (limited to 'bin-utils')
-rwxr-xr-xbin-utils/consul-template-bin/BUILD1
-rwxr-xr-xbin-utils/consul-template-bin/DEPENDS1
-rwxr-xr-xbin-utils/consul-template-bin/DETAILS28
-rwxr-xr-xbin-utils/consul-template-bin/FINAL4
-rw-r--r--bin-utils/consul-template-bin/HISTORY3
-rwxr-xr-xbin-utils/consul-template-bin/INSTALL14
-rwxr-xr-xbin-utils/consul-template-bin/PRE_BUILD4
-rw-r--r--bin-utils/consul-template-bin/files/default.conf13
-rwxr-xr-xbin-utils/consul-template-bin/init.d/consul-template35
-rw-r--r--bin-utils/consul-template-bin/init.d/consul-template.conf3
10 files changed, 106 insertions, 0 deletions
diff --git a/bin-utils/consul-template-bin/BUILD b/bin-utils/consul-template-bin/BUILD
new file mode 100755
index 0000000..ec83160
--- /dev/null
+++ b/bin-utils/consul-template-bin/BUILD
@@ -0,0 +1 @@
+create_account consul-template
diff --git a/bin-utils/consul-template-bin/DEPENDS b/bin-utils/consul-template-bin/DEPENDS
new file mode 100755
index 0000000..f7c362b
--- /dev/null
+++ b/bin-utils/consul-template-bin/DEPENDS
@@ -0,0 +1 @@
+depends unzip
diff --git a/bin-utils/consul-template-bin/DETAILS b/bin-utils/consul-template-bin/DETAILS
new file mode 100755
index 0000000..7c3365b
--- /dev/null
+++ b/bin-utils/consul-template-bin/DETAILS
@@ -0,0 +1,28 @@
+ SPELL=consul-template-bin
+ SPELLX=${SPELL/-bin/}
+ VERSION=0.26.0
+if [[ "${SMGL_COMPAT_ARCHS[1]}" == "x86_64" || "${SMGL_COMPAT_ARCHS[1]}" == "em64t" ]]; then
+ ARCH=amd64
+ SOURCE_HASH=sha256:d4b1d8dc46289a4bdbb73301cd1dbdd9b41eddcab4103f006c5bf9637f7e4381:UPSTREAM_HASH
+else
+ ARCH=386
+ SOURCE_HASH=sha256:5e82abd3e1516970d86e81d4acc4c929183c7a1fc55b0b6b01ef3b56a3b5d183:UPSTREAM_HASH
+fi
+ SOURCE=${SPELLX}_${VERSION}_linux_${ARCH}.zip
+ SOURCE_URL[0]=https://releases.hashicorp.com/${SPELLX}/${VERSION}/${SOURCE}
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
+ GATHER_DOCS=off
+ WEB_SITE=https://github.com/hashicorp/consul-template
+ ENTERED=20210701
+ LICENSE[0]=MPL
+ SHORT="template rendering and notifications with Consul"
+cat << EOF
+This is a binary version of consul-template.
+
+This project provides a convenient way to populate values from Consul into the
+file system using the consul-template daemon.
+
+The daemon consul-template queries a Consul or Vault cluster and updates any
+number of specified templates on the file system. As an added bonus, it can
+optionally run arbitrary commands when the update process completes.
+EOF
diff --git a/bin-utils/consul-template-bin/FINAL b/bin-utils/consul-template-bin/FINAL
new file mode 100755
index 0000000..1571059
--- /dev/null
+++ b/bin-utils/consul-template-bin/FINAL
@@ -0,0 +1,4 @@
+# binaries require /lib64
+if [ ! -d "${INSTALL_ROOT}/lib64" ]; then
+ ln -vsf "${TRACK_ROOT}/lib" "${INSTALL_ROOT}/lib64"
+fi
diff --git a/bin-utils/consul-template-bin/HISTORY b/bin-utils/consul-template-bin/HISTORY
new file mode 100644
index 0000000..8615c93
--- /dev/null
+++ b/bin-utils/consul-template-bin/HISTORY
@@ -0,0 +1,3 @@
+2021-07-01 Vlad Glagolev <stealth@sourcemage.org>
+ * DETAILS, DEPENDS, {PRE_,}BUILD, INSTALL, init.d, files: created
+ spell, version 0.26.0
diff --git a/bin-utils/consul-template-bin/INSTALL b/bin-utils/consul-template-bin/INSTALL
new file mode 100755
index 0000000..371d6e4
--- /dev/null
+++ b/bin-utils/consul-template-bin/INSTALL
@@ -0,0 +1,14 @@
+# /usr/bin is handled by smgl-fhs
+install -vm 755 consul-template "${INSTALL_ROOT}/usr/bin" &&
+
+local config_dir="${INSTALL_ROOT}/etc/${SPELLX}.d" &&
+
+if [ ! -d "${config_dir}" ]; then
+ install -vm 750 -o root -g consul-template -d "${config_dir}"
+fi &&
+
+install_config_file "${SPELL_DIRECTORY}/files/default.conf" \
+ "${config_dir}/default.conf" &&
+
+chown root:consul-template "${config_dir}/default.conf" &&
+chmod 0640 "${config_dir}/default.conf"
diff --git a/bin-utils/consul-template-bin/PRE_BUILD b/bin-utils/consul-template-bin/PRE_BUILD
new file mode 100755
index 0000000..5416781
--- /dev/null
+++ b/bin-utils/consul-template-bin/PRE_BUILD
@@ -0,0 +1,4 @@
+mk_source_dir "${SOURCE_DIRECTORY}" &&
+cd "${SOURCE_DIRECTORY}" &&
+
+unpack_file ''
diff --git a/bin-utils/consul-template-bin/files/default.conf b/bin-utils/consul-template-bin/files/default.conf
new file mode 100644
index 0000000..4c6d82f
--- /dev/null
+++ b/bin-utils/consul-template-bin/files/default.conf
@@ -0,0 +1,13 @@
+# Minimal configuration file for consul-template.
+
+consul = "127.0.0.1:8500"
+
+syslog {
+ enabled = true
+ facility = "DAEMON"
+}
+
+template {
+ source = "/path/to/template.ctmpl"
+ destination = "/path/to/destination"
+}
diff --git a/bin-utils/consul-template-bin/init.d/consul-template b/bin-utils/consul-template-bin/init.d/consul-template
new file mode 100755
index 0000000..a188860
--- /dev/null
+++ b/bin-utils/consul-template-bin/init.d/consul-template
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+. /etc/sysconfig/consul-template
+
+PROGRAM=/usr/bin/consul-template
+PIDFILE=/var/run/consul-template/consul-template.pid
+ARGS="-config=/etc/consul-template.d -pid-file=$PIDFILE $CONSUL_TEMPLATE_ARGS"
+RUNLEVEL=3
+NEEDS="+network"
+
+start() {
+ echo "Starting $NAME..."
+
+ TIMEOUT=3
+ PIDFILE_DIR=$(dirname $PIDFILE)
+
+ [ -d $PIDFILE_DIR ] || mkdir $PIDFILE_DIR && chown consul-template:consul-template $PIDFILE_DIR
+
+ su consul-template -s /bin/sh -c "$PROGRAM $ARGS &> /dev/null" &
+ ppid=$!
+
+ sleep $TIMEOUT && pgrep -P $ppid > /dev/null || wait $ppid
+
+ evaluate_retval
+}
+
+stop() {
+ echo "Stopping $NAME..."
+
+ kill -INT $(cat ${PIDFILE} 2> /dev/null) &> /dev/null
+
+ evaluate_retval
+}
+
+. /etc/init.d/smgl_init
diff --git a/bin-utils/consul-template-bin/init.d/consul-template.conf b/bin-utils/consul-template-bin/init.d/consul-template.conf
new file mode 100644
index 0000000..6a8131d
--- /dev/null
+++ b/bin-utils/consul-template-bin/init.d/consul-template.conf
@@ -0,0 +1,3 @@
+# For the arguments and description see ``consul-template --help''
+
+CONSUL_TEMPLATE_ARGS=""