mirror of https://github.com/hyperledger/besu
New release docker image (#1664)
* removing unused docker image, switching to new docker image * switch to using the new release image and pipeline * pr fixes Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>pull/2/head
parent
17a7985c7f
commit
29c3c14263
@ -1,2 +1,3 @@ |
|||||||
pantheon-*.tar.gz |
pantheon-*.tar.gz |
||||||
pantheon/* |
pantheon/* |
||||||
|
pantheon-* |
@ -1,21 +1,28 @@ |
|||||||
FROM openjdk:11.0.2-jre-slim-stretch |
|
||||||
|
|
||||||
COPY pantheon-*.tar.gz /tmp/. |
|
||||||
RUN tar xzf /tmp/pantheon-*.tar.gz -C /tmp && \ |
|
||||||
rm /tmp/pantheon-*.tar.gz && \ |
|
||||||
mv /tmp/pantheon-* /opt/pantheon |
|
||||||
|
|
||||||
|
FROM openjdk:11.0.2-jre-slim-stretch |
||||||
|
|
||||||
RUN mkdir /var/lib/pantheon |
COPY pantheon /opt/pantheon/ |
||||||
RUN mkdir /etc/pantheon/ |
WORKDIR /opt/pantheon |
||||||
COPY entrypoint.sh /opt/pantheon/pantheon-entrypoint.sh |
|
||||||
RUN chmod +x /opt/pantheon/pantheon-entrypoint.sh |
|
||||||
|
|
||||||
WORKDIR /var/lib/pantheon |
|
||||||
VOLUME ["/var/lib/pantheon"] |
|
||||||
|
|
||||||
EXPOSE 8545 8546 30303 |
# Expose services ports |
||||||
|
# 8545 HTTP JSON-RPC |
||||||
|
# 8546 WS JSON-RPC |
||||||
|
# 8547 HTTP GraphQL |
||||||
|
# 30303 P2P |
||||||
|
EXPOSE 8545 8546 8547 30303 |
||||||
|
|
||||||
ENV PANTHEON_OPTS="-Dpantheon.docker=true" |
ENTRYPOINT ["/opt/pantheon/bin/pantheon"] |
||||||
|
|
||||||
ENTRYPOINT ["/opt/pantheon/pantheon-entrypoint.sh"] |
# Build-time metadata as defined at http://label-schema.org |
||||||
|
ARG BUILD_DATE |
||||||
|
ARG VCS_REF |
||||||
|
ARG VERSION |
||||||
|
LABEL org.label-schema.build-date=$BUILD_DATE \ |
||||||
|
org.label-schema.name="Pantheon" \ |
||||||
|
org.label-schema.description="Enterprise Ethereum client" \ |
||||||
|
org.label-schema.url="https://docs.pantheon.pegasys.tech/" \ |
||||||
|
org.label-schema.vcs-ref=$VCS_REF \ |
||||||
|
org.label-schema.vcs-url="https://github.com/PegaSysEng/pantheon.git" \ |
||||||
|
org.label-schema.vendor="Pegasys" \ |
||||||
|
org.label-schema.version=$VERSION \ |
||||||
|
org.label-schema.schema-version="1.0" |
@ -1,205 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
|
|
||||||
set -e |
|
||||||
|
|
||||||
if ! { [ "${1#-}" != "$1" ] || [ "$#" == 0 ] || [ "$1" == "blocks" ] || [ "$1" == "public-key" ] || [ "$1" == "password" ]; }; then |
|
||||||
exec "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
p2plistenset=false |
|
||||||
rpclistenset=false |
|
||||||
wslistenset=false |
|
||||||
|
|
||||||
for i in "$@"; do |
|
||||||
case "$i" in |
|
||||||
--rpc-http-host) rpclistenset=true ;; |
|
||||||
--rpc-http-host=*) rpclistenset=true ;; |
|
||||||
--rpc-http-port) rpclistenset=true ;; |
|
||||||
--rpc-http-port=*) rpclistenset=true ;; |
|
||||||
--rpc-ws-host) wslistenset=true ;; |
|
||||||
--rpc-ws-host=*) wslistenset=true ;; |
|
||||||
--rpc-ws-port) wslistenset=true ;; |
|
||||||
--rpc-ws-port=*) wslistenset=true ;; |
|
||||||
--p2p-host) p2plistenset=true ;; |
|
||||||
--p2p-host=*) p2plistenset=true ;; |
|
||||||
--p2p-port) p2plistenset=true ;; |
|
||||||
--p2p-port=*) p2plistenset=true ;; |
|
||||||
esac |
|
||||||
done |
|
||||||
|
|
||||||
if $p2plistenset ; then |
|
||||||
echo "ERROR: p2p host and port cannot be set by argument under docker, define your custom port by mapping it into the containers 30303 port" |
|
||||||
exit 1 |
|
||||||
else |
|
||||||
set -- "--p2p-host=0.0.0.0" "$@" |
|
||||||
set -- "--p2p-port=30303" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if $rpclistenset ; then |
|
||||||
echo "ERROR: rpc http host and port cannot be set by argument under docker, define your custom port by mapping it into the containers 8545 port" |
|
||||||
exit 1 |
|
||||||
else |
|
||||||
set -- "--rpc-http-host=0.0.0.0" "$@" |
|
||||||
set -- "--rpc-http-port=8545" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if $wslistenset ; then |
|
||||||
echo "ERROR: rpc ws host and port cannot be set by argument under docker, define your custom port by mapping it into the containers 8546 port" |
|
||||||
exit 1 |
|
||||||
else |
|
||||||
set -- "--rpc-ws-host=0.0.0.0" "$@" |
|
||||||
set -- "--rpc-ws-port=8546" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [ "$P2P_ENABLED" == "false" ] || [ "$P2P_ENABLED" == "0" ]; then |
|
||||||
set -- "--p2p-enabled=false" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [ "$DISCOVERY_ENABLED" == "false" ] || [ "$DISCOVERY_ENABLED" == "0" ]; then |
|
||||||
set -- "--discovery-enabled=false" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$BOOTNODES" ]]; then |
|
||||||
set -- "--bootnodes=$BOOTNODES" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$MAX_PEERS" ]]; then |
|
||||||
set -- "$@" "--max-peers=$MAX_PEERS" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$BANNED_NODE_IDS" ]]; then |
|
||||||
set -- "--banned-node-ids=$BANNED_NODE_IDS" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$BANNED_NODE_ID" ]]; then |
|
||||||
set -- "--banned-node-id=$BANNED_NODE_ID" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$SYNC_MODE" ]]; then |
|
||||||
set -- "--sync-mode=$SYNC_MODE" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$NETWORK" ]]; then |
|
||||||
set -- "--network=$NETWORK" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$NETWORK_ID" ]]; then |
|
||||||
set -- "--network-id=$NETWORK_ID" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [ "$RPC_HTTP_ENABLED" == "true" ] || [ "$RPC_HTTP_ENABLED" == "1" ]; then |
|
||||||
set -- "--rpc-http-enabled=true" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$RPC_HTTP_CORS_ORIGINS" ]]; then |
|
||||||
set -- "--rpc-http-cors-origins=$RPC_HTTP_CORS_ORIGINS" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$RPC_HTTP_API" ]]; then |
|
||||||
set -- "--rpc-http-api=$RPC_HTTP_API" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$RPC_HTTP_APIS" ]]; then |
|
||||||
set -- "--rpc-http-apis=$RPC_HTTP_APIS" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [ "$RPC_WS_ENABLED" == "true" ] || [ "$RPC_WS_ENABLED" == "1" ]; then |
|
||||||
set -- "--rpc-ws-enabled=true" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$RPC_WS_API" ]]; then |
|
||||||
set -- "--rpc-ws-api=$RPC_WS_API" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$RPC_WS_APIS" ]]; then |
|
||||||
set -- "--rpc-ws-apis=$RPC_WS_APIS" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$RPC_WS_REFRESH_DELAY" ]]; then |
|
||||||
set -- "--rpc-ws-refresh_delay=$RPC_WS_REFRESH_DELAY" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [ "$METRICS_ENABLED" == "true" ] || [ "$METRICS_ENABLED" == "1" ]; then |
|
||||||
set -- "--metrics-enabled=true" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$METRICS_HOST" ]]; then |
|
||||||
set -- "--metrics-host=$METRICS_HOST" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$METRICS_PORT" ]]; then |
|
||||||
set -- "--metrics-port=$METRICS_PORT" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [ "$METRICS_PUSH_ENABLED" == "true" ] || [ "$METRICS_PUSH_ENABLED" == "1" ]; then |
|
||||||
set -- "--metrics-push-enabled=true" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$METRICS_PUSH_INTERVAL" ]]; then |
|
||||||
set -- "--metrics-push-interval=$METRICS_PUSH_INTERVAL" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$METRICS_PUSH_HOST" ]]; then |
|
||||||
set -- "--metrics-push-host=$METRICS_PUSH_HOST" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$METRICS_PUSH_PORT" ]]; then |
|
||||||
set -- "--metrics-push-port=$METRICS_PUSH_PORT" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
|
|
||||||
if [[ ! -z "$METRICS_PUSH_PROMETHEUS_JOB" ]]; then |
|
||||||
set -- "--metrics-push-prometheus-job=$METRICS_PUSH_PROMETHEUS_JOB" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$HOST_WHITELIST" ]]; then |
|
||||||
set -- "--host-whitelist=$HOST_WHITELIST" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$LOGGING" ]]; then |
|
||||||
set -- "--logging=$LOGGING" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [ "$MINER_ENABLED" == "true" ] || [ "$MINER_ENABLED" == "1" ]; then |
|
||||||
set -- "--miner-enabled=true" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$MINER_COINBASE" ]]; then |
|
||||||
set -- "--miner-coinbase=$MINER_COINBASE" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$MIN_GAS_PRICE" ]]; then |
|
||||||
set -- "--min-gas-price=$MIN_GAS_PRICE" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$MINER_EXTRA_DATA" ]]; then |
|
||||||
set -- "--miner-extra-data=$MINER_EXTRA_DATA" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [ "$PERMISSIONS_NODES_ENABLED" == "true" ] || [ "$PERMISSIONS_NODES_ENABLED" == "1" ]; then |
|
||||||
set -- "--permissions_nodes_enabled=true" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [ "$PERMISSIONS_ACCOUNTS_ENABLED" == "true" ] || [ "$PERMISSIONS_ACCOUNTS_ENABLED" == "1" ]; then |
|
||||||
set -- "--permissions_accounts_enabled=true" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [ "$PRIVACY_ENABLED" == "true" ] || [ "$PRIVACY_ENABLED" == "1" ]; then |
|
||||||
set -- "--privacy-enabled=true" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$PRIVACY_URL" ]]; then |
|
||||||
set -- "--privacy-url=$PRIVACY_URL" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$PRIVACY_PUBLIC_KEY_FILE" ]]; then |
|
||||||
set -- "--privacy-public-key-file=$PRIVACY_PUBLIC_KEY_FILE" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -z "$PRIVACY_PRECOMPILED_ADDRESS" ]]; then |
|
||||||
set -- "--privacy-precompiled-address=$PRIVACY_PRECOMPILED_ADDRESS" "$@" |
|
||||||
fi |
|
||||||
|
|
||||||
set -- "/opt/pantheon/bin/pantheon" "$@" |
|
||||||
|
|
||||||
exec "$@" |
|
@ -1,3 +0,0 @@ |
|||||||
pantheon-*.tar.gz |
|
||||||
pantheon/* |
|
||||||
pantheon-* |
|
@ -1,28 +0,0 @@ |
|||||||
|
|
||||||
FROM openjdk:11.0.2-jre-slim-stretch |
|
||||||
|
|
||||||
COPY pantheon /opt/pantheon/ |
|
||||||
WORKDIR /opt/pantheon |
|
||||||
|
|
||||||
# Expose services ports |
|
||||||
# 8545 HTTP JSON-RPC |
|
||||||
# 8546 WS JSON-RPC |
|
||||||
# 8547 HTTP GraphQL |
|
||||||
# 30303 P2P |
|
||||||
EXPOSE 8545 8546 8547 30303 |
|
||||||
|
|
||||||
ENTRYPOINT ["/opt/pantheon/bin/pantheon"] |
|
||||||
|
|
||||||
# Build-time metadata as defined at http://label-schema.org |
|
||||||
ARG BUILD_DATE |
|
||||||
ARG VCS_REF |
|
||||||
ARG VERSION |
|
||||||
LABEL org.label-schema.build-date=$BUILD_DATE \ |
|
||||||
org.label-schema.name="Pantheon" \ |
|
||||||
org.label-schema.description="Enterprise Ethereum client" \ |
|
||||||
org.label-schema.url="https://docs.pantheon.pegasys.tech/" \ |
|
||||||
org.label-schema.vcs-ref=$VCS_REF \ |
|
||||||
org.label-schema.vcs-url="https://github.com/PegaSysEng/pantheon.git" \ |
|
||||||
org.label-schema.vendor="Pegasys" \ |
|
||||||
org.label-schema.version=$VERSION \ |
|
||||||
org.label-schema.schema-version="1.0" |
|
@ -1,24 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
|
|
||||||
export GOSS_PATH=tests/goss-linux-amd64 |
|
||||||
export GOSS_OPTS="$GOSS_OPTS --format junit" |
|
||||||
export GOSS_FILES_STRATEGY=cp |
|
||||||
DOCKER_IMAGE=$1 |
|
||||||
|
|
||||||
i=0 |
|
||||||
|
|
||||||
# Test for normal startup with ports opened |
|
||||||
GOSS_FILES_PATH=tests/01 \ |
|
||||||
bash tests/dgoss \ |
|
||||||
run $DOCKER_IMAGE \ |
|
||||||
--network=dev \ |
|
||||||
--p2p-host=0.0.0.0 \ |
|
||||||
--rpc-http-enabled \ |
|
||||||
--rpc-http-host=0.0.0.0 \ |
|
||||||
--rpc-ws-enabled \ |
|
||||||
--rpc-ws-host=0.0.0.0 \ |
|
||||||
--graphql-http-enabled \ |
|
||||||
--graphql-http-host=0.0.0.0 \ |
|
||||||
> ./reports/01.xml || i=`expr $i + 1` |
|
||||||
|
|
||||||
exit $i |
|
@ -1,40 +0,0 @@ |
|||||||
file: |
|
||||||
/opt/pantheon/bin/pantheon: |
|
||||||
exists: true |
|
||||||
mode: "0755" |
|
||||||
owner: root |
|
||||||
group: root |
|
||||||
filetype: file |
|
||||||
contains: [] |
|
||||||
/opt/pantheon/database: |
|
||||||
exists: true |
|
||||||
mode: "0755" |
|
||||||
owner: root |
|
||||||
group: root |
|
||||||
filetype: directory |
|
||||||
contains: [] |
|
||||||
/opt/pantheon/key: |
|
||||||
exists: true |
|
||||||
mode: "0600" |
|
||||||
owner: root |
|
||||||
group: root |
|
||||||
filetype: file |
|
||||||
contains: [] |
|
||||||
port: |
|
||||||
tcp:8545: |
|
||||||
listening: true |
|
||||||
tcp:8546: |
|
||||||
listening: true |
|
||||||
tcp:8547: |
|
||||||
listening: true |
|
||||||
tcp:30303: |
|
||||||
listening: true |
|
||||||
ip: |
|
||||||
- 0.0.0.0 |
|
||||||
udp:30303: |
|
||||||
listening: true |
|
||||||
ip: |
|
||||||
- 0.0.0.0 |
|
||||||
process: |
|
||||||
java: |
|
||||||
running: true |
|
@ -1,17 +0,0 @@ |
|||||||
port: |
|
||||||
tcp:30303: |
|
||||||
listening: true |
|
||||||
ip: |
|
||||||
- 0.0.0.0 |
|
||||||
tcp:8545: |
|
||||||
listening: true |
|
||||||
ip: |
|
||||||
- 0.0.0.0 |
|
||||||
tcp:8546: |
|
||||||
listening: true |
|
||||||
ip: |
|
||||||
- 0.0.0.0 |
|
||||||
tcp:8547: |
|
||||||
listening: true |
|
||||||
ip: |
|
||||||
- 0.0.0.0 |
|
@ -1,113 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
|
|
||||||
set -e |
|
||||||
|
|
||||||
USAGE="USAGE: $(basename "$0") [run|edit] <docker_run_params>" |
|
||||||
GOSS_FILES_PATH="${GOSS_FILES_PATH:-.}" |
|
||||||
|
|
||||||
info() { |
|
||||||
echo -e "INFO: $*" >&2; |
|
||||||
} |
|
||||||
error() { |
|
||||||
echo -e "ERROR: $*" >&2; |
|
||||||
exit 1; |
|
||||||
} |
|
||||||
|
|
||||||
cleanup() { |
|
||||||
set +e |
|
||||||
{ kill "$log_pid" && wait "$log_pid"; } 2> /dev/null |
|
||||||
rm -rf "$tmp_dir" |
|
||||||
if [[ $id ]];then |
|
||||||
info "Deleting container" |
|
||||||
docker rm -vf "$id" > /dev/null |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
run(){ |
|
||||||
# Copy in goss |
|
||||||
cp "${GOSS_PATH}" "$tmp_dir/goss" |
|
||||||
chmod 755 "$tmp_dir/goss" |
|
||||||
[[ -e "${GOSS_FILES_PATH}/goss.yaml" ]] && cp "${GOSS_FILES_PATH}/goss.yaml" "$tmp_dir" |
|
||||||
[[ -e "${GOSS_FILES_PATH}/goss_wait.yaml" ]] && cp "${GOSS_FILES_PATH}/goss_wait.yaml" "$tmp_dir" |
|
||||||
[[ ! -z "${GOSS_VARS}" ]] && [[ -e "${GOSS_FILES_PATH}/${GOSS_VARS}" ]] && cp "${GOSS_FILES_PATH}/${GOSS_VARS}" "$tmp_dir" |
|
||||||
|
|
||||||
# Switch between mount or cp files strategy |
|
||||||
GOSS_FILES_STRATEGY=${GOSS_FILES_STRATEGY:="mount"} |
|
||||||
case "$GOSS_FILES_STRATEGY" in |
|
||||||
mount) |
|
||||||
info "Starting docker container" |
|
||||||
id=$(docker run -d -v "$tmp_dir:/goss:z" "${@:2}") |
|
||||||
docker logs -f "$id" > "$tmp_dir/docker_output.log" 2>&1 & |
|
||||||
;; |
|
||||||
cp) |
|
||||||
info "Creating docker container" |
|
||||||
id=$(docker create ${@:2}) |
|
||||||
info "Copy goss files into container" |
|
||||||
docker cp $tmp_dir/. $id:/goss |
|
||||||
info "Starting docker container" |
|
||||||
docker start $id > /dev/null |
|
||||||
;; |
|
||||||
*) error "Wrong goss files strategy used! Correct options are \"mount\" or \"cp\"." |
|
||||||
esac |
|
||||||
|
|
||||||
log_pid=$! |
|
||||||
info "Container ID: ${id:0:8}" |
|
||||||
} |
|
||||||
|
|
||||||
get_docker_file() { |
|
||||||
if docker exec "$id" sh -c "test -e $1" > /dev/null;then |
|
||||||
mkdir -p "${GOSS_FILES_PATH}" |
|
||||||
info "Copied '$1' from container to '${GOSS_FILES_PATH}'" |
|
||||||
docker cp "$id:$1" "${GOSS_FILES_PATH}" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
# Main |
|
||||||
tmp_dir=$(mktemp -d /tmp/tmp.XXXXXXXXXX) |
|
||||||
chmod 777 "$tmp_dir" |
|
||||||
trap 'ret=$?;cleanup;exit $ret' EXIT |
|
||||||
|
|
||||||
GOSS_PATH="${GOSS_PATH:-$(which goss 2> /dev/null || true)}" |
|
||||||
[[ $GOSS_PATH ]] || { error "Couldn't find goss installation, please set GOSS_PATH to it"; } |
|
||||||
[[ ${GOSS_OPTS+x} ]] || GOSS_OPTS="--color --format documentation" |
|
||||||
[[ ${GOSS_WAIT_OPTS+x} ]] || GOSS_WAIT_OPTS="-r 30s -s 1s > /dev/null" |
|
||||||
GOSS_SLEEP=${GOSS_SLEEP:-0.2} |
|
||||||
|
|
||||||
case "$1" in |
|
||||||
run) |
|
||||||
run "$@" |
|
||||||
if [[ -e "${GOSS_FILES_PATH}/goss_wait.yaml" ]]; then |
|
||||||
info "Found goss_wait.yaml, waiting for it to pass before running tests" |
|
||||||
if [[ -z "${GOSS_VARS}" ]]; then |
|
||||||
if ! docker exec "$id" sh -c "/goss/goss -g /goss/goss_wait.yaml validate $GOSS_WAIT_OPTS"; then |
|
||||||
error "goss_wait.yaml never passed" |
|
||||||
fi |
|
||||||
else |
|
||||||
if ! docker exec "$id" sh -c "/goss/goss -g /goss/goss_wait.yaml --vars='/goss/${GOSS_VARS}' validate $GOSS_WAIT_OPTS"; then |
|
||||||
error "goss_wait.yaml never passed" |
|
||||||
fi |
|
||||||
fi |
|
||||||
fi |
|
||||||
[[ $GOSS_SLEEP ]] && { info "Sleeping for $GOSS_SLEEP"; sleep "$GOSS_SLEEP"; } |
|
||||||
# info "Container health" |
|
||||||
# if ! docker top $id; then |
|
||||||
# docker logs $id |
|
||||||
# fi |
|
||||||
info "Running Tests" |
|
||||||
if [[ -z "${GOSS_VARS}" ]]; then |
|
||||||
docker exec "$id" sh -c "/goss/goss -g /goss/goss.yaml validate $GOSS_OPTS" |
|
||||||
else |
|
||||||
docker exec "$id" sh -c "/goss/goss -g /goss/goss.yaml --vars='/goss/${GOSS_VARS}' validate $GOSS_OPTS" |
|
||||||
fi |
|
||||||
;; |
|
||||||
edit) |
|
||||||
run "$@" |
|
||||||
info "Run goss add/autoadd to add resources" |
|
||||||
docker exec -it "$id" sh -c 'cd /goss; PATH="/goss:$PATH" exec sh' |
|
||||||
get_docker_file "/goss/goss.yaml" |
|
||||||
get_docker_file "/goss/goss_wait.yaml" |
|
||||||
[[ ! -z "${GOSS_VARS}" ]] && get_docker_file "/goss/${GOSS_VARS}" |
|
||||||
;; |
|
||||||
*) |
|
||||||
error "$USAGE" |
|
||||||
esac |
|
Binary file not shown.
Loading…
Reference in new issue