You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by rz...@apache.org on 2025/01/24 19:49:21 UTC
(storm-docker) branch 2.8.0 created (now 72943d6)
This is an automated email from the ASF dual-hosted git repository.
rzo1 pushed a change to branch 2.8.0
in repository https://gitbox.apache.org/repos/asf/storm-docker.git
at 72943d6 Prepare for Apache Storm 2.8.0
This branch includes the following new commits:
new 72943d6 Prepare for Apache Storm 2.8.0
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(storm-docker) 01/01: Prepare for Apache Storm 2.8.0
Posted by rz...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rzo1 pushed a commit to branch 2.8.0
in repository https://gitbox.apache.org/repos/asf/storm-docker.git
commit 72943d6ef50802f3e244048ed2b9d0ebbf747216
Author: Richard Zowalla <rz...@apache.org>
AuthorDate: Fri Jan 24 20:49:12 2025 +0100
Prepare for Apache Storm 2.8.0
---
2.8.0/Dockerfile | 103 +++++++++++++++++++++++++++++++++++++++++++++
2.8.0/docker-entrypoint.sh | 22 ++++++++++
2 files changed, 125 insertions(+)
diff --git a/2.8.0/Dockerfile b/2.8.0/Dockerfile
new file mode 100644
index 0000000..76a53c5
--- /dev/null
+++ b/2.8.0/Dockerfile
@@ -0,0 +1,103 @@
+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.7.1
+
+
+# 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) <et...@apache.org>
+ 5167DE337E7370373499FC1DA4A672F11B5050C8 \
+ # Kishorkumar Vasantrao Patil (CODE SIGNING KEY) <ki...@apache.org>
+ 32C8C0BEE3D01AF46B6E24B0AC30BFA8FEF0711F \
+ # Govind Rajagopal Menon (Release Signing Key) <go...@apache.org>
+ 79B03D059E628478FC9F1D8B152CAD0C46E87B61 \
+ # Bipin Prasad (For Signing Apache Storm release) <bi...@apache.org>
+ 51379DA8A7AE5B02674EF15C134716AF768D9B6E \
+ # Aaron Gresch <ag...@apache.org>
+ DA903F2CF9BBD42EAECFA9E45EA6FAEF09A4474D \
+ # Kishor Patil (The keys for signing Storm releases) <ki...@apache.org>
+ 6156BAC0C21A1991CF1B690AB2973D6F4A67943A \
+ # Richard Zowalla (Code Signing Key) <rz...@apache.org>
+ B83D15E72253ED1104EB4FBBDAB472F0E5B8A431 \
+ # Richard Zowalla (GitHub) <rz...@apache.org>
+ 339F3B2F72129ABCA81D96DA91EA7956A2DAD9CE \
+ # Rui Abreu (Code Signing Key) <ra...@apache.org>
+ 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; \
+ rm -rf "$GNUPGHOME" "$DISTRO_NAME.tar.gz" "$DISTRO_NAME.tar.gz.asc"; \
+ 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.0/docker-entrypoint.sh b/2.8.0/docker-entrypoint.sh
new file mode 100755
index 0000000..66dff6f
--- /dev/null
+++ b/2.8.0/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 "$@"