|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
all_services=(
|
|
|
|
coredns
|
|
|
|
local-path-provisioner
|
|
|
|
metrics-server
|
|
|
|
traefik
|
|
|
|
)
|
|
|
|
|
|
|
|
export NUM_SERVERS=1
|
|
|
|
export NUM_AGENTS=1
|
|
|
|
export WAIT_SERVICES="${all_services[@]}"
|
|
|
|
|
|
|
|
# -- This test runs in docker mounting the docker socket,
|
|
|
|
# -- so we can't directly mount files into the test containers. Instead we have to
|
|
|
|
# -- run a dummy container with a volume, copy files into that volume, and then
|
|
|
|
# -- share it with the other containers that need the file.
|
|
|
|
cluster-pre-hook() {
|
|
|
|
mkdir -p $TEST_DIR/pause/0/metadata
|
|
|
|
local testID=$(basename $TEST_DIR)
|
|
|
|
local name=$(echo "k3s-pause-0-${testID,,}" | tee $TEST_DIR/pause/0/metadata/name)
|
|
|
|
export SERVER_DOCKER_ARGS="--mount type=volume,src=$name,dst=/var/lib/rancher/k3s/server/tls"
|
|
|
|
|
|
|
|
docker run \
|
|
|
|
-d --name $name \
|
|
|
|
--hostname $name \
|
|
|
|
${SERVER_DOCKER_ARGS} \
|
|
|
|
rancher/mirrored-pause:3.6 \
|
|
|
|
>/dev/null
|
|
|
|
|
|
|
|
DATA_DIR="$TEST_DIR/pause/0/k3s" ./contrib/util/generate-custom-ca-certs.sh
|
|
|
|
docker cp "$TEST_DIR/pause/0/k3s" $name:/var/lib/rancher
|
|
|
|
}
|
|
|
|
export -f cluster-pre-hook
|
|
|
|
|
|
|
|
start-test() {
|
|
|
|
echo "Cluster is up with custom CA certs"
|
|
|
|
}
|
|
|
|
export -f start-test
|
|
|
|
|
|
|
|
test-cleanup-hook(){
|
|
|
|
local testID=$(basename $TEST_DIR)
|
|
|
|
docker volume ls -q | grep -F ${testID,,} | xargs -r docker volume rm
|
|
|
|
}
|
|
|
|
export -f test-cleanup-hook
|
|
|
|
|
|
|
|
# --- create a basic cluster and check for functionality
|
|
|
|
LABEL=CUSTOM-CA-CERTS run-test
|
|
|
|
|
|
|
|
cleanup-test-env
|