diff --git a/.circleci/config.yml b/.circleci/config.yml index d9ef2f365419044c168b644fd5d6294addcbc998..f52f8da3be9cc5a3d2c06a8da785d8e1197445c2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -49,6 +49,8 @@ workflows: - "influxdb/1.10/meta" - "influxdb/1.11/data" - "influxdb/1.11/meta" + - "influxdb/1.12/data" + - "influxdb/1.12/meta" jobs: build: diff --git a/influxdb/1.12/Dockerfile b/influxdb/1.12/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..715e78e6d70ecfd0125692061fe1b3570c5c7afd --- /dev/null +++ b/influxdb/1.12/Dockerfile @@ -0,0 +1,40 @@ +FROM buildpack-deps:bookworm-curl + +RUN addgroup --system --gid 1500 influxdb && \ + adduser --system --uid 1500 --ingroup influxdb --home /var/lib/influxdb --shell /bin/false influxdb + +ARG INFLUXDB_VERSION=1.12.0 +RUN set -x && \ + case "$(dpkg --print-architecture)" in \ + amd64) ARCH=amd64 ;; \ + arm64) ARCH=arm64 ;; \ + *) echo 'Unsupported Architecture' ; exit 1 ;; \ + esac && \ + curl -fsSLO "https://dl.influxdata.com/influxdb/releases/v${INFLUXDB_VERSION}/influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb.asc" \ + -fsSLO "https://dl.influxdata.com/influxdb/releases/v${INFLUXDB_VERSION}/influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb" && \ + # Verify InfluxDB 1.X OSS \ + gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys \ + # InfluxData Package Signing Key <support@influxdata.com> \ + 9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E && \ + gpg --batch --verify \ + "influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb.asc" \ + "influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb" && \ + # Install InfluxDB 1.X OSS \ + export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && \ + apt-get install --no-install-recommends -y \ + "/influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb" && \ + # Cleanup \ + rm -r "influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb.asc" \ + "influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb" \ + /var/lib/apt/lists/* + +COPY influxdb.conf /etc/influxdb/influxdb.conf + +EXPOSE 8086 +VOLUME /var/lib/influxdb +COPY entrypoint.sh /entrypoint.sh +COPY init-influxdb.sh /init-influxdb.sh +USER influxdb +ENTRYPOINT ["/entrypoint.sh"] +CMD ["influxd"] diff --git a/influxdb/1.12/alpine/Dockerfile b/influxdb/1.12/alpine/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..642368357b561078fa09efbfe917cf3e965dc1cb --- /dev/null +++ b/influxdb/1.12/alpine/Dockerfile @@ -0,0 +1,50 @@ +FROM alpine:3.21 + +RUN apk add --no-cache bash ca-certificates tzdata && \ + update-ca-certificates + +ARG INFLUXDB_VERSION=1.12.0 +RUN apk add --no-cache --virtual .build-deps curl gnupg tar && \ + case "$(apk --print-arch)" in \ + x86_64) ARCH=amd64 ;; \ + aarch64) ARCH=arm64 ;; \ + *) echo 'Unsupported Architecture' ; exit 1 ;; \ + esac && \ + curl -fsSLO "https://dl.influxdata.com/influxdb/releases/v${INFLUXDB_VERSION}/influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz.asc" \ + -fsSLO "https://dl.influxdata.com/influxdb/releases/v${INFLUXDB_VERSION}/influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" && \ + # Verify InfluxDB 1.X OSS \ + gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys \ + # InfluxData Package Signing Key <support@influxdata.com> \ + 9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E && \ + gpg --batch --verify \ + "influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz.asc" \ + "influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" && \ + # Install InfluxDB 1.X OSS \ + tar -xvf "influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" \ + -C / --strip-components 1 --wildcards \ + 'influxdb-*/usr/bin/influx' \ + 'influxdb-*/usr/bin/influx_inspect' \ + 'influxdb-*/usr/bin/influxd' && \ + # Cleanup \ + rm "influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz.asc" \ + "influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" && \ + apk del .build-deps + +COPY influxdb.conf /etc/influxdb/influxdb.conf + +RUN addgroup --system --gid 1500 influxdb && \ + adduser --system --uid 1500 --ingroup influxdb --home /var/lib/influxdb --shell /bin/false influxdb && \ + mkdir -p /var/lib/influxdb && \ + mkdir -p /var/log/influxdb && \ + chown influxdb:influxdb /var/lib/influxdb && \ + chown influxdb:influxdb /var/log/influxdb && \ + chmod 0750 /var/lib/influxdb && \ + chmod 0750 /var/log/influxdb + +EXPOSE 8086 +VOLUME /var/lib/influxdb +COPY entrypoint.sh /entrypoint.sh +COPY init-influxdb.sh /init-influxdb.sh +USER influxdb +ENTRYPOINT ["/entrypoint.sh"] +CMD ["influxd"] diff --git a/influxdb/1.12/alpine/entrypoint.sh b/influxdb/1.12/alpine/entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..26e6bd7ad47ce2456926e6bb98adf54410a270bd --- /dev/null +++ b/influxdb/1.12/alpine/entrypoint.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e + +if [ "${1:0:1}" = '-' ]; then + set -- influxd "$@" +fi + +if [ "$1" = 'influxd' ]; then + /init-influxdb.sh "${@:2}" +fi + +exec "$@" diff --git a/influxdb/1.12/alpine/influxdb.conf b/influxdb/1.12/alpine/influxdb.conf new file mode 100644 index 0000000000000000000000000000000000000000..986803af3bada7b8df7e59f3798d7dfad4661f99 --- /dev/null +++ b/influxdb/1.12/alpine/influxdb.conf @@ -0,0 +1,7 @@ +[meta] + dir = "/var/lib/influxdb/meta" + +[data] + dir = "/var/lib/influxdb/data" + engine = "tsm1" + wal-dir = "/var/lib/influxdb/wal" diff --git a/influxdb/1.12/alpine/init-influxdb.sh b/influxdb/1.12/alpine/init-influxdb.sh new file mode 100755 index 0000000000000000000000000000000000000000..3f7349a084ca13944772112c529879ffc3d9f3ac --- /dev/null +++ b/influxdb/1.12/alpine/init-influxdb.sh @@ -0,0 +1,128 @@ +#!/bin/bash +set -e + +AUTH_ENABLED="$INFLUXDB_HTTP_AUTH_ENABLED" + +if [ -z "$AUTH_ENABLED" ]; then + AUTH_ENABLED="$(grep -iE '^\s*auth-enabled\s*=\s*true' /etc/influxdb/influxdb.conf | grep -io 'true' | cat)" +else + AUTH_ENABLED="$(echo "$INFLUXDB_HTTP_AUTH_ENABLED" | grep -io 'true' | cat)" +fi + +INIT_USERS=$([ ! -z "$AUTH_ENABLED" ] && [ ! -z "$INFLUXDB_ADMIN_USER" ] && echo 1 || echo) + +# Check if an environment variable for where to put meta is set. +# If so, then use that directory, otherwise use the default. +if [ -z "$INFLUXDB_META_DIR" ]; then + META_DIR="/var/lib/influxdb/meta" +else + META_DIR="$INFLUXDB_META_DIR" +fi + +if ( [ ! -z "$INIT_USERS" ] || [ ! -z "$INFLUXDB_DB" ] || [ "$(ls -A /docker-entrypoint-initdb.d 2> /dev/null)" ] ) && [ ! "$(ls -d "$META_DIR" 2>/dev/null)" ]; then + + INIT_QUERY="" + CREATE_DB_QUERY="CREATE DATABASE $INFLUXDB_DB" + + if [ ! -z "$INIT_USERS" ]; then + + if [ -z "$INFLUXDB_ADMIN_PASSWORD" ]; then + INFLUXDB_ADMIN_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_ADMIN_PASSWORD:$INFLUXDB_ADMIN_PASSWORD" + fi + + INIT_QUERY="CREATE USER \"$INFLUXDB_ADMIN_USER\" WITH PASSWORD '$INFLUXDB_ADMIN_PASSWORD' WITH ALL PRIVILEGES" + elif [ ! -z "$INFLUXDB_DB" ]; then + INIT_QUERY="$CREATE_DB_QUERY" + else + INIT_QUERY="SHOW DATABASES" + fi + + INFLUXDB_INIT_PORT="8086" + + INFLUXDB_HTTP_BIND_ADDRESS=127.0.0.1:$INFLUXDB_INIT_PORT INFLUXDB_HTTP_HTTPS_ENABLED=false influxd "$@" & + pid="$!" + + INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -execute " + + for i in {30..0}; do + if $INFLUX_CMD "$INIT_QUERY" &> /dev/null; then + break + fi + echo 'influxdb init process in progress...' + sleep 1 + done + + if [ "$i" = 0 ]; then + echo >&2 'influxdb init process failed.' + exit 1 + fi + + if [ ! -z "$INIT_USERS" ]; then + + INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -username ${INFLUXDB_ADMIN_USER} -password ${INFLUXDB_ADMIN_PASSWORD} -execute " + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "$CREATE_DB_QUERY" + fi + + if [ ! -z "$INFLUXDB_USER" ] && [ -z "$INFLUXDB_USER_PASSWORD" ]; then + INFLUXDB_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_USER_PASSWORD:$INFLUXDB_USER_PASSWORD" + fi + + if [ ! -z "$INFLUXDB_USER" ]; then + $INFLUX_CMD "CREATE USER \"$INFLUXDB_USER\" WITH PASSWORD '$INFLUXDB_USER_PASSWORD'" + + $INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_USER\"" + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "GRANT ALL ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_USER\"" + fi + fi + + if [ ! -z "$INFLUXDB_WRITE_USER" ] && [ -z "$INFLUXDB_WRITE_USER_PASSWORD" ]; then + INFLUXDB_WRITE_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_WRITE_USER_PASSWORD:$INFLUXDB_WRITE_USER_PASSWORD" + fi + + if [ ! -z "$INFLUXDB_WRITE_USER" ]; then + $INFLUX_CMD "CREATE USER \"$INFLUXDB_WRITE_USER\" WITH PASSWORD '$INFLUXDB_WRITE_USER_PASSWORD'" + $INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_WRITE_USER\"" + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "GRANT WRITE ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_WRITE_USER\"" + fi + fi + + if [ ! -z "$INFLUXDB_READ_USER" ] && [ -z "$INFLUXDB_READ_USER_PASSWORD" ]; then + INFLUXDB_READ_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_READ_USER_PASSWORD:$INFLUXDB_READ_USER_PASSWORD" + fi + + if [ ! -z "$INFLUXDB_READ_USER" ]; then + $INFLUX_CMD "CREATE USER \"$INFLUXDB_READ_USER\" WITH PASSWORD '$INFLUXDB_READ_USER_PASSWORD'" + $INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_READ_USER\"" + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "GRANT READ ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_READ_USER\"" + fi + fi + + fi + + for f in /docker-entrypoint-initdb.d/*; do + case "$f" in + *.sh) echo "$0: running $f"; . "$f" ;; + *.iql) echo "$0: running $f"; $INFLUX_CMD "$(cat ""$f"")"; echo ;; + *) echo "$0: ignoring $f" ;; + esac + echo + done + + if ! kill -s TERM "$pid" || ! wait "$pid"; then + echo >&2 'influxdb init process failed. (Could not stop influxdb)' + exit 1 + fi + +fi diff --git a/influxdb/1.12/data/Dockerfile b/influxdb/1.12/data/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..baa1fb23bb74a23d4f08de6478a50c487ee6c4db --- /dev/null +++ b/influxdb/1.12/data/Dockerfile @@ -0,0 +1,32 @@ +FROM buildpack-deps:bookworm-curl + +ENV INFLUXDB_VERSION=1.12.0-c1.12.0 +RUN curl -fsSLO "https://dl.influxdata.com/enterprise/releases/influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb.asc" \ + -fssLO "https://dl.influxdata.com/enterprise/releases/influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb" && \ + # Verify InfluxDB 1.X Enterprise \ + gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys \ + # InfluxData Package Signing Key <support@influxdata.com> \ + 9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E && \ + gpg --batch --verify \ + "influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb.asc" \ + "influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb" && \ + # Install InfluxDB 1.X Enterprise \ + export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && \ + apt-get install --no-install-recommends -y \ + "/influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb" && \ + # Cleanup \ + rm -r "influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb.asc" \ + "influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb" \ + /var/lib/apt/lists/* + +COPY influxdb.conf /etc/influxdb/influxdb.conf + +EXPOSE 8086 + +VOLUME /var/lib/influxdb + +COPY entrypoint.sh /entrypoint.sh +COPY init-influxdb.sh /init-influxdb.sh +ENTRYPOINT ["/entrypoint.sh"] +CMD ["influxd"] diff --git a/influxdb/1.12/data/alpine/Dockerfile b/influxdb/1.12/data/alpine/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..0dd094acd9e7320c2efd253b29045f52a8fc6335 --- /dev/null +++ b/influxdb/1.12/data/alpine/Dockerfile @@ -0,0 +1,37 @@ +FROM alpine:3.21 + +RUN apk add --no-cache tzdata bash ca-certificates && \ + update-ca-certificates + +ENV INFLUXDB_VERSION=1.12.0-c1.12.0 +RUN apk add --no-cache --virtual .build-deps curl gnupg tar && \ + curl -fsSLO "https://dl.influxdata.com/enterprise/releases/influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz.asc" \ + -fssLO "https://dl.influxdata.com/enterprise/releases/influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz" && \ + # Verify InfluxDB 1.X Enterprise \ + gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys \ + # InfluxData Package Signing Key <support@influxdata.com> \ + 9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E && \ + gpg --batch --verify \ + "influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz.asc" \ + "influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz" && \ + # Install InfluxDB 1.X Enterprise \ + tar -xvf "influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz" \ + -C / --strip-components 1 --wildcards \ + 'influxdb-*/usr/bin/influx' \ + 'influxdb-*/usr/bin/influx_inspect' \ + 'influxdb-*/usr/bin/influxd' && \ + # Cleanup \ + rm "influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz.asc" \ + "influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz" && \ + apk del .build-deps + +COPY influxdb.conf /etc/influxdb/influxdb.conf + +EXPOSE 8086 + +VOLUME /var/lib/influxdb + +COPY entrypoint.sh /entrypoint.sh +COPY init-influxdb.sh /init-influxdb.sh +ENTRYPOINT ["/entrypoint.sh"] +CMD ["influxd"] diff --git a/influxdb/1.12/data/alpine/entrypoint.sh b/influxdb/1.12/data/alpine/entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..83d12eb8ec296f241899f60f913913961c8167ca --- /dev/null +++ b/influxdb/1.12/data/alpine/entrypoint.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -e + +export INFLUXDB_HOSTNAME=${INFLUXDB_HOSTNAME:-$HOSTNAME} + +if [ "${1:0:1}" = '-' ]; then + set -- influxd "$@" +fi + +if [ "$1" = 'influxd' ]; then + /init-influxdb.sh "${@:2}" +fi + +exec "$@" diff --git a/influxdb/1.12/data/alpine/influxdb.conf b/influxdb/1.12/data/alpine/influxdb.conf new file mode 100644 index 0000000000000000000000000000000000000000..f03c128c88c5d35d86141f53d8407cf323295f4e --- /dev/null +++ b/influxdb/1.12/data/alpine/influxdb.conf @@ -0,0 +1,10 @@ +[meta] + dir = "/var/lib/influxdb/meta" + +[data] + dir = "/var/lib/influxdb/data" + engine = "tsm1" + wal-dir = "/var/lib/influxdb/wal" + +[hinted-handoff] + dir = "/var/lib/influxdb/hh" diff --git a/influxdb/1.12/data/alpine/init-influxdb.sh b/influxdb/1.12/data/alpine/init-influxdb.sh new file mode 100755 index 0000000000000000000000000000000000000000..3f7349a084ca13944772112c529879ffc3d9f3ac --- /dev/null +++ b/influxdb/1.12/data/alpine/init-influxdb.sh @@ -0,0 +1,128 @@ +#!/bin/bash +set -e + +AUTH_ENABLED="$INFLUXDB_HTTP_AUTH_ENABLED" + +if [ -z "$AUTH_ENABLED" ]; then + AUTH_ENABLED="$(grep -iE '^\s*auth-enabled\s*=\s*true' /etc/influxdb/influxdb.conf | grep -io 'true' | cat)" +else + AUTH_ENABLED="$(echo "$INFLUXDB_HTTP_AUTH_ENABLED" | grep -io 'true' | cat)" +fi + +INIT_USERS=$([ ! -z "$AUTH_ENABLED" ] && [ ! -z "$INFLUXDB_ADMIN_USER" ] && echo 1 || echo) + +# Check if an environment variable for where to put meta is set. +# If so, then use that directory, otherwise use the default. +if [ -z "$INFLUXDB_META_DIR" ]; then + META_DIR="/var/lib/influxdb/meta" +else + META_DIR="$INFLUXDB_META_DIR" +fi + +if ( [ ! -z "$INIT_USERS" ] || [ ! -z "$INFLUXDB_DB" ] || [ "$(ls -A /docker-entrypoint-initdb.d 2> /dev/null)" ] ) && [ ! "$(ls -d "$META_DIR" 2>/dev/null)" ]; then + + INIT_QUERY="" + CREATE_DB_QUERY="CREATE DATABASE $INFLUXDB_DB" + + if [ ! -z "$INIT_USERS" ]; then + + if [ -z "$INFLUXDB_ADMIN_PASSWORD" ]; then + INFLUXDB_ADMIN_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_ADMIN_PASSWORD:$INFLUXDB_ADMIN_PASSWORD" + fi + + INIT_QUERY="CREATE USER \"$INFLUXDB_ADMIN_USER\" WITH PASSWORD '$INFLUXDB_ADMIN_PASSWORD' WITH ALL PRIVILEGES" + elif [ ! -z "$INFLUXDB_DB" ]; then + INIT_QUERY="$CREATE_DB_QUERY" + else + INIT_QUERY="SHOW DATABASES" + fi + + INFLUXDB_INIT_PORT="8086" + + INFLUXDB_HTTP_BIND_ADDRESS=127.0.0.1:$INFLUXDB_INIT_PORT INFLUXDB_HTTP_HTTPS_ENABLED=false influxd "$@" & + pid="$!" + + INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -execute " + + for i in {30..0}; do + if $INFLUX_CMD "$INIT_QUERY" &> /dev/null; then + break + fi + echo 'influxdb init process in progress...' + sleep 1 + done + + if [ "$i" = 0 ]; then + echo >&2 'influxdb init process failed.' + exit 1 + fi + + if [ ! -z "$INIT_USERS" ]; then + + INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -username ${INFLUXDB_ADMIN_USER} -password ${INFLUXDB_ADMIN_PASSWORD} -execute " + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "$CREATE_DB_QUERY" + fi + + if [ ! -z "$INFLUXDB_USER" ] && [ -z "$INFLUXDB_USER_PASSWORD" ]; then + INFLUXDB_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_USER_PASSWORD:$INFLUXDB_USER_PASSWORD" + fi + + if [ ! -z "$INFLUXDB_USER" ]; then + $INFLUX_CMD "CREATE USER \"$INFLUXDB_USER\" WITH PASSWORD '$INFLUXDB_USER_PASSWORD'" + + $INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_USER\"" + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "GRANT ALL ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_USER\"" + fi + fi + + if [ ! -z "$INFLUXDB_WRITE_USER" ] && [ -z "$INFLUXDB_WRITE_USER_PASSWORD" ]; then + INFLUXDB_WRITE_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_WRITE_USER_PASSWORD:$INFLUXDB_WRITE_USER_PASSWORD" + fi + + if [ ! -z "$INFLUXDB_WRITE_USER" ]; then + $INFLUX_CMD "CREATE USER \"$INFLUXDB_WRITE_USER\" WITH PASSWORD '$INFLUXDB_WRITE_USER_PASSWORD'" + $INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_WRITE_USER\"" + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "GRANT WRITE ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_WRITE_USER\"" + fi + fi + + if [ ! -z "$INFLUXDB_READ_USER" ] && [ -z "$INFLUXDB_READ_USER_PASSWORD" ]; then + INFLUXDB_READ_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_READ_USER_PASSWORD:$INFLUXDB_READ_USER_PASSWORD" + fi + + if [ ! -z "$INFLUXDB_READ_USER" ]; then + $INFLUX_CMD "CREATE USER \"$INFLUXDB_READ_USER\" WITH PASSWORD '$INFLUXDB_READ_USER_PASSWORD'" + $INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_READ_USER\"" + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "GRANT READ ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_READ_USER\"" + fi + fi + + fi + + for f in /docker-entrypoint-initdb.d/*; do + case "$f" in + *.sh) echo "$0: running $f"; . "$f" ;; + *.iql) echo "$0: running $f"; $INFLUX_CMD "$(cat ""$f"")"; echo ;; + *) echo "$0: ignoring $f" ;; + esac + echo + done + + if ! kill -s TERM "$pid" || ! wait "$pid"; then + echo >&2 'influxdb init process failed. (Could not stop influxdb)' + exit 1 + fi + +fi diff --git a/influxdb/1.12/data/entrypoint.sh b/influxdb/1.12/data/entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..83d12eb8ec296f241899f60f913913961c8167ca --- /dev/null +++ b/influxdb/1.12/data/entrypoint.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -e + +export INFLUXDB_HOSTNAME=${INFLUXDB_HOSTNAME:-$HOSTNAME} + +if [ "${1:0:1}" = '-' ]; then + set -- influxd "$@" +fi + +if [ "$1" = 'influxd' ]; then + /init-influxdb.sh "${@:2}" +fi + +exec "$@" diff --git a/influxdb/1.12/data/influxdb.conf b/influxdb/1.12/data/influxdb.conf new file mode 100644 index 0000000000000000000000000000000000000000..f03c128c88c5d35d86141f53d8407cf323295f4e --- /dev/null +++ b/influxdb/1.12/data/influxdb.conf @@ -0,0 +1,10 @@ +[meta] + dir = "/var/lib/influxdb/meta" + +[data] + dir = "/var/lib/influxdb/data" + engine = "tsm1" + wal-dir = "/var/lib/influxdb/wal" + +[hinted-handoff] + dir = "/var/lib/influxdb/hh" diff --git a/influxdb/1.12/data/init-influxdb.sh b/influxdb/1.12/data/init-influxdb.sh new file mode 100755 index 0000000000000000000000000000000000000000..3f7349a084ca13944772112c529879ffc3d9f3ac --- /dev/null +++ b/influxdb/1.12/data/init-influxdb.sh @@ -0,0 +1,128 @@ +#!/bin/bash +set -e + +AUTH_ENABLED="$INFLUXDB_HTTP_AUTH_ENABLED" + +if [ -z "$AUTH_ENABLED" ]; then + AUTH_ENABLED="$(grep -iE '^\s*auth-enabled\s*=\s*true' /etc/influxdb/influxdb.conf | grep -io 'true' | cat)" +else + AUTH_ENABLED="$(echo "$INFLUXDB_HTTP_AUTH_ENABLED" | grep -io 'true' | cat)" +fi + +INIT_USERS=$([ ! -z "$AUTH_ENABLED" ] && [ ! -z "$INFLUXDB_ADMIN_USER" ] && echo 1 || echo) + +# Check if an environment variable for where to put meta is set. +# If so, then use that directory, otherwise use the default. +if [ -z "$INFLUXDB_META_DIR" ]; then + META_DIR="/var/lib/influxdb/meta" +else + META_DIR="$INFLUXDB_META_DIR" +fi + +if ( [ ! -z "$INIT_USERS" ] || [ ! -z "$INFLUXDB_DB" ] || [ "$(ls -A /docker-entrypoint-initdb.d 2> /dev/null)" ] ) && [ ! "$(ls -d "$META_DIR" 2>/dev/null)" ]; then + + INIT_QUERY="" + CREATE_DB_QUERY="CREATE DATABASE $INFLUXDB_DB" + + if [ ! -z "$INIT_USERS" ]; then + + if [ -z "$INFLUXDB_ADMIN_PASSWORD" ]; then + INFLUXDB_ADMIN_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_ADMIN_PASSWORD:$INFLUXDB_ADMIN_PASSWORD" + fi + + INIT_QUERY="CREATE USER \"$INFLUXDB_ADMIN_USER\" WITH PASSWORD '$INFLUXDB_ADMIN_PASSWORD' WITH ALL PRIVILEGES" + elif [ ! -z "$INFLUXDB_DB" ]; then + INIT_QUERY="$CREATE_DB_QUERY" + else + INIT_QUERY="SHOW DATABASES" + fi + + INFLUXDB_INIT_PORT="8086" + + INFLUXDB_HTTP_BIND_ADDRESS=127.0.0.1:$INFLUXDB_INIT_PORT INFLUXDB_HTTP_HTTPS_ENABLED=false influxd "$@" & + pid="$!" + + INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -execute " + + for i in {30..0}; do + if $INFLUX_CMD "$INIT_QUERY" &> /dev/null; then + break + fi + echo 'influxdb init process in progress...' + sleep 1 + done + + if [ "$i" = 0 ]; then + echo >&2 'influxdb init process failed.' + exit 1 + fi + + if [ ! -z "$INIT_USERS" ]; then + + INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -username ${INFLUXDB_ADMIN_USER} -password ${INFLUXDB_ADMIN_PASSWORD} -execute " + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "$CREATE_DB_QUERY" + fi + + if [ ! -z "$INFLUXDB_USER" ] && [ -z "$INFLUXDB_USER_PASSWORD" ]; then + INFLUXDB_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_USER_PASSWORD:$INFLUXDB_USER_PASSWORD" + fi + + if [ ! -z "$INFLUXDB_USER" ]; then + $INFLUX_CMD "CREATE USER \"$INFLUXDB_USER\" WITH PASSWORD '$INFLUXDB_USER_PASSWORD'" + + $INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_USER\"" + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "GRANT ALL ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_USER\"" + fi + fi + + if [ ! -z "$INFLUXDB_WRITE_USER" ] && [ -z "$INFLUXDB_WRITE_USER_PASSWORD" ]; then + INFLUXDB_WRITE_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_WRITE_USER_PASSWORD:$INFLUXDB_WRITE_USER_PASSWORD" + fi + + if [ ! -z "$INFLUXDB_WRITE_USER" ]; then + $INFLUX_CMD "CREATE USER \"$INFLUXDB_WRITE_USER\" WITH PASSWORD '$INFLUXDB_WRITE_USER_PASSWORD'" + $INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_WRITE_USER\"" + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "GRANT WRITE ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_WRITE_USER\"" + fi + fi + + if [ ! -z "$INFLUXDB_READ_USER" ] && [ -z "$INFLUXDB_READ_USER_PASSWORD" ]; then + INFLUXDB_READ_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_READ_USER_PASSWORD:$INFLUXDB_READ_USER_PASSWORD" + fi + + if [ ! -z "$INFLUXDB_READ_USER" ]; then + $INFLUX_CMD "CREATE USER \"$INFLUXDB_READ_USER\" WITH PASSWORD '$INFLUXDB_READ_USER_PASSWORD'" + $INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_READ_USER\"" + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "GRANT READ ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_READ_USER\"" + fi + fi + + fi + + for f in /docker-entrypoint-initdb.d/*; do + case "$f" in + *.sh) echo "$0: running $f"; . "$f" ;; + *.iql) echo "$0: running $f"; $INFLUX_CMD "$(cat ""$f"")"; echo ;; + *) echo "$0: ignoring $f" ;; + esac + echo + done + + if ! kill -s TERM "$pid" || ! wait "$pid"; then + echo >&2 'influxdb init process failed. (Could not stop influxdb)' + exit 1 + fi + +fi diff --git a/influxdb/1.12/entrypoint.sh b/influxdb/1.12/entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..832091c7a2cf158d1ec12667e67d1adcb23373cf --- /dev/null +++ b/influxdb/1.12/entrypoint.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e + +if [ "${1:0:1}" = '-' ]; then + set -- influxd "$@" +fi + +if [ "$1" = 'influxd' ]; then + /init-influxdb.sh "${@:2}" +fi + +exec "$@" diff --git a/influxdb/1.12/influxdb.conf b/influxdb/1.12/influxdb.conf new file mode 100644 index 0000000000000000000000000000000000000000..986803af3bada7b8df7e59f3798d7dfad4661f99 --- /dev/null +++ b/influxdb/1.12/influxdb.conf @@ -0,0 +1,7 @@ +[meta] + dir = "/var/lib/influxdb/meta" + +[data] + dir = "/var/lib/influxdb/data" + engine = "tsm1" + wal-dir = "/var/lib/influxdb/wal" diff --git a/influxdb/1.12/init-influxdb.sh b/influxdb/1.12/init-influxdb.sh new file mode 100755 index 0000000000000000000000000000000000000000..3f7349a084ca13944772112c529879ffc3d9f3ac --- /dev/null +++ b/influxdb/1.12/init-influxdb.sh @@ -0,0 +1,128 @@ +#!/bin/bash +set -e + +AUTH_ENABLED="$INFLUXDB_HTTP_AUTH_ENABLED" + +if [ -z "$AUTH_ENABLED" ]; then + AUTH_ENABLED="$(grep -iE '^\s*auth-enabled\s*=\s*true' /etc/influxdb/influxdb.conf | grep -io 'true' | cat)" +else + AUTH_ENABLED="$(echo "$INFLUXDB_HTTP_AUTH_ENABLED" | grep -io 'true' | cat)" +fi + +INIT_USERS=$([ ! -z "$AUTH_ENABLED" ] && [ ! -z "$INFLUXDB_ADMIN_USER" ] && echo 1 || echo) + +# Check if an environment variable for where to put meta is set. +# If so, then use that directory, otherwise use the default. +if [ -z "$INFLUXDB_META_DIR" ]; then + META_DIR="/var/lib/influxdb/meta" +else + META_DIR="$INFLUXDB_META_DIR" +fi + +if ( [ ! -z "$INIT_USERS" ] || [ ! -z "$INFLUXDB_DB" ] || [ "$(ls -A /docker-entrypoint-initdb.d 2> /dev/null)" ] ) && [ ! "$(ls -d "$META_DIR" 2>/dev/null)" ]; then + + INIT_QUERY="" + CREATE_DB_QUERY="CREATE DATABASE $INFLUXDB_DB" + + if [ ! -z "$INIT_USERS" ]; then + + if [ -z "$INFLUXDB_ADMIN_PASSWORD" ]; then + INFLUXDB_ADMIN_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_ADMIN_PASSWORD:$INFLUXDB_ADMIN_PASSWORD" + fi + + INIT_QUERY="CREATE USER \"$INFLUXDB_ADMIN_USER\" WITH PASSWORD '$INFLUXDB_ADMIN_PASSWORD' WITH ALL PRIVILEGES" + elif [ ! -z "$INFLUXDB_DB" ]; then + INIT_QUERY="$CREATE_DB_QUERY" + else + INIT_QUERY="SHOW DATABASES" + fi + + INFLUXDB_INIT_PORT="8086" + + INFLUXDB_HTTP_BIND_ADDRESS=127.0.0.1:$INFLUXDB_INIT_PORT INFLUXDB_HTTP_HTTPS_ENABLED=false influxd "$@" & + pid="$!" + + INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -execute " + + for i in {30..0}; do + if $INFLUX_CMD "$INIT_QUERY" &> /dev/null; then + break + fi + echo 'influxdb init process in progress...' + sleep 1 + done + + if [ "$i" = 0 ]; then + echo >&2 'influxdb init process failed.' + exit 1 + fi + + if [ ! -z "$INIT_USERS" ]; then + + INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -username ${INFLUXDB_ADMIN_USER} -password ${INFLUXDB_ADMIN_PASSWORD} -execute " + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "$CREATE_DB_QUERY" + fi + + if [ ! -z "$INFLUXDB_USER" ] && [ -z "$INFLUXDB_USER_PASSWORD" ]; then + INFLUXDB_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_USER_PASSWORD:$INFLUXDB_USER_PASSWORD" + fi + + if [ ! -z "$INFLUXDB_USER" ]; then + $INFLUX_CMD "CREATE USER \"$INFLUXDB_USER\" WITH PASSWORD '$INFLUXDB_USER_PASSWORD'" + + $INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_USER\"" + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "GRANT ALL ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_USER\"" + fi + fi + + if [ ! -z "$INFLUXDB_WRITE_USER" ] && [ -z "$INFLUXDB_WRITE_USER_PASSWORD" ]; then + INFLUXDB_WRITE_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_WRITE_USER_PASSWORD:$INFLUXDB_WRITE_USER_PASSWORD" + fi + + if [ ! -z "$INFLUXDB_WRITE_USER" ]; then + $INFLUX_CMD "CREATE USER \"$INFLUXDB_WRITE_USER\" WITH PASSWORD '$INFLUXDB_WRITE_USER_PASSWORD'" + $INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_WRITE_USER\"" + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "GRANT WRITE ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_WRITE_USER\"" + fi + fi + + if [ ! -z "$INFLUXDB_READ_USER" ] && [ -z "$INFLUXDB_READ_USER_PASSWORD" ]; then + INFLUXDB_READ_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)" + echo "INFLUXDB_READ_USER_PASSWORD:$INFLUXDB_READ_USER_PASSWORD" + fi + + if [ ! -z "$INFLUXDB_READ_USER" ]; then + $INFLUX_CMD "CREATE USER \"$INFLUXDB_READ_USER\" WITH PASSWORD '$INFLUXDB_READ_USER_PASSWORD'" + $INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_READ_USER\"" + + if [ ! -z "$INFLUXDB_DB" ]; then + $INFLUX_CMD "GRANT READ ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_READ_USER\"" + fi + fi + + fi + + for f in /docker-entrypoint-initdb.d/*; do + case "$f" in + *.sh) echo "$0: running $f"; . "$f" ;; + *.iql) echo "$0: running $f"; $INFLUX_CMD "$(cat ""$f"")"; echo ;; + *) echo "$0: ignoring $f" ;; + esac + echo + done + + if ! kill -s TERM "$pid" || ! wait "$pid"; then + echo >&2 'influxdb init process failed. (Could not stop influxdb)' + exit 1 + fi + +fi diff --git a/influxdb/1.12/meta/Dockerfile b/influxdb/1.12/meta/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..6d3c600f1709950b071c259fd41862c02282325c --- /dev/null +++ b/influxdb/1.12/meta/Dockerfile @@ -0,0 +1,31 @@ +FROM buildpack-deps:bookworm-curl + +ENV INFLUXDB_VERSION=1.12.0-c1.12.0 +RUN curl -fsSLO "https://dl.influxdata.com/enterprise/releases/influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb.asc" \ + -fssLO "https://dl.influxdata.com/enterprise/releases/influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb" && \ + # Verify InfluxDB 1.X Enterprise \ + gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys \ + # InfluxData Package Signing Key <support@influxdata.com> \ + 9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E && \ + gpg --batch --verify \ + "influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb.asc" \ + "influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb" && \ + # Install InfluxDB 1.X Enterprise \ + export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && \ + apt-get install --no-install-recommends -y \ + "/influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb" && \ + # Cleanup \ + rm -r "influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb.asc" \ + "influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb" \ + /var/lib/apt/lists/* + +COPY influxdb-meta.conf /etc/influxdb/influxdb-meta.conf + +EXPOSE 8091 + +VOLUME /var/lib/influxdb + +COPY entrypoint.sh /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] +CMD ["influxd-meta"] diff --git a/influxdb/1.12/meta/alpine/Dockerfile b/influxdb/1.12/meta/alpine/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..316933a958f93f481fc5a0838b274bcae79f0f6c --- /dev/null +++ b/influxdb/1.12/meta/alpine/Dockerfile @@ -0,0 +1,35 @@ +FROM alpine:3.21 + +RUN apk add --no-cache tzdata bash ca-certificates && \ + update-ca-certificates + +ENV INFLUXDB_VERSION=1.12.0-c1.12.0 +RUN apk add --no-cache --virtual .build-deps curl gnupg tar && \ + curl -fsSLO "https://dl.influxdata.com/enterprise/releases/influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz.asc" \ + -fssLO "https://dl.influxdata.com/enterprise/releases/influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz" && \ + # Verify InfluxDB 1.X Enterprise \ + gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys \ + # InfluxData Package Signing Key <support@influxdata.com> \ + 9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E && \ + gpg --batch --verify \ + "influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz.asc" \ + "influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz" && \ + # Install InfluxDB 1.X Enterprise \ + tar -xvf "influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz" \ + -C / --strip-components 1 --wildcards \ + 'influxdb-*/usr/bin/influxd-ctl' \ + 'influxdb-*/usr/bin/influxd-meta' && \ + # Cleanup \ + rm "influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz.asc" \ + "influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz" && \ + apk del .build-deps + +COPY influxdb-meta.conf /etc/influxdb/influxdb-meta.conf + +EXPOSE 8091 + +VOLUME /var/lib/influxdb + +COPY entrypoint.sh /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] +CMD ["influxd-meta"] diff --git a/influxdb/1.12/meta/alpine/entrypoint.sh b/influxdb/1.12/meta/alpine/entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..ae61bda42823affdecfc0a62578fcfdb22bc5e3b --- /dev/null +++ b/influxdb/1.12/meta/alpine/entrypoint.sh @@ -0,0 +1,35 @@ +#!/bin/bash +set -e + +export INFLUXDB_HOSTNAME=${INFLUXDB_HOSTNAME:-$HOSTNAME} +export INFLUXDB_META_CONFIG_PATH=${INFLUXDB_META_CONFIG_PATH:-/etc/influxdb/influxdb-meta.conf} + +if [ "${1:0:1}" = '-' ]; then + set -- influxd-meta "$@" +fi + +if [ "$1" = 'influxd-meta' ]; then + shift + if [ $# -gt 0 ]; then + case $1 in + config) + shift + set -- influxd-meta config -config "${INFLUXDB_META_CONFIG_PATH}" "$@" + ;; + run) + shift + set -- influxd-meta run -config "${INFLUXDB_META_CONFIG_PATH}" "$@" + ;; + -*) + set -- influxd-meta -config "${INFLUXDB_META_CONFIG_PATH}" "$@" + ;; + *) + set -- influxd-meta "$@" + ;; + esac + else + set -- influxd-meta -config "${INFLUXDB_META_CONFIG_PATH}" + fi +fi + +exec "$@" diff --git a/influxdb/1.12/meta/alpine/influxdb-meta.conf b/influxdb/1.12/meta/alpine/influxdb-meta.conf new file mode 100644 index 0000000000000000000000000000000000000000..6491d8a186014e50af284810016b5f7273923d96 --- /dev/null +++ b/influxdb/1.12/meta/alpine/influxdb-meta.conf @@ -0,0 +1,2 @@ +[meta] + dir = "/var/lib/influxdb/meta" diff --git a/influxdb/1.12/meta/entrypoint.sh b/influxdb/1.12/meta/entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..ae61bda42823affdecfc0a62578fcfdb22bc5e3b --- /dev/null +++ b/influxdb/1.12/meta/entrypoint.sh @@ -0,0 +1,35 @@ +#!/bin/bash +set -e + +export INFLUXDB_HOSTNAME=${INFLUXDB_HOSTNAME:-$HOSTNAME} +export INFLUXDB_META_CONFIG_PATH=${INFLUXDB_META_CONFIG_PATH:-/etc/influxdb/influxdb-meta.conf} + +if [ "${1:0:1}" = '-' ]; then + set -- influxd-meta "$@" +fi + +if [ "$1" = 'influxd-meta' ]; then + shift + if [ $# -gt 0 ]; then + case $1 in + config) + shift + set -- influxd-meta config -config "${INFLUXDB_META_CONFIG_PATH}" "$@" + ;; + run) + shift + set -- influxd-meta run -config "${INFLUXDB_META_CONFIG_PATH}" "$@" + ;; + -*) + set -- influxd-meta -config "${INFLUXDB_META_CONFIG_PATH}" "$@" + ;; + *) + set -- influxd-meta "$@" + ;; + esac + else + set -- influxd-meta -config "${INFLUXDB_META_CONFIG_PATH}" + fi +fi + +exec "$@" diff --git a/influxdb/1.12/meta/influxdb-meta.conf b/influxdb/1.12/meta/influxdb-meta.conf new file mode 100644 index 0000000000000000000000000000000000000000..6491d8a186014e50af284810016b5f7273923d96 --- /dev/null +++ b/influxdb/1.12/meta/influxdb-meta.conf @@ -0,0 +1,2 @@ +[meta] + dir = "/var/lib/influxdb/meta"