sigs.k8s.io/cluster-api@v1.7.1/hack/setup-envtest-with-kind.sh (about) 1 #!/usr/bin/env bash 2 3 # Copyright 2021 The Kubernetes Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 set -o errexit 18 set -o nounset 19 set -o pipefail 20 21 if [[ "${TRACE-0}" == "1" ]]; then 22 set -o xtrace 23 fi 24 25 os="unknown" 26 if [[ "${OSTYPE}" == "linux"* ]]; then 27 os="linux" 28 elif [[ "${OSTYPE}" == "darwin"* ]]; then 29 os="darwin" 30 fi 31 32 if [[ "$os" == "unknown" ]]; then 33 echo "OS '$OSTYPE' not supported. Aborting." >&2 34 exit 1 35 fi 36 37 echo "Execute the following commands to prepare your environment to run the tests with kind:" 38 echo "" 39 echo "kind create cluster" 40 echo "export USE_EXISTING_CLUSTER=true" 41 42 if [[ "${os}" == "linux" ]]; then 43 echo "gateway_ip=\$(docker inspect kind-control-plane | jq '.[0].NetworkSettings.Networks.kind.Gateway' -r)" 44 echo "docker exec kind-control-plane bash -c \"echo \\\"\${gateway_ip} linux.localhost\\\" >> /etc/hosts\"" 45 echo "export CAPI_WEBHOOK_HOSTNAME=\"linux.localhost\"" 46 elif [[ "${os}" == "darwin" ]]; then 47 echo "export CAPI_WEBHOOK_HOSTNAME=\"docker.for.mac.localhost\"" 48 fi 49 50 echo "" 51 echo "Now you can run the tests repeatedly, e.g. via:" 52 echo "" 53 echo "go test ./controllers/..." 54 echo "" 55 echo "NOTE: You cannot run tests of multiple packages at the same time, because the webhooks would overwrite each other."