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."