sigs.k8s.io/cluster-api-provider-azure@v1.14.3/hack/install-cert-manager.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  TEST_RESOURCE=$(cat <<-END
    22  apiVersion: v1
    23  kind: Namespace
    24  metadata:
    25    name: cert-manager-test
    26  ---
    27  apiVersion: cert-manager.io/v1
    28  kind: Issuer
    29  metadata:
    30    name: test-selfsigned
    31    namespace: cert-manager-test
    32  spec:
    33    selfSigned: {}
    34  ---
    35  apiVersion: cert-manager.io/v1
    36  kind: Certificate
    37  metadata:
    38    name: selfsigned-cert
    39    namespace: cert-manager-test
    40  spec:
    41    dnsNames:
    42      - example.com
    43    secretName: selfsigned-cert-tls
    44    issuerRef:
    45      name: test-selfsigned
    46  END
    47  )
    48  
    49  # Install kubectl
    50  REPO_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
    51  # shellcheck source=hack/common-vars.sh
    52  source "${REPO_ROOT}/hack/common-vars.sh"
    53  
    54  make --directory="${REPO_ROOT}" "${KUBECTL##*/}"
    55  
    56  ## Install cert manager and wait for availability
    57  "${KUBECTL}" apply -f https://github.com/jetstack/cert-manager/releases/download/v1.14.4/cert-manager.yaml
    58  "${KUBECTL}" wait --for=condition=Available --timeout=5m -n cert-manager deployment/cert-manager
    59  "${KUBECTL}" wait --for=condition=Available --timeout=5m -n cert-manager deployment/cert-manager-cainjector
    60  "${KUBECTL}" wait --for=condition=Available --timeout=5m -n cert-manager deployment/cert-manager-webhook
    61  
    62  for _ in {1..6}; do
    63    (echo "$TEST_RESOURCE" | ${KUBECTL} apply -f -) && break
    64    sleep 15
    65  done
    66  
    67  "${KUBECTL}" wait --for=condition=Ready --timeout=300s -n cert-manager-test certificate/selfsigned-cert
    68  echo "$TEST_RESOURCE" | "${KUBECTL}" delete -f -