Skip to content

Commit a501127

Browse files
authored
Merge pull request #843 from influxdata/chore/add-influxdb-3.8
chore: add influxdb 3.8-core and 3.8-enterprise
2 parents 8393f97 + bd2ead1 commit a501127

4 files changed

Lines changed: 172 additions & 0 deletions

File tree

influxdb/3.8-core/Dockerfile

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
FROM ubuntu:24.04
2+
3+
RUN export DEBIAN_FRONTEND=noninteractive && \
4+
apt-get update && \
5+
apt-get install --no-install-recommends -y \
6+
ca-certificates \
7+
curl \
8+
gettext-base \
9+
gnupg \
10+
libssl3 && \
11+
rm -rf /var/lib/apt/lists*
12+
13+
RUN groupadd --gid 1500 influxdb3 && \
14+
useradd --uid 1500 --gid influxdb3 --shell /bin/bash --create-home influxdb3 && \
15+
mkdir -p /var/lib/influxdb3 \
16+
/usr/lib/influxdb3 \
17+
/plugins
18+
19+
ENV INFLUXDB_VERSION=3.8.0
20+
RUN case "$(dpkg --print-architecture)" in \
21+
amd64) ARCH=amd64 ;; \
22+
arm64) ARCH=arm64 ;; \
23+
*) echo 'Unsupported Architecture' ; exit 1 ;; \
24+
esac && \
25+
curl -fsSLO "https://dl.influxdata.com/influxdb/releases/influxdb3-core-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz.asc" \
26+
-fsSLO "https://dl.influxdata.com/influxdb/releases/influxdb3-core-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" && \
27+
# Verify InfluxDB3 Core \
28+
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys \
29+
# InfluxData Package Signing Key <[email protected]> \
30+
24C975CBA61A024EE1B631787C3D57159FC2F927 && \
31+
gpg --batch --verify \
32+
"influxdb3-core-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz.asc" \
33+
"influxdb3-core-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" && \
34+
# Install InfluxDB3 Core \
35+
tar --strip-components 1 -C /usr/lib/influxdb3 -xvf "influxdb3-core-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" && \
36+
mv /usr/lib/influxdb3/influxdb3 /usr/bin/influxdb3 && \
37+
chown -R influxdb3:influxdb3 /var/lib/influxdb3 /plugins && \
38+
chown -R root:root /usr/lib/influxdb3 && \
39+
# Cleanup \
40+
rm "influxdb3-core-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz.asc" \
41+
"influxdb3-core-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz"
42+
43+
COPY entrypoint.sh /usr/bin/entrypoint.sh
44+
45+
USER influxdb3
46+
RUN mkdir ~/.influxdb3
47+
48+
ENV INFLUXDB3_PLUGIN_DIR=/plugins
49+
ENV INFLUXDB3_DATA_DIR=/home/influxdb3/.influxdb3
50+
ENV INFLUXDB3_SERVE_INVOCATION_METHOD=docker-hub
51+
ENV INFLUXDB_IOX_DB_DIR=/var/lib/influxdb3
52+
ENV LOG_FILTER=info
53+
54+
EXPOSE 8181
55+
56+
ENTRYPOINT ["/usr/bin/entrypoint.sh"]
57+
CMD ["influxdb3", "serve"]

influxdb/3.8-core/entrypoint.sh

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
4+
# Unset environment variables; splitting on whitespace
5+
# Usage: INFLUXDB3_UNSET_VARS="HOST FOO BAR"
6+
if [[ -n "${INFLUXDB3_UNSET_VARS:-}" ]]; then
7+
read -ra vars <<< "${INFLUXDB3_UNSET_VARS}"
8+
for var in "${vars[@]}"; do
9+
unset "$var" || { echo "Error: Failed to unset variable '$var' (may be readonly)"; exit 1; }
10+
done
11+
fi
12+
13+
args=("${@}")
14+
15+
if [[ "${args[0]:-}" == serve ]] ; then
16+
args=(influxdb3 "${args[@]}")
17+
fi
18+
19+
if [[ "${args[0]:-}" =~ ^- ]] ; then
20+
args=(influxdb3 serve "${args[@]}")
21+
fi
22+
23+
if [[ "${args[0]:-}" == influxdb3 ]] ; then
24+
for i in "${!args[@]}"; do
25+
args[i]="$(envsubst <<<"${args[i]}")"
26+
done
27+
fi
28+
29+
exec "${args[@]}"

influxdb/3.8-enterprise/Dockerfile

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
FROM ubuntu:24.04
2+
3+
RUN export DEBIAN_FRONTEND=noninteractive && \
4+
apt-get update && \
5+
apt-get install --no-install-recommends -y \
6+
ca-certificates \
7+
curl \
8+
gettext-base \
9+
gnupg \
10+
libssl3 && \
11+
rm -rf /var/lib/apt/lists*
12+
13+
RUN groupadd --gid 1500 influxdb3 && \
14+
useradd --uid 1500 --gid influxdb3 --shell /bin/bash --create-home influxdb3 && \
15+
mkdir -p /var/lib/influxdb3 \
16+
/usr/lib/influxdb3 \
17+
/plugins
18+
19+
ENV INFLUXDB_VERSION=3.8.0
20+
RUN case "$(dpkg --print-architecture)" in \
21+
amd64) ARCH=amd64 ;; \
22+
arm64) ARCH=arm64 ;; \
23+
*) echo 'Unsupported Architecture' ; exit 1 ;; \
24+
esac && \
25+
curl -fsSLO "https://dl.influxdata.com/influxdb/releases/influxdb3-enterprise-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz.asc" \
26+
-fsSLO "https://dl.influxdata.com/influxdb/releases/influxdb3-enterprise-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" && \
27+
# Verify InfluxDB3 Enterprise \
28+
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys \
29+
# InfluxData Package Signing Key <[email protected]> \
30+
24C975CBA61A024EE1B631787C3D57159FC2F927 && \
31+
gpg --batch --verify \
32+
"influxdb3-enterprise-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz.asc" \
33+
"influxdb3-enterprise-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" && \
34+
# Install InfluxDB3 Enterprise \
35+
tar --strip-components 1 -C /usr/lib/influxdb3 -xvf "influxdb3-enterprise-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" && \
36+
mv /usr/lib/influxdb3/influxdb3 /usr/bin/influxdb3 && \
37+
chown -R influxdb3:influxdb3 /var/lib/influxdb3 /plugins && \
38+
chown -R root:root /usr/lib/influxdb3 && \
39+
# Cleanup \
40+
rm "influxdb3-enterprise-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz.asc" \
41+
"influxdb3-enterprise-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz"
42+
43+
COPY entrypoint.sh /usr/bin/entrypoint.sh
44+
45+
USER influxdb3
46+
RUN mkdir ~/.influxdb3
47+
48+
ENV INFLUXDB3_PLUGIN_DIR=/plugins
49+
ENV INFLUXDB3_DATA_DIR=/home/influxdb3/.influxdb3
50+
ENV INFLUXDB3_SERVE_INVOCATION_METHOD=docker-hub
51+
ENV INFLUXDB_IOX_DB_DIR=/var/lib/influxdb3
52+
ENV LOG_FILTER=info
53+
54+
EXPOSE 8181
55+
56+
ENTRYPOINT ["/usr/bin/entrypoint.sh"]
57+
CMD ["influxdb3", "serve"]
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
4+
# Unset environment variables; splitting on whitespace
5+
# Usage: INFLUXDB3_UNSET_VARS="HOST FOO BAR"
6+
if [[ -n "${INFLUXDB3_UNSET_VARS:-}" ]]; then
7+
read -ra vars <<< "${INFLUXDB3_UNSET_VARS}"
8+
for var in "${vars[@]}"; do
9+
unset "$var" || { echo "Error: Failed to unset variable '$var' (may be readonly)"; exit 1; }
10+
done
11+
fi
12+
13+
args=("${@}")
14+
15+
if [[ "${args[0]:-}" == serve ]] ; then
16+
args=(influxdb3 "${args[@]}")
17+
fi
18+
19+
if [[ "${args[0]:-}" =~ ^- ]] ; then
20+
args=(influxdb3 serve "${args[@]}")
21+
fi
22+
23+
if [[ "${args[0]:-}" == influxdb3 ]] ; then
24+
for i in "${!args[@]}"; do
25+
args[i]="$(envsubst <<<"${args[i]}")"
26+
done
27+
fi
28+
29+
exec "${args[@]}"

0 commit comments

Comments
 (0)