| # 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. |
| |
| ARG BASE_IMAGE='adoptopenjdk/openjdk8:alpine-jre' |
| |
| FROM $BASE_IMAGE as cli |
| |
| WORKDIR /skywalking |
| |
| ARG SKYWALKING_CLI_VERSION=0.7.0 |
| ENV SKYWALKING_CLI_TGZ=skywalking-cli-$SKYWALKING_CLI_VERSION-bin.tgz |
| ENV SKYWALKING_CLI_ASC=${SKYWALKING_CLI_TGZ}.asc |
| ENV SKYWALKING_CLI_SHA512=${SKYWALKING_CLI_TGZ}.sha512 |
| |
| ENV SKYWALKING_CLI_TGZ_URLS \ |
| https://www.apache.org/dyn/closer.cgi?action=download&filename=skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_TGZ \ |
| # if the version is outdated, we might have to pull from the dist/archive :/ |
| https://www-us.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_TGZ \ |
| https://www.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_TGZ \ |
| https://archive.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_TGZ |
| |
| ENV SKYWALKING_CLI_ASC_URLS \ |
| https://www.apache.org/dyn/closer.cgi?action=download&filename=skywalking/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_ASC \ |
| # if the version is outdated, we might have to pull from the dist/archive :/ |
| https://www-us.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_ASC \ |
| https://www.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_ASC \ |
| https://archive.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_ASC |
| |
| ENV SKYWALKING_CLI_SHA512_URLS \ |
| https://www.apache.org/dyn/closer.cgi?action=download&filename=skywalking/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_SHA512 \ |
| # if the version is outdated, we might have to pull from the dist/archive :/ |
| https://www-us.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_SHA512 \ |
| https://www.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_SHA512 \ |
| https://archive.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_SHA512 |
| |
| |
| RUN set -eux; \ |
| \ |
| apk add --no-cache --virtual .fetch-deps \ |
| gnupg \ |
| ca-certificates \ |
| openssl \ |
| ; \ |
| \ |
| wget --timeout=20 -O KEYS https://downloads.apache.org/skywalking/KEYS; \ |
| gpg --import KEYS; \ |
| \ |
| success=; \ |
| for url in $SKYWALKING_CLI_TGZ_URLS; do \ |
| if wget --timeout=20 -O ${SKYWALKING_CLI_TGZ} "$url"; then \ |
| success=1; \ |
| break; \ |
| fi; \ |
| done; \ |
| [ -n "$success" ]; \ |
| \ |
| success=; \ |
| for url in $SKYWALKING_CLI_SHA512_URLS; do \ |
| if wget --timeout=20 -O ${SKYWALKING_CLI_SHA512} "$url"; then \ |
| success=1; \ |
| break; \ |
| fi; \ |
| done; \ |
| [ -n "$success" ]; \ |
| \ |
| sha512sum -c ${SKYWALKING_CLI_SHA512}; \ |
| \ |
| success=; \ |
| for url in $SKYWALKING_CLI_ASC_URLS; do \ |
| if wget --timeout=20 -O ${SKYWALKING_CLI_ASC} "$url"; then \ |
| success=1; \ |
| break; \ |
| fi; \ |
| done; \ |
| [ -n "$success" ]; \ |
| \ |
| gpg --batch --verify ${SKYWALKING_CLI_ASC} ${SKYWALKING_CLI_TGZ}; \ |
| tar -xvf ${SKYWALKING_CLI_TGZ}; \ |
| mkdir "bin/"; \ |
| mv skywalking-cli-${SKYWALKING_CLI_VERSION}-bin/bin/swctl-${SKYWALKING_CLI_VERSION}-linux-amd64 bin/swctl; \ |
| chmod 755 bin/*; \ |
| command -v gpgconf && gpgconf --kill all || :; \ |
| ls -la .; |
| |
| FROM $BASE_IMAGE |
| |
| ARG DIST=skywalking-agent |
| |
| RUN apk add --no-cache openssl |
| |
| LABEL maintainer="kezhenxu94@apache.org" |
| |
| ENV JAVA_TOOL_OPTIONS=-javaagent:/skywalking/agent/skywalking-agent.jar |
| |
| WORKDIR /skywalking |
| |
| ADD $DIST /skywalking/agent |
| |
| COPY --from=cli /skywalking/bin/swctl /usr/bin/swctl |