From 09686f121dad3e2d7fe2dec87fb7d6fa7a5ab8d7 Mon Sep 17 00:00:00 2001 From: iwilltry42 Date: Fri, 29 Oct 2021 14:40:54 +0200 Subject: [PATCH] add test script for connecting to remote docker servers --- go.mod | 3 +- tests/local_test_remote_docker.sh | 51 +++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100755 tests/local_test_remote_docker.sh diff --git a/go.mod b/go.mod index 4c39ab15..889ef85c 100644 --- a/go.mod +++ b/go.mod @@ -41,6 +41,8 @@ require ( sigs.k8s.io/yaml v1.2.0 ) +require github.com/spf13/pflag v1.0.5 + require ( github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -78,7 +80,6 @@ require ( github.com/spf13/afero v1.6.0 // indirect github.com/spf13/cast v1.3.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.2.0 // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect go.opencensus.io v0.23.0 // indirect diff --git a/tests/local_test_remote_docker.sh b/tests/local_test_remote_docker.sh new file mode 100755 index 00000000..822643cb --- /dev/null +++ b/tests/local_test_remote_docker.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +CURR_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +[ -d "$CURR_DIR" ] || { echo "FATAL: no current dir (maybe running in zsh?)"; exit 1; } + +# shellcheck source=./common.sh +source "$CURR_DIR/common.sh" + +export CURRENT_STAGE="local | remote_docker" + + +info "Starting dind with TLS (sleeping for 10s to give it time to get ready)" +docker run -d -p 3376:2376 -e DOCKER_TLS_CERTDIR=/certs -v /tmp/dockercerts:/certs --privileged --rm --name k3dlocaltestdindsec docker:20.10-dind +sleep 10 + +info "Setting Docker Context" +docker context create k3dlocaltestdindsec --description "dind local secure" --docker "host=tcp://127.0.0.1:3376,ca=/tmp/dockercerts/client/ca.pem,cert=/tmp/dockercerts/client/cert.pem,key=/tmp/dockercerts/client/key.pem" +docker context use k3dlocaltestdindsec +docker context list + +info "Running k3d" +k3d cluster create test1 +k3d cluster list + +info "Switching to default context" +docker context list +docker ps +docker context use default +docker ps + +info "Checking DOCKER_TLS env var based setting" +export DOCKER_HOST=tcp://127.0.0.1:3376 +export DOCKER_TLS_VERIFY=1 +export DOCKER_CERT_PATH=/tmp/dockercerts/client + +docker context list +docker ps +k3d cluster create test2 +k3d cluster list +docker ps + +info "Cleaning up" +unset DOCKER_HOST +unset DOCKER_TLS_VERIFY +unset DOCKER_CERT_PATH +k3d cluster rm -a +docker context use default +docker rm -f k3dlocaltestdindsec +docker context rm k3dlocaltestdindsec + +info ">>> DONE <<<"