You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ch...@apache.org on 2020/04/30 07:48:00 UTC
[flink-docker] branch dev-1.10 updated (f396889 -> 5ca8c22)
This is an automated email from the ASF dual-hosted git repository.
chesnay pushed a change to branch dev-1.10
in repository https://gitbox.apache.org/repos/asf/flink-docker.git.
discard f396889 [FLINK-17439] Fork dev-1.10 branch
new 5ca8c22 [FLINK-17439] Fork dev-1.10 branch
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (f396889)
\
N -- N -- N refs/heads/dev-1.10 (5ca8c22)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
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.
Summary of changes:
testing/run_travis_tests.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[flink-docker] 01/01: [FLINK-17439] Fork dev-1.10 branch
Posted by ch...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
chesnay pushed a commit to branch dev-1.10
in repository https://gitbox.apache.org/repos/asf/flink-docker.git
commit 5ca8c227dbacf35c723125367b0370706d36014f
Author: Chesnay Schepler <ch...@apache.org>
AuthorDate: Tue Apr 28 14:19:55 2020 +0200
[FLINK-17439] Fork dev-1.10 branch
- remove .asf.yaml, we only need it in the master branch
- remove generated Dockerfiles,we can now generate them during CI instead
- remove README.md, the master README.md will contain all necessary information
- remove stackbrew generators, only relevant for releases and will be retained on master
- remove testing_lib.sh#smoke_test_one_image, now redundant
- deduplicate testing_lib#sh#smoke_test_all_images and #smoke_test_non_root
---
.asf.yaml | 10 --
1.10/scala_2.11-debian/Dockerfile | 87 --------------
1.10/scala_2.11-debian/docker-entrypoint.sh | 114 -------------------
1.10/scala_2.12-debian/Dockerfile | 87 --------------
1.10/scala_2.12-debian/docker-entrypoint.sh | 114 -------------------
1.9/scala_2.11-debian/Dockerfile | 87 --------------
1.9/scala_2.11-debian/docker-entrypoint.sh | 114 -------------------
1.9/scala_2.12-debian/Dockerfile | 87 --------------
1.9/scala_2.12-debian/docker-entrypoint.sh | 114 -------------------
README.md | 121 --------------------
generate-stackbrew-library-docker.sh | 6 -
generate-stackbrew-library.sh | 169 ----------------------------
testing/run_travis_tests.sh | 7 +-
testing/testing_lib.sh | 79 +++----------
14 files changed, 22 insertions(+), 1174 deletions(-)
diff --git a/.asf.yaml b/.asf.yaml
deleted file mode 100644
index 867d33f..0000000
--- a/.asf.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-github:
- description: "Docker packaging for Apache Flink"
- homepage: https://flink.apache.org/
- labels:
- - flink
- - docker
- enabled_merge_buttons:
- squash: true
- merge: false
- rebase: true
diff --git a/1.10/scala_2.11-debian/Dockerfile b/1.10/scala_2.11-debian/Dockerfile
deleted file mode 100644
index f7b5f6d..0000000
--- a/1.10/scala_2.11-debian/Dockerfile
+++ /dev/null
@@ -1,87 +0,0 @@
-###############################################################################
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###############################################################################
-
-FROM openjdk:8-jre
-
-# Install dependencies
-RUN set -ex; \
- apt-get update; \
- apt-get -y install libsnappy1v5 gettext-base; \
- rm -rf /var/lib/apt/lists/*
-
-# Grab gosu for easy step-down from root
-ENV GOSU_VERSION 1.11
-RUN set -ex; \
- wget -nv -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)"; \
- wget -nv -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc"; \
- export GNUPGHOME="$(mktemp -d)"; \
- for server in ha.pool.sks-keyservers.net $(shuf -e \
- hkp://p80.pool.sks-keyservers.net:80 \
- keyserver.ubuntu.com \
- hkp://keyserver.ubuntu.com:80 \
- pgp.mit.edu) ; do \
- gpg --batch --keyserver "$server" --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 && break || : ; \
- done && \
- gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
- gpgconf --kill all; \
- rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
- chmod +x /usr/local/bin/gosu; \
- gosu nobody true
-
-# Configure Flink version
-ENV FLINK_TGZ_URL=https://www.apache.org/dyn/closer.cgi?action=download&filename=flink/flink-1.10.0/flink-1.10.0-bin-scala_2.11.tgz \
- FLINK_ASC_URL=https://www.apache.org/dist/flink/flink-1.10.0/flink-1.10.0-bin-scala_2.11.tgz.asc \
- GPG_KEY=BB137807CEFBE7DD2616556710B12A1F89C115E8 \
- SKIP_GPG=false
-
-# Prepare environment
-ENV FLINK_HOME=/opt/flink
-ENV PATH=$FLINK_HOME/bin:$PATH
-RUN groupadd --system --gid=9999 flink && \
- useradd --system --home-dir $FLINK_HOME --uid=9999 --gid=flink flink
-WORKDIR $FLINK_HOME
-
-# Install Flink
-RUN set -ex; \
- wget -nv -O flink.tgz "$FLINK_TGZ_URL"; \
- \
- if [ "$SKIP_GPG" = "false" ]; then \
- wget -nv -O flink.tgz.asc "$FLINK_ASC_URL"; \
- export GNUPGHOME="$(mktemp -d)"; \
- for server in ha.pool.sks-keyservers.net $(shuf -e \
- hkp://p80.pool.sks-keyservers.net:80 \
- keyserver.ubuntu.com \
- hkp://keyserver.ubuntu.com:80 \
- pgp.mit.edu) ; do \
- gpg --batch --keyserver "$server" --recv-keys "$GPG_KEY" && break || : ; \
- done && \
- gpg --batch --verify flink.tgz.asc flink.tgz; \
- gpgconf --kill all; \
- rm -rf "$GNUPGHOME" flink.tgz.asc; \
- fi; \
- \
- tar -xf flink.tgz --strip-components=1; \
- rm flink.tgz; \
- \
- chown -R flink:flink .;
-
-# Configure container
-COPY docker-entrypoint.sh /
-ENTRYPOINT ["/docker-entrypoint.sh"]
-EXPOSE 6123 8081
-CMD ["help"]
diff --git a/1.10/scala_2.11-debian/docker-entrypoint.sh b/1.10/scala_2.11-debian/docker-entrypoint.sh
deleted file mode 100755
index 011ccea..0000000
--- a/1.10/scala_2.11-debian/docker-entrypoint.sh
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/sh
-
-###############################################################################
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###############################################################################
-
-# If unspecified, the hostname of the container is taken as the JobManager address
-JOB_MANAGER_RPC_ADDRESS=${JOB_MANAGER_RPC_ADDRESS:-$(hostname -f)}
-CONF_FILE="${FLINK_HOME}/conf/flink-conf.yaml"
-
-drop_privs_cmd() {
- if [ $(id -u) != 0 ]; then
- # Don't need to drop privs if EUID != 0
- return
- elif [ -x /sbin/su-exec ]; then
- # Alpine
- echo su-exec flink
- else
- # Others
- echo gosu flink
- fi
-}
-
-copy_plugins_if_required() {
- if [ -z "$ENABLE_BUILT_IN_PLUGINS" ]; then
- return 0
- fi
-
- echo "Enabling required built-in plugins"
- for target_plugin in $(echo "$ENABLE_BUILT_IN_PLUGINS" | tr ';' ' '); do
- echo "Linking ${target_plugin} to plugin directory"
- plugin_name=${target_plugin%.jar}
-
- mkdir -p "${FLINK_HOME}/plugins/${plugin_name}"
- if [ ! -e "${FLINK_HOME}/opt/${target_plugin}" ]; then
- echo "Plugin ${target_plugin} does not exist. Exiting."
- exit 1
- else
- ln -fs "${FLINK_HOME}/opt/${target_plugin}" "${FLINK_HOME}/plugins/${plugin_name}"
- echo "Successfully enabled ${target_plugin}"
- fi
- done
-}
-
-set_config_option() {
- local option=$1
- local value=$2
-
- # escape periods for usage in regular expressions
- local escaped_option=$(echo ${option} | sed -e "s/\./\\\./g")
-
- # either override an existing entry, or append a new one
- if grep -E "^${escaped_option}:.*" "${CONF_FILE}" > /dev/null; then
- sed -i -e "s/${escaped_option}:.*/$option: $value/g" "${CONF_FILE}"
- else
- echo "${option}: ${value}" >> "${CONF_FILE}"
- fi
-}
-
-set_common_options() {
- set_config_option jobmanager.rpc.address ${JOB_MANAGER_RPC_ADDRESS}
- set_config_option blob.server.port 6124
- set_config_option query.server.port 6125
-}
-
-if [ "$1" = "help" ]; then
- echo "Usage: $(basename "$0") (jobmanager|taskmanager|help)"
- exit 0
-elif [ "$1" = "jobmanager" ]; then
- shift 1
- echo "Starting Job Manager"
- copy_plugins_if_required
-
- set_common_options
-
- if [ -n "${FLINK_PROPERTIES}" ]; then
- echo "${FLINK_PROPERTIES}" >> "${CONF_FILE}"
- fi
- envsubst < "${CONF_FILE}" > "${CONF_FILE}.tmp" && mv "${CONF_FILE}.tmp" "${CONF_FILE}"
-
- exec $(drop_privs_cmd) "$FLINK_HOME/bin/jobmanager.sh" start-foreground "$@"
-elif [ "$1" = "taskmanager" ]; then
- shift 1
- echo "Starting Task Manager"
- copy_plugins_if_required
-
- TASK_MANAGER_NUMBER_OF_TASK_SLOTS=${TASK_MANAGER_NUMBER_OF_TASK_SLOTS:-$(grep -c ^processor /proc/cpuinfo)}
-
- set_common_options
- set_config_option taskmanager.numberOfTaskSlots ${TASK_MANAGER_NUMBER_OF_TASK_SLOTS}
-
- if [ -n "${FLINK_PROPERTIES}" ]; then
- echo "${FLINK_PROPERTIES}" >> "${CONF_FILE}"
- fi
- envsubst < "${CONF_FILE}" > "${CONF_FILE}.tmp" && mv "${CONF_FILE}.tmp" "${CONF_FILE}"
-
- exec $(drop_privs_cmd) "$FLINK_HOME/bin/taskmanager.sh" start-foreground "$@"
-fi
-
-exec "$@"
diff --git a/1.10/scala_2.12-debian/Dockerfile b/1.10/scala_2.12-debian/Dockerfile
deleted file mode 100644
index cf22764..0000000
--- a/1.10/scala_2.12-debian/Dockerfile
+++ /dev/null
@@ -1,87 +0,0 @@
-###############################################################################
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###############################################################################
-
-FROM openjdk:8-jre
-
-# Install dependencies
-RUN set -ex; \
- apt-get update; \
- apt-get -y install libsnappy1v5 gettext-base; \
- rm -rf /var/lib/apt/lists/*
-
-# Grab gosu for easy step-down from root
-ENV GOSU_VERSION 1.11
-RUN set -ex; \
- wget -nv -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)"; \
- wget -nv -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc"; \
- export GNUPGHOME="$(mktemp -d)"; \
- for server in ha.pool.sks-keyservers.net $(shuf -e \
- hkp://p80.pool.sks-keyservers.net:80 \
- keyserver.ubuntu.com \
- hkp://keyserver.ubuntu.com:80 \
- pgp.mit.edu) ; do \
- gpg --batch --keyserver "$server" --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 && break || : ; \
- done && \
- gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
- gpgconf --kill all; \
- rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
- chmod +x /usr/local/bin/gosu; \
- gosu nobody true
-
-# Configure Flink version
-ENV FLINK_TGZ_URL=https://www.apache.org/dyn/closer.cgi?action=download&filename=flink/flink-1.10.0/flink-1.10.0-bin-scala_2.12.tgz \
- FLINK_ASC_URL=https://www.apache.org/dist/flink/flink-1.10.0/flink-1.10.0-bin-scala_2.12.tgz.asc \
- GPG_KEY=BB137807CEFBE7DD2616556710B12A1F89C115E8 \
- SKIP_GPG=false
-
-# Prepare environment
-ENV FLINK_HOME=/opt/flink
-ENV PATH=$FLINK_HOME/bin:$PATH
-RUN groupadd --system --gid=9999 flink && \
- useradd --system --home-dir $FLINK_HOME --uid=9999 --gid=flink flink
-WORKDIR $FLINK_HOME
-
-# Install Flink
-RUN set -ex; \
- wget -nv -O flink.tgz "$FLINK_TGZ_URL"; \
- \
- if [ "$SKIP_GPG" = "false" ]; then \
- wget -nv -O flink.tgz.asc "$FLINK_ASC_URL"; \
- export GNUPGHOME="$(mktemp -d)"; \
- for server in ha.pool.sks-keyservers.net $(shuf -e \
- hkp://p80.pool.sks-keyservers.net:80 \
- keyserver.ubuntu.com \
- hkp://keyserver.ubuntu.com:80 \
- pgp.mit.edu) ; do \
- gpg --batch --keyserver "$server" --recv-keys "$GPG_KEY" && break || : ; \
- done && \
- gpg --batch --verify flink.tgz.asc flink.tgz; \
- gpgconf --kill all; \
- rm -rf "$GNUPGHOME" flink.tgz.asc; \
- fi; \
- \
- tar -xf flink.tgz --strip-components=1; \
- rm flink.tgz; \
- \
- chown -R flink:flink .;
-
-# Configure container
-COPY docker-entrypoint.sh /
-ENTRYPOINT ["/docker-entrypoint.sh"]
-EXPOSE 6123 8081
-CMD ["help"]
diff --git a/1.10/scala_2.12-debian/docker-entrypoint.sh b/1.10/scala_2.12-debian/docker-entrypoint.sh
deleted file mode 100755
index 011ccea..0000000
--- a/1.10/scala_2.12-debian/docker-entrypoint.sh
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/sh
-
-###############################################################################
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###############################################################################
-
-# If unspecified, the hostname of the container is taken as the JobManager address
-JOB_MANAGER_RPC_ADDRESS=${JOB_MANAGER_RPC_ADDRESS:-$(hostname -f)}
-CONF_FILE="${FLINK_HOME}/conf/flink-conf.yaml"
-
-drop_privs_cmd() {
- if [ $(id -u) != 0 ]; then
- # Don't need to drop privs if EUID != 0
- return
- elif [ -x /sbin/su-exec ]; then
- # Alpine
- echo su-exec flink
- else
- # Others
- echo gosu flink
- fi
-}
-
-copy_plugins_if_required() {
- if [ -z "$ENABLE_BUILT_IN_PLUGINS" ]; then
- return 0
- fi
-
- echo "Enabling required built-in plugins"
- for target_plugin in $(echo "$ENABLE_BUILT_IN_PLUGINS" | tr ';' ' '); do
- echo "Linking ${target_plugin} to plugin directory"
- plugin_name=${target_plugin%.jar}
-
- mkdir -p "${FLINK_HOME}/plugins/${plugin_name}"
- if [ ! -e "${FLINK_HOME}/opt/${target_plugin}" ]; then
- echo "Plugin ${target_plugin} does not exist. Exiting."
- exit 1
- else
- ln -fs "${FLINK_HOME}/opt/${target_plugin}" "${FLINK_HOME}/plugins/${plugin_name}"
- echo "Successfully enabled ${target_plugin}"
- fi
- done
-}
-
-set_config_option() {
- local option=$1
- local value=$2
-
- # escape periods for usage in regular expressions
- local escaped_option=$(echo ${option} | sed -e "s/\./\\\./g")
-
- # either override an existing entry, or append a new one
- if grep -E "^${escaped_option}:.*" "${CONF_FILE}" > /dev/null; then
- sed -i -e "s/${escaped_option}:.*/$option: $value/g" "${CONF_FILE}"
- else
- echo "${option}: ${value}" >> "${CONF_FILE}"
- fi
-}
-
-set_common_options() {
- set_config_option jobmanager.rpc.address ${JOB_MANAGER_RPC_ADDRESS}
- set_config_option blob.server.port 6124
- set_config_option query.server.port 6125
-}
-
-if [ "$1" = "help" ]; then
- echo "Usage: $(basename "$0") (jobmanager|taskmanager|help)"
- exit 0
-elif [ "$1" = "jobmanager" ]; then
- shift 1
- echo "Starting Job Manager"
- copy_plugins_if_required
-
- set_common_options
-
- if [ -n "${FLINK_PROPERTIES}" ]; then
- echo "${FLINK_PROPERTIES}" >> "${CONF_FILE}"
- fi
- envsubst < "${CONF_FILE}" > "${CONF_FILE}.tmp" && mv "${CONF_FILE}.tmp" "${CONF_FILE}"
-
- exec $(drop_privs_cmd) "$FLINK_HOME/bin/jobmanager.sh" start-foreground "$@"
-elif [ "$1" = "taskmanager" ]; then
- shift 1
- echo "Starting Task Manager"
- copy_plugins_if_required
-
- TASK_MANAGER_NUMBER_OF_TASK_SLOTS=${TASK_MANAGER_NUMBER_OF_TASK_SLOTS:-$(grep -c ^processor /proc/cpuinfo)}
-
- set_common_options
- set_config_option taskmanager.numberOfTaskSlots ${TASK_MANAGER_NUMBER_OF_TASK_SLOTS}
-
- if [ -n "${FLINK_PROPERTIES}" ]; then
- echo "${FLINK_PROPERTIES}" >> "${CONF_FILE}"
- fi
- envsubst < "${CONF_FILE}" > "${CONF_FILE}.tmp" && mv "${CONF_FILE}.tmp" "${CONF_FILE}"
-
- exec $(drop_privs_cmd) "$FLINK_HOME/bin/taskmanager.sh" start-foreground "$@"
-fi
-
-exec "$@"
diff --git a/1.9/scala_2.11-debian/Dockerfile b/1.9/scala_2.11-debian/Dockerfile
deleted file mode 100644
index 8f71da8..0000000
--- a/1.9/scala_2.11-debian/Dockerfile
+++ /dev/null
@@ -1,87 +0,0 @@
-###############################################################################
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###############################################################################
-
-FROM openjdk:8-jre
-
-# Install dependencies
-RUN set -ex; \
- apt-get update; \
- apt-get -y install libsnappy1v5 gettext-base; \
- rm -rf /var/lib/apt/lists/*
-
-# Grab gosu for easy step-down from root
-ENV GOSU_VERSION 1.11
-RUN set -ex; \
- wget -nv -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)"; \
- wget -nv -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc"; \
- export GNUPGHOME="$(mktemp -d)"; \
- for server in ha.pool.sks-keyservers.net $(shuf -e \
- hkp://p80.pool.sks-keyservers.net:80 \
- keyserver.ubuntu.com \
- hkp://keyserver.ubuntu.com:80 \
- pgp.mit.edu) ; do \
- gpg --batch --keyserver "$server" --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 && break || : ; \
- done && \
- gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
- gpgconf --kill all; \
- rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
- chmod +x /usr/local/bin/gosu; \
- gosu nobody true
-
-# Configure Flink version
-ENV FLINK_TGZ_URL=https://www.apache.org/dyn/closer.cgi?action=download&filename=flink/flink-1.9.3/flink-1.9.3-bin-scala_2.11.tgz \
- FLINK_ASC_URL=https://www.apache.org/dist/flink/flink-1.9.3/flink-1.9.3-bin-scala_2.11.tgz.asc \
- GPG_KEY=6B6291A8502BA8F0913AE04DDEB95B05BF075300 \
- SKIP_GPG=false
-
-# Prepare environment
-ENV FLINK_HOME=/opt/flink
-ENV PATH=$FLINK_HOME/bin:$PATH
-RUN groupadd --system --gid=9999 flink && \
- useradd --system --home-dir $FLINK_HOME --uid=9999 --gid=flink flink
-WORKDIR $FLINK_HOME
-
-# Install Flink
-RUN set -ex; \
- wget -nv -O flink.tgz "$FLINK_TGZ_URL"; \
- \
- if [ "$SKIP_GPG" = "false" ]; then \
- wget -nv -O flink.tgz.asc "$FLINK_ASC_URL"; \
- export GNUPGHOME="$(mktemp -d)"; \
- for server in ha.pool.sks-keyservers.net $(shuf -e \
- hkp://p80.pool.sks-keyservers.net:80 \
- keyserver.ubuntu.com \
- hkp://keyserver.ubuntu.com:80 \
- pgp.mit.edu) ; do \
- gpg --batch --keyserver "$server" --recv-keys "$GPG_KEY" && break || : ; \
- done && \
- gpg --batch --verify flink.tgz.asc flink.tgz; \
- gpgconf --kill all; \
- rm -rf "$GNUPGHOME" flink.tgz.asc; \
- fi; \
- \
- tar -xf flink.tgz --strip-components=1; \
- rm flink.tgz; \
- \
- chown -R flink:flink .;
-
-# Configure container
-COPY docker-entrypoint.sh /
-ENTRYPOINT ["/docker-entrypoint.sh"]
-EXPOSE 6123 8081
-CMD ["help"]
diff --git a/1.9/scala_2.11-debian/docker-entrypoint.sh b/1.9/scala_2.11-debian/docker-entrypoint.sh
deleted file mode 100755
index 011ccea..0000000
--- a/1.9/scala_2.11-debian/docker-entrypoint.sh
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/sh
-
-###############################################################################
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###############################################################################
-
-# If unspecified, the hostname of the container is taken as the JobManager address
-JOB_MANAGER_RPC_ADDRESS=${JOB_MANAGER_RPC_ADDRESS:-$(hostname -f)}
-CONF_FILE="${FLINK_HOME}/conf/flink-conf.yaml"
-
-drop_privs_cmd() {
- if [ $(id -u) != 0 ]; then
- # Don't need to drop privs if EUID != 0
- return
- elif [ -x /sbin/su-exec ]; then
- # Alpine
- echo su-exec flink
- else
- # Others
- echo gosu flink
- fi
-}
-
-copy_plugins_if_required() {
- if [ -z "$ENABLE_BUILT_IN_PLUGINS" ]; then
- return 0
- fi
-
- echo "Enabling required built-in plugins"
- for target_plugin in $(echo "$ENABLE_BUILT_IN_PLUGINS" | tr ';' ' '); do
- echo "Linking ${target_plugin} to plugin directory"
- plugin_name=${target_plugin%.jar}
-
- mkdir -p "${FLINK_HOME}/plugins/${plugin_name}"
- if [ ! -e "${FLINK_HOME}/opt/${target_plugin}" ]; then
- echo "Plugin ${target_plugin} does not exist. Exiting."
- exit 1
- else
- ln -fs "${FLINK_HOME}/opt/${target_plugin}" "${FLINK_HOME}/plugins/${plugin_name}"
- echo "Successfully enabled ${target_plugin}"
- fi
- done
-}
-
-set_config_option() {
- local option=$1
- local value=$2
-
- # escape periods for usage in regular expressions
- local escaped_option=$(echo ${option} | sed -e "s/\./\\\./g")
-
- # either override an existing entry, or append a new one
- if grep -E "^${escaped_option}:.*" "${CONF_FILE}" > /dev/null; then
- sed -i -e "s/${escaped_option}:.*/$option: $value/g" "${CONF_FILE}"
- else
- echo "${option}: ${value}" >> "${CONF_FILE}"
- fi
-}
-
-set_common_options() {
- set_config_option jobmanager.rpc.address ${JOB_MANAGER_RPC_ADDRESS}
- set_config_option blob.server.port 6124
- set_config_option query.server.port 6125
-}
-
-if [ "$1" = "help" ]; then
- echo "Usage: $(basename "$0") (jobmanager|taskmanager|help)"
- exit 0
-elif [ "$1" = "jobmanager" ]; then
- shift 1
- echo "Starting Job Manager"
- copy_plugins_if_required
-
- set_common_options
-
- if [ -n "${FLINK_PROPERTIES}" ]; then
- echo "${FLINK_PROPERTIES}" >> "${CONF_FILE}"
- fi
- envsubst < "${CONF_FILE}" > "${CONF_FILE}.tmp" && mv "${CONF_FILE}.tmp" "${CONF_FILE}"
-
- exec $(drop_privs_cmd) "$FLINK_HOME/bin/jobmanager.sh" start-foreground "$@"
-elif [ "$1" = "taskmanager" ]; then
- shift 1
- echo "Starting Task Manager"
- copy_plugins_if_required
-
- TASK_MANAGER_NUMBER_OF_TASK_SLOTS=${TASK_MANAGER_NUMBER_OF_TASK_SLOTS:-$(grep -c ^processor /proc/cpuinfo)}
-
- set_common_options
- set_config_option taskmanager.numberOfTaskSlots ${TASK_MANAGER_NUMBER_OF_TASK_SLOTS}
-
- if [ -n "${FLINK_PROPERTIES}" ]; then
- echo "${FLINK_PROPERTIES}" >> "${CONF_FILE}"
- fi
- envsubst < "${CONF_FILE}" > "${CONF_FILE}.tmp" && mv "${CONF_FILE}.tmp" "${CONF_FILE}"
-
- exec $(drop_privs_cmd) "$FLINK_HOME/bin/taskmanager.sh" start-foreground "$@"
-fi
-
-exec "$@"
diff --git a/1.9/scala_2.12-debian/Dockerfile b/1.9/scala_2.12-debian/Dockerfile
deleted file mode 100644
index 095e9d2..0000000
--- a/1.9/scala_2.12-debian/Dockerfile
+++ /dev/null
@@ -1,87 +0,0 @@
-###############################################################################
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###############################################################################
-
-FROM openjdk:8-jre
-
-# Install dependencies
-RUN set -ex; \
- apt-get update; \
- apt-get -y install libsnappy1v5 gettext-base; \
- rm -rf /var/lib/apt/lists/*
-
-# Grab gosu for easy step-down from root
-ENV GOSU_VERSION 1.11
-RUN set -ex; \
- wget -nv -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)"; \
- wget -nv -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc"; \
- export GNUPGHOME="$(mktemp -d)"; \
- for server in ha.pool.sks-keyservers.net $(shuf -e \
- hkp://p80.pool.sks-keyservers.net:80 \
- keyserver.ubuntu.com \
- hkp://keyserver.ubuntu.com:80 \
- pgp.mit.edu) ; do \
- gpg --batch --keyserver "$server" --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 && break || : ; \
- done && \
- gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
- gpgconf --kill all; \
- rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
- chmod +x /usr/local/bin/gosu; \
- gosu nobody true
-
-# Configure Flink version
-ENV FLINK_TGZ_URL=https://www.apache.org/dyn/closer.cgi?action=download&filename=flink/flink-1.9.3/flink-1.9.3-bin-scala_2.12.tgz \
- FLINK_ASC_URL=https://www.apache.org/dist/flink/flink-1.9.3/flink-1.9.3-bin-scala_2.12.tgz.asc \
- GPG_KEY=6B6291A8502BA8F0913AE04DDEB95B05BF075300 \
- SKIP_GPG=false
-
-# Prepare environment
-ENV FLINK_HOME=/opt/flink
-ENV PATH=$FLINK_HOME/bin:$PATH
-RUN groupadd --system --gid=9999 flink && \
- useradd --system --home-dir $FLINK_HOME --uid=9999 --gid=flink flink
-WORKDIR $FLINK_HOME
-
-# Install Flink
-RUN set -ex; \
- wget -nv -O flink.tgz "$FLINK_TGZ_URL"; \
- \
- if [ "$SKIP_GPG" = "false" ]; then \
- wget -nv -O flink.tgz.asc "$FLINK_ASC_URL"; \
- export GNUPGHOME="$(mktemp -d)"; \
- for server in ha.pool.sks-keyservers.net $(shuf -e \
- hkp://p80.pool.sks-keyservers.net:80 \
- keyserver.ubuntu.com \
- hkp://keyserver.ubuntu.com:80 \
- pgp.mit.edu) ; do \
- gpg --batch --keyserver "$server" --recv-keys "$GPG_KEY" && break || : ; \
- done && \
- gpg --batch --verify flink.tgz.asc flink.tgz; \
- gpgconf --kill all; \
- rm -rf "$GNUPGHOME" flink.tgz.asc; \
- fi; \
- \
- tar -xf flink.tgz --strip-components=1; \
- rm flink.tgz; \
- \
- chown -R flink:flink .;
-
-# Configure container
-COPY docker-entrypoint.sh /
-ENTRYPOINT ["/docker-entrypoint.sh"]
-EXPOSE 6123 8081
-CMD ["help"]
diff --git a/1.9/scala_2.12-debian/docker-entrypoint.sh b/1.9/scala_2.12-debian/docker-entrypoint.sh
deleted file mode 100755
index 011ccea..0000000
--- a/1.9/scala_2.12-debian/docker-entrypoint.sh
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/sh
-
-###############################################################################
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###############################################################################
-
-# If unspecified, the hostname of the container is taken as the JobManager address
-JOB_MANAGER_RPC_ADDRESS=${JOB_MANAGER_RPC_ADDRESS:-$(hostname -f)}
-CONF_FILE="${FLINK_HOME}/conf/flink-conf.yaml"
-
-drop_privs_cmd() {
- if [ $(id -u) != 0 ]; then
- # Don't need to drop privs if EUID != 0
- return
- elif [ -x /sbin/su-exec ]; then
- # Alpine
- echo su-exec flink
- else
- # Others
- echo gosu flink
- fi
-}
-
-copy_plugins_if_required() {
- if [ -z "$ENABLE_BUILT_IN_PLUGINS" ]; then
- return 0
- fi
-
- echo "Enabling required built-in plugins"
- for target_plugin in $(echo "$ENABLE_BUILT_IN_PLUGINS" | tr ';' ' '); do
- echo "Linking ${target_plugin} to plugin directory"
- plugin_name=${target_plugin%.jar}
-
- mkdir -p "${FLINK_HOME}/plugins/${plugin_name}"
- if [ ! -e "${FLINK_HOME}/opt/${target_plugin}" ]; then
- echo "Plugin ${target_plugin} does not exist. Exiting."
- exit 1
- else
- ln -fs "${FLINK_HOME}/opt/${target_plugin}" "${FLINK_HOME}/plugins/${plugin_name}"
- echo "Successfully enabled ${target_plugin}"
- fi
- done
-}
-
-set_config_option() {
- local option=$1
- local value=$2
-
- # escape periods for usage in regular expressions
- local escaped_option=$(echo ${option} | sed -e "s/\./\\\./g")
-
- # either override an existing entry, or append a new one
- if grep -E "^${escaped_option}:.*" "${CONF_FILE}" > /dev/null; then
- sed -i -e "s/${escaped_option}:.*/$option: $value/g" "${CONF_FILE}"
- else
- echo "${option}: ${value}" >> "${CONF_FILE}"
- fi
-}
-
-set_common_options() {
- set_config_option jobmanager.rpc.address ${JOB_MANAGER_RPC_ADDRESS}
- set_config_option blob.server.port 6124
- set_config_option query.server.port 6125
-}
-
-if [ "$1" = "help" ]; then
- echo "Usage: $(basename "$0") (jobmanager|taskmanager|help)"
- exit 0
-elif [ "$1" = "jobmanager" ]; then
- shift 1
- echo "Starting Job Manager"
- copy_plugins_if_required
-
- set_common_options
-
- if [ -n "${FLINK_PROPERTIES}" ]; then
- echo "${FLINK_PROPERTIES}" >> "${CONF_FILE}"
- fi
- envsubst < "${CONF_FILE}" > "${CONF_FILE}.tmp" && mv "${CONF_FILE}.tmp" "${CONF_FILE}"
-
- exec $(drop_privs_cmd) "$FLINK_HOME/bin/jobmanager.sh" start-foreground "$@"
-elif [ "$1" = "taskmanager" ]; then
- shift 1
- echo "Starting Task Manager"
- copy_plugins_if_required
-
- TASK_MANAGER_NUMBER_OF_TASK_SLOTS=${TASK_MANAGER_NUMBER_OF_TASK_SLOTS:-$(grep -c ^processor /proc/cpuinfo)}
-
- set_common_options
- set_config_option taskmanager.numberOfTaskSlots ${TASK_MANAGER_NUMBER_OF_TASK_SLOTS}
-
- if [ -n "${FLINK_PROPERTIES}" ]; then
- echo "${FLINK_PROPERTIES}" >> "${CONF_FILE}"
- fi
- envsubst < "${CONF_FILE}" > "${CONF_FILE}.tmp" && mv "${CONF_FILE}.tmp" "${CONF_FILE}"
-
- exec $(drop_privs_cmd) "$FLINK_HOME/bin/taskmanager.sh" start-foreground "$@"
-fi
-
-exec "$@"
diff --git a/README.md b/README.md
deleted file mode 100644
index ff13dd7..0000000
--- a/README.md
+++ /dev/null
@@ -1,121 +0,0 @@
-Apache Flink Docker Images
-==========================
-
-This repo contains Dockerfiles for building Docker images for Apache Flink, and are used to build
-the "official" [`flink`](https://hub.docker.com/_/flink) images hosted on Docker Hub.
-
-These Dockerfiles are maintained by the Apache Flink community, but the Docker community is
-responsible for building and hosting the images on Docker Hub.
-
-[](https://travis-ci.org/apache/flink-docker)
-
-
-Flink Docker image lifecycle
-----------------------------
-
-* For more information about how changes in this repo are reflected on Docker Hub, see [the "An
- image's source changed in Git, now what?" FAQ entry](
- https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what)
-* For outstanding changes to the Apache Flink images on Docker Hub, see [PRs with the
- "library/flink" label on the `official-images` repository](
- https://github.com/docker-library/official-images/labels/library%2Fflink)
-* For the "source of truth" for which Dockerfile and revision is reflected in the Apache Flink
- images on Docker Hub, see [the `library/flink` file in the `official-images` repository](
- https://github.com/docker-library/official-images/blob/master/library/flink).
-
-
-Workflow for new Flink releases
--------------------------------
-
-### Notes for new Flink minor (x.y.0) releases
-
-There are additional steps required when a new Flink minor version (x.y.0) is released.
-
-* Since only the current and previous minor versions of Flink are supported, the Dockerfiles for
- older versions must be removed when adding the new version to this repo
-* The new images should be given the `latest` tag, so the `aliases` array in
- `generate-stackbrew-library.sh` must be updated
-
-
-### Release workflow
-
-When a new release of Flink is available, the Dockerfiles in this repo should be updated and a new
-manifest sent to the Docker Library [`official-images`](
-https://github.com/docker-library/official-images) repo.
-
-Updating the Dockerfiles involves 3 steps:
-
-1. Update `add-version.sh` with the GPG key ID of the key used to sign the new release
- * Commit this change with message `Add GPG key for x.y.z release` <sup>\[[example](
- https://github.com/apache/flink-docker/commit/94845f46c0f0f2de80d4a5ce309db49aff4655d0)]</sup>
-2. Remove any existing Dockerfiles from the same minor version
- * e.g. `rm -r 1.2`, if the new Flink version is `1.2.1`
-3. Run `add-version.sh` with the appropriate arguments (`-r flink-minor-version -f
- flink-full-version`)
- * e.g. `./add-version.sh -r 1.2 -f 1.2.1`
- * Commit these changes with message `Update Dockerfiles for x.y.z release` <sup>\[[example](
- https://github.com/apache/flink-docker/commit/5920fd775ca1a8d03ee959d79bceeb5d6e8f35a1)]</sup>
-
-A pull request can then be opened on this repo with the changes.
-
-Once the pull request has been merged, a new manifest should be generated and a pull request opened
-on the Docker Library [`official-images`](https://github.com/docker-library/official-images) repo.
-
-1. Run `./generate-stackbrew-library.sh` to output the new manifest (see note [below](
- #stackbrew-manifest) regarding usage of this script)
-2. In a clone of the [`official-images`](https://github.com/docker-library/official-images) repo,
- overwrite the file `library/flink` with the new manifest
-3. Commit this change with message `Update to Flink x.y.z` <sup>\[[example](
- https://github.com/docker-library/official-images/commit/396d6cfa03c4e6b41d3ba5b7c402d7b25f1db415
- )]</sup>
-
-A pull request can then be opened on the [`official-images`](
-https://github.com/docker-library/official-images) repo with the new manifest. <sup>\[[example](
-https://github.com/docker-library/official-images/pull/7378)]</sup>
-
-Once the pull request has been merged (often within 1 business day), the new images will be
-available shortly thereafter.
-
-
-### Release checklist
-
-- [ ] The GPG key ID of the key used to sign the release has been added to `add-version.sh` and
- committed with the message `Add GPG key for x.y.z release`
-- [ ] _(new minor releases only)_ any unsupported Flink minor version Dockerfiles have been removed
- (only two `x.y/` directories should be present)
-- [ ] _(new patch releases only)_ any existing generated files for the same minor version have been
- removed
-- [ ] `./add-version.sh -r x.y -f x.y.z` has been run, and the updated Dockerfiles committed with
- the message `Update Dockerfiles for x.y.z release`
-- [ ] _(new minor releases only)_ the `aliases` array in `generate-stackbrew-library.sh` has been
- updated with `[x.y]='latest'` and committed with the message `Update latest image tag to x.y`
-- [ ] A pull request with the above changes has been opened on this repo and merged
-- [ ] The new library manifest has been generated with `generate-stackbrew-library.sh` and a pull
- request opened on the `official-images` repo with commit message `Update to Flink x.y.z`
-
-
-### Stackbrew Manifest
-
-`generate-stackbrew-library.sh` is used to generate the library manifest file required for official
-Docker Hub images.
-
-When the Dockerfiles in this repo are updated, the output of this script should replace the contents
-of `library/flink` in the Docker [official-images](https://github.com/docker-library/official-images
-) repo via a pull request.
-
-Note: Since this script requires the `bashbrew` binary and a compatible version of Bash, the script
-`generate-stackbrew-library-docker.sh` can be used to invoke the script in a Docker container with
-the necessary dependencies.
-
-Example:
-
- ./generate-stackbrew-library-docker.sh > /path/to/official-images/library/flink
-
-
-License
--------
-
-Licensed under the Apache License, Version 2.0: https://www.apache.org/licenses/LICENSE-2.0
-
-Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either
-registered trademarks or trademarks of The Apache Software Foundation.
diff --git a/generate-stackbrew-library-docker.sh b/generate-stackbrew-library-docker.sh
deleted file mode 100755
index 7b39013..0000000
--- a/generate-stackbrew-library-docker.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-exec docker run --rm \
- --volume "${PWD}:/build:ro" \
- plucas/docker-flink-build \
- /build/generate-stackbrew-library.sh
diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh
deleted file mode 100755
index c0f811c..0000000
--- a/generate-stackbrew-library.sh
+++ /dev/null
@@ -1,169 +0,0 @@
-#!/bin/bash
-
-# This script generates a manifest compatibile with the expectations set forth
-# by docker-library/official-images.
-#
-# It is not compatible with the version of Bash currently shipped with OS X due
-# to the use of features introduced in Bash 4.
-
-set -eu
-
-declare -A aliases=(
- [1.10]='latest'
-)
-
-self="$(basename "$BASH_SOURCE")"
-cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
-
-# Identify directories matching '?.?' (e.g. '1.7') and remove trailing slashes
-versions=( ?.?/ ?.??/ )
-versions=( "${versions[@]%/}" )
-
-# get the most recent commit which modified any of "$@"
-fileCommit() {
- git log -1 --format='format:%H' HEAD -- "$@"
-}
-
-# get the most recent commit which modified "$1/Dockerfile" or any file COPY'd from "$1/Dockerfile"
-dirCommit() {
- local dir="$1"; shift
- (
- cd "$dir"
- fileCommit \
- Dockerfile \
- $(git show HEAD:./Dockerfile | awk '
- toupper($1) == "COPY" {
- for (i = 2; i < NF; i++) {
- print $i
- }
- }
- ')
- )
-}
-
-getArches() {
- local repo="$1"; shift
- local officialImagesUrl='https://github.com/docker-library/official-images/raw/master/library/'
-
- eval "declare -g -A parentRepoToArches=( $(
- find -name 'Dockerfile' -exec awk '
- toupper($1) == "FROM" && $2 !~ /^('"$repo"'|scratch|microsoft\/[^:]+)(:|$)/ {
- print "'"$officialImagesUrl"'" $2
- }
- ' '{}' + \
- | sort -u \
- | xargs bashbrew cat --format '[{{ .RepoName }}:{{ .TagName }}]="{{ join " " .TagEntry.Architectures }}"'
- ) )"
-}
-getArches 'flink'
-
-cat <<-EOH
-# this file is generated via https://github.com/apache/flink-docker/blob/$(fileCommit "$self")/$self
-
-Maintainers: Patrick Lucas <me...@patricklucas.com> (@patricklucas),
- Ismaël Mejía <ie...@gmail.com> (@iemejia)
-GitRepo: https://github.com/apache/flink-docker.git
-EOH
-
-# prints "$2$1$3$1...$N"
-join() {
- local sep="$1"; shift
- local out; printf -v out "${sep//%/%%}%s" "$@"
- echo "${out#$sep}"
-}
-
-# Sorry for the style here, but it makes the nested code easier to read
-for version in "${versions[@]}"; do
-
-# Defaults, can vary between versions
-source_variants=( debian )
-scala_versions=( 2.11 2.12 )
-
-# Version-specific variants (example)
-# if [ "$flink_release" = "x.y" ]; then
-# scala_versions=( 2.10 2.11 2.12 )
-# fi
-
-for source_variant in "${source_variants[@]}"; do
-for scala_version in "${scala_versions[@]}"; do
- dir="$version/scala_${scala_version}-${source_variant}"
-
- # Not all variant combinations may exist
- [ -f "$dir/Dockerfile" ] || continue
-
- commit="$(dirCommit "$dir")"
-
- # Extract the full Flink version from the Dockerfile
- flink_version="$(git show "$commit":"$dir/Dockerfile" | awk '/ENV FLINK_VERSION=(.*) /{ split($2,a,"="); print a[2]}')"
-
- full_version=$flink_version-scala_$scala_version
-
- variantParent="$(awk 'toupper($1) == "FROM" { print $2 }' "$dir/Dockerfile")"
- variantArches="${parentRepoToArches[$variantParent]}"
-
- # Start with the full version e.g. "1.2.0-scala_2.11" and add
- # additional tags as relevant
- tags=( $full_version )
-
- is_latest_version=
- [ "$version" = "${versions[-1]}" ] && is_latest_version=1
-
- is_latest_scala=
- [ "$scala_version" = "${scala_versions[-1]}" ] && is_latest_scala=1
-
- add_tags=( $version )
-
- # Add a scala version tag to each image
- tags=(
- ${tags[@]}
- ${add_tags[@]/%/-scala_$scala_version}
- )
-
- # If this is the latest Flink release, add a tag with only the scala version
- if [ -n "$is_latest_version" ]; then
- tags=(
- ${tags[@]}
- "scala_$scala_version"
- )
- fi
-
- # For the latest supported Scala version, add tags that omit the scala version
- if [ -n "$is_latest_scala" ]; then
- tags=(
- ${tags[@]}
- $flink_version
- $version
- )
- fi
-
- # Add -$variant suffix for non-debian-based images
- if [ "$source_variant" != "debian" ]; then
- tags=( ${tags[@]/%/-$source_variant} )
- fi
-
- # Finally, designate the 'latest' tag (or '$variant', for non-debian-based images)
- if [ -n "$is_latest_scala" ]; then
- alias_tag="${aliases[$version]:-}"
- if [ -n "$alias_tag" ] && [ "$source_variant" != "debian" ]; then
- alias_tag="$source_variant"
- fi
-
- tags=(
- ${tags[@]}
- $alias_tag
- )
- fi
-
- echo
-
- # The tabs here are necessary for the heredoc to work right
- cat <<-EOE
- Tags: $(join ', ' "${tags[@]}")
- Architectures: $(join ', ' $variantArches)
- GitCommit: $commit
- Directory: $dir
- EOE
-
-done
-done
-done
diff --git a/testing/run_travis_tests.sh b/testing/run_travis_tests.sh
index f00890e..8ace2b7 100755
--- a/testing/run_travis_tests.sh
+++ b/testing/run_travis_tests.sh
@@ -19,10 +19,11 @@ if [ -n "$IS_PULL_REQUEST" ]; then
echo
fi
-if [ -z "$IS_PULL_REQUEST" ] && [ "$BRANCH" = "master" ]; then
- # Test all images on master
+./add-version.sh -r 1.10 -f 1.10.0
+
+if [ -z "$IS_PULL_REQUEST" ] && [ "$BRANCH" = "dev-1.10" ]; then
smoke_test_all_images
- smoke_test_non_root
+ smoke_test_one_image_non_root
else
# For pull requests and branches, test one image
smoke_test_one_image
diff --git a/testing/testing_lib.sh b/testing/testing_lib.sh
index 36dfe32..92f524d 100644
--- a/testing/testing_lib.sh
+++ b/testing/testing_lib.sh
@@ -63,26 +63,10 @@ function internal_run_jobmanager() {
internal_run "$1" "--name jobmanager --publish 6123:6123 --publish 8081:8081 $2" jobmanager
}
-function run_jobmanager() {
- internal_run_jobmanager "$1" ""
-}
-
-function run_jobmanager_non_root() {
- internal_run_jobmanager "$1" "--user flink"
-}
-
function internal_run_taskmanager() {
internal_run "$1" "--name taskmanager $2" "taskmanager"
}
-function run_taskmanager() {
- internal_run_taskmanager "$1" ""
-}
-
-function run_taskmanager_non_root() {
- internal_run_taskmanager "$1" "--user flink"
-}
-
function wait_for_jobmanager() {
local dockerfile
dockerfile="$1"
@@ -188,74 +172,47 @@ function cleanup() {
fi
}
-# For each image, run a jobmanager and taskmanager and verify they start up and connect to each
-# other successfully.
-function smoke_test_all_images() {
+function internal_smoke_test_images() {
+ local dockerfiles="$1"
+ local docker_run_command_args="$2"
+
create_network
trap cleanup EXIT RETURN
local jobmanager_container_id
local taskmanager_container_id
- local dockerfiles
- dockerfiles="$(ls ./*/*/Dockerfile)"
-
- echo >&2 "==> Test all images"
for dockerfile in $dockerfiles; do
build_image "$dockerfile"
- jobmanager_container_id="$(run_jobmanager "$dockerfile")"
- taskmanager_container_id="$(run_taskmanager "$dockerfile")"
+ jobmanager_container_id="$(internal_run_jobmanager "$dockerfile" "${docker_run_command_args}")"
+ taskmanager_container_id="$(internal_run_taskmanager "$dockerfile" "${docker_run_command_args}")"
wait_for_jobmanager "$dockerfile"
test_image "$dockerfile"
docker kill "$jobmanager_container_id" "$taskmanager_container_id" > /dev/null
done
}
+# For each image, run a jobmanager and taskmanager and verify they start up and connect to each
+# other successfully.
+function smoke_test_all_images() {
+ echo >&2 "==> Test all images"
+ internal_smoke_test_images "$(ls ./*/*/Dockerfile)" ""
+}
+
# Same as smoke_test_all_images, but test only the last image alphabetically (presumed to be the
# most recent).
function smoke_test_one_image() {
- create_network
- trap cleanup EXIT RETURN
-
- local jobmanager_container_id
- local taskmanager_container_id
- local dockerfiles
- dockerfiles="$dockerfiles $(ls ./*/*/Dockerfile | tail -n 1)"
-
echo >&2 "==> Test one image"
-
- for dockerfile in $dockerfiles; do
- build_image "$dockerfile"
- jobmanager_container_id="$(run_jobmanager "$dockerfile")"
- taskmanager_container_id="$(run_taskmanager "$dockerfile")"
- wait_for_jobmanager "$dockerfile"
- test_image "$dockerfile"
- docker kill "$jobmanager_container_id" "$taskmanager_container_id" > /dev/null
- done
+ internal_smoke_test_images "$(ls ./*/*/Dockerfile | tail -n 1)" ""
}
# Similar to smoke_test_one_image, but test one debian image and one alpine image running as a
# non-root user.
-function smoke_test_non_root() {
- create_network
- trap cleanup EXIT RETURN
-
- local jobmanager_container_id
- local taskmanager_container_id
- local dockerfiles
- dockerfiles="$dockerfiles $(ls ./*/*-debian/Dockerfile | tail -n 1)"
- dockerfiles="$dockerfiles $(ls ./*/*-alpine/Dockerfile | tail -n 1)"
-
+function smoke_test_one_image_non_root() {
echo >&2 "==> Test images running as non-root"
-
- for dockerfile in $dockerfiles; do
- build_image "$dockerfile"
- jobmanager_container_id="$(run_jobmanager_non_root "$dockerfile")"
- taskmanager_container_id="$(run_taskmanager_non_root "$dockerfile")"
- wait_for_jobmanager "$dockerfile"
- test_image "$dockerfile"
- docker kill "$jobmanager_container_id" "$taskmanager_container_id" > /dev/null
- done
+ local dockerfiles="$dockerfiles $(ls ./*/*-debian/Dockerfile | tail -n 1)"
+ dockerfiles="$dockerfiles $(ls ./*/*-alpine/Dockerfile | tail -n 1)"
+ internal_smoke_test_images "$dockerfiles" "--user flink"
}
# vim: ts=4 sw=4 et