This is an automated email from the ASF dual-hosted git repository.
rzo1 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/storm-docker.git
The following commit(s) were added to refs/heads/master by this push:
new b8be6ef Update to Storm 2.8.1
b8be6ef is described below
commit b8be6ef59263919abd3eed95207198d2aca28518
Author: Richard Zowalla <[email protected]>
AuthorDate: Mon Jun 16 08:44:57 2025 +0200
Update to Storm 2.8.1
---
2.8.1-jre21/Dockerfile | 102 +++++++++++++++++++++++++++++++++++++++
2.8.1-jre21/docker-entrypoint.sh | 22 +++++++++
2.8.1/Dockerfile | 102 +++++++++++++++++++++++++++++++++++++++
2.8.1/docker-entrypoint.sh | 22 +++++++++
4 files changed, 248 insertions(+)
diff --git a/2.8.1-jre21/Dockerfile b/2.8.1-jre21/Dockerfile
new file mode 100644
index 0000000..2d03e10
--- /dev/null
+++ b/2.8.1-jre21/Dockerfile
@@ -0,0 +1,102 @@
+FROM eclipse-temurin:21-jre
+
+ENV STORM_CONF_DIR=/conf \
+ STORM_DATA_DIR=/data \
+ STORM_LOG_DIR=/logs
+
+# Remove the default user 'ubuntu' and its group
+RUN userdel -r ubuntu && \
+ groupdel ubuntu || true \
+
+# Add a user with an explicit UID/GID and create necessary directories
+# Print the result of the getent group 1000 command
+RUN set -eux; \
+ groupadd -r storm --gid=1000; \
+ useradd -r -g storm --uid=1000 storm; \
+ mkdir -p "$STORM_CONF_DIR" "$STORM_DATA_DIR" "$STORM_LOG_DIR"; \
+ chown -R storm:storm "$STORM_CONF_DIR" "$STORM_DATA_DIR" "$STORM_LOG_DIR"``
+
+# Install required packages
+RUN set -eux; \
+ apt-get update; \
+ DEBIAN_FRONTEND=noninteractive \
+ apt-get install -y --no-install-recommends \
+ bash \
+ ca-certificates \
+ dirmngr \
+ gosu \
+ gnupg \
+ python3 \
+ procps \
+ wget; \
+ rm -rf /var/lib/apt/lists/*; \
+# Verify that gosu binary works
+ gosu nobody true
+
+ARG DISTRO_NAME=apache-storm-2.8.0
+
+
+# Download Apache Storm, verify its PGP signature, untar and clean up
+RUN set -eux; \
+ ddist() { \
+ local f="$1"; shift; \
+ local distFile="$1"; shift; \
+ local success=; \
+ local distUrl=; \
+ for distUrl in \
+ 'https://www.apache.org/dyn/closer.cgi?action=download&filename=' \
+ https://www-us.apache.org/dist/ \
+ https://www.apache.org/dist/ \
+ https://archive.apache.org/dist/ \
+ ; do \
+ if wget -q -O "$f" "$distUrl$distFile" && [ -s "$f" ]; then \
+ success=1; \
+ break; \
+ fi; \
+ done; \
+ [ -n "$success" ]; \
+ }; \
+ # Generated via automation/create-key-section.sh
+ importKeys() { \
+ for key in \
+ # Meng Li (Ethan Li CODE SIGNING KEY) <[email protected]>
+ 5167DE337E7370373499FC1DA4A672F11B5050C8 \
+ # Kishorkumar Vasantrao Patil (CODE SIGNING KEY)
<[email protected]>
+ 32C8C0BEE3D01AF46B6E24B0AC30BFA8FEF0711F \
+ # Govind Rajagopal Menon (Release Signing Key) <[email protected]>
+ 79B03D059E628478FC9F1D8B152CAD0C46E87B61 \
+ # Bipin Prasad (For Signing Apache Storm release)
<[email protected]>
+ 51379DA8A7AE5B02674EF15C134716AF768D9B6E \
+ # Aaron Gresch <[email protected]>
+ DA903F2CF9BBD42EAECFA9E45EA6FAEF09A4474D \
+ # Kishor Patil (The keys for signing Storm releases)
<[email protected]>
+ 6156BAC0C21A1991CF1B690AB2973D6F4A67943A \
+ # Richard Zowalla (Code Signing Key) <[email protected]>
+ B83D15E72253ED1104EB4FBBDAB472F0E5B8A431 \
+ # Richard Zowalla (GitHub) <[email protected]>
+ 339F3B2F72129ABCA81D96DA91EA7956A2DAD9CE \
+ # Rui Abreu (Code Signing Key) <[email protected]>
+ 72B436558AA9CDCA2C4CBAC340D4B35E2C1452E5 \
+ ; do \
+ gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "$key"
|| \
+ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
+ gpg --batch --keyserver hkps://pgp.mit.edu --recv-keys "$key" || \
+ gpg --batch --keyserver hkps://keyserver.pgp.com --recv-keys "$key" ; \
+ done; \
+ }; \
+ ddist "$DISTRO_NAME.tar.gz" "storm/$DISTRO_NAME/$DISTRO_NAME.tar.gz"; \
+ ddist "$DISTRO_NAME.tar.gz.asc"
"storm/$DISTRO_NAME/$DISTRO_NAME.tar.gz.asc"; \
+ export GNUPGHOME="$(mktemp -d)"; \
+ importKeys; \
+ gpg --batch --verify "$DISTRO_NAME.tar.gz.asc" "$DISTRO_NAME.tar.gz"; \
+ tar -xzf "$DISTRO_NAME.tar.gz"; \
+ rm -rf "$GNUPGHOME" "$DISTRO_NAME.tar.gz" "$DISTRO_NAME.tar.gz.asc"; \
+ mv "$DISTRO_NAME" apache-storm; \
+ chown -R storm:storm apache-storm
+
+WORKDIR apache-storm
+
+ENV PATH $PATH:/apache-storm/bin
+
+COPY docker-entrypoint.sh /
+ENTRYPOINT ["/docker-entrypoint.sh"]
diff --git a/2.8.1-jre21/docker-entrypoint.sh b/2.8.1-jre21/docker-entrypoint.sh
new file mode 100755
index 0000000..66dff6f
--- /dev/null
+++ b/2.8.1-jre21/docker-entrypoint.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+set -e
+
+# Allow the container to be started with `--user`
+if [ "$1" = 'storm' -a "$(id -u)" = '0' ]; then
+ chown -R storm:storm "$STORM_CONF_DIR" "$STORM_DATA_DIR" "$STORM_LOG_DIR"
+ exec gosu storm "$0" "$@"
+fi
+
+# Generate the config only if it doesn't exist
+CONFIG="$STORM_CONF_DIR/storm.yaml"
+if [ ! -f "$CONFIG" ]; then
+ cat << EOF > "$CONFIG"
+storm.zookeeper.servers: [zookeeper]
+nimbus.seeds: [nimbus]
+storm.log.dir: "$STORM_LOG_DIR"
+storm.local.dir: "$STORM_DATA_DIR"
+EOF
+fi
+
+exec "$@"
diff --git a/2.8.1/Dockerfile b/2.8.1/Dockerfile
new file mode 100644
index 0000000..cbc103b
--- /dev/null
+++ b/2.8.1/Dockerfile
@@ -0,0 +1,102 @@
+FROM eclipse-temurin:17-jre
+
+ENV STORM_CONF_DIR=/conf \
+ STORM_DATA_DIR=/data \
+ STORM_LOG_DIR=/logs
+
+# Remove the default user 'ubuntu' and its group
+RUN userdel -r ubuntu && \
+ groupdel ubuntu || true \
+
+# Add a user with an explicit UID/GID and create necessary directories
+# Print the result of the getent group 1000 command
+RUN set -eux; \
+ groupadd -r storm --gid=1000; \
+ useradd -r -g storm --uid=1000 storm; \
+ mkdir -p "$STORM_CONF_DIR" "$STORM_DATA_DIR" "$STORM_LOG_DIR"; \
+ chown -R storm:storm "$STORM_CONF_DIR" "$STORM_DATA_DIR" "$STORM_LOG_DIR"``
+
+# Install required packages
+RUN set -eux; \
+ apt-get update; \
+ DEBIAN_FRONTEND=noninteractive \
+ apt-get install -y --no-install-recommends \
+ bash \
+ ca-certificates \
+ dirmngr \
+ gosu \
+ gnupg \
+ python3 \
+ procps \
+ wget; \
+ rm -rf /var/lib/apt/lists/*; \
+# Verify that gosu binary works
+ gosu nobody true
+
+ARG DISTRO_NAME=apache-storm-2.8.0
+
+
+# Download Apache Storm, verify its PGP signature, untar and clean up
+RUN set -eux; \
+ ddist() { \
+ local f="$1"; shift; \
+ local distFile="$1"; shift; \
+ local success=; \
+ local distUrl=; \
+ for distUrl in \
+ 'https://www.apache.org/dyn/closer.cgi?action=download&filename=' \
+ https://www-us.apache.org/dist/ \
+ https://www.apache.org/dist/ \
+ https://archive.apache.org/dist/ \
+ ; do \
+ if wget -q -O "$f" "$distUrl$distFile" && [ -s "$f" ]; then \
+ success=1; \
+ break; \
+ fi; \
+ done; \
+ [ -n "$success" ]; \
+ }; \
+ # Generated via automation/create-key-section.sh
+ importKeys() { \
+ for key in \
+ # Meng Li (Ethan Li CODE SIGNING KEY) <[email protected]>
+ 5167DE337E7370373499FC1DA4A672F11B5050C8 \
+ # Kishorkumar Vasantrao Patil (CODE SIGNING KEY)
<[email protected]>
+ 32C8C0BEE3D01AF46B6E24B0AC30BFA8FEF0711F \
+ # Govind Rajagopal Menon (Release Signing Key) <[email protected]>
+ 79B03D059E628478FC9F1D8B152CAD0C46E87B61 \
+ # Bipin Prasad (For Signing Apache Storm release)
<[email protected]>
+ 51379DA8A7AE5B02674EF15C134716AF768D9B6E \
+ # Aaron Gresch <[email protected]>
+ DA903F2CF9BBD42EAECFA9E45EA6FAEF09A4474D \
+ # Kishor Patil (The keys for signing Storm releases)
<[email protected]>
+ 6156BAC0C21A1991CF1B690AB2973D6F4A67943A \
+ # Richard Zowalla (Code Signing Key) <[email protected]>
+ B83D15E72253ED1104EB4FBBDAB472F0E5B8A431 \
+ # Richard Zowalla (GitHub) <[email protected]>
+ 339F3B2F72129ABCA81D96DA91EA7956A2DAD9CE \
+ # Rui Abreu (Code Signing Key) <[email protected]>
+ 72B436558AA9CDCA2C4CBAC340D4B35E2C1452E5 \
+ ; do \
+ gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "$key"
|| \
+ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
+ gpg --batch --keyserver hkps://pgp.mit.edu --recv-keys "$key" || \
+ gpg --batch --keyserver hkps://keyserver.pgp.com --recv-keys "$key" ; \
+ done; \
+ }; \
+ ddist "$DISTRO_NAME.tar.gz" "storm/$DISTRO_NAME/$DISTRO_NAME.tar.gz"; \
+ ddist "$DISTRO_NAME.tar.gz.asc"
"storm/$DISTRO_NAME/$DISTRO_NAME.tar.gz.asc"; \
+ export GNUPGHOME="$(mktemp -d)"; \
+ importKeys; \
+ gpg --batch --verify "$DISTRO_NAME.tar.gz.asc" "$DISTRO_NAME.tar.gz"; \
+ tar -xzf "$DISTRO_NAME.tar.gz"; \
+ rm -rf "$GNUPGHOME" "$DISTRO_NAME.tar.gz" "$DISTRO_NAME.tar.gz.asc"; \
+ mv "$DISTRO_NAME" apache-storm; \
+ chown -R storm:storm apache-storm
+
+WORKDIR apache-storm
+
+ENV PATH $PATH:/apache-storm/bin
+
+COPY docker-entrypoint.sh /
+ENTRYPOINT ["/docker-entrypoint.sh"]
diff --git a/2.8.1/docker-entrypoint.sh b/2.8.1/docker-entrypoint.sh
new file mode 100755
index 0000000..66dff6f
--- /dev/null
+++ b/2.8.1/docker-entrypoint.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+set -e
+
+# Allow the container to be started with `--user`
+if [ "$1" = 'storm' -a "$(id -u)" = '0' ]; then
+ chown -R storm:storm "$STORM_CONF_DIR" "$STORM_DATA_DIR" "$STORM_LOG_DIR"
+ exec gosu storm "$0" "$@"
+fi
+
+# Generate the config only if it doesn't exist
+CONFIG="$STORM_CONF_DIR/storm.yaml"
+if [ ! -f "$CONFIG" ]; then
+ cat << EOF > "$CONFIG"
+storm.zookeeper.servers: [zookeeper]
+nimbus.seeds: [nimbus]
+storm.log.dir: "$STORM_LOG_DIR"
+storm.local.dir: "$STORM_DATA_DIR"
+EOF
+fi
+
+exec "$@"