istio.io/archive/v1.13/docs/setup/install/helm/test.sh

56 lines
1.9 KiB
Bash

#!/usr/bin/env bash
# Copyright Istio Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -e
set -u
set -o pipefail
# rewrite-repo invokes bash make to rewrite a snippet to avoid installing from a real helm repository, and instead uses
# local files
# shellcheck disable=SC2001
function rewrite-repo() {
# get function definition: https://stackoverflow.com/a/6916952/374797
cmd="$(type "${1:?snip}" | sed '1,3d;$d')"
cmd="$(echo "${cmd}" | sed 's|istio/base|manifests/charts/base|')"
cmd="$(echo "${cmd}" | sed 's|istio/istiod|manifests/charts/istio-control/istio-discovery|')"
cmd="$(echo "${cmd}" | sed 's|istio/gateway|manifests/charts/gateway|')"
eval "${cmd} --set global.tag=${ISTIO_IMAGE_VERSION=SHOULD_BE_SET}.${ISTIO_LONG_SHA=latest}"
}
# @setup profile=none
# Delete a vailidatingwebhookconfiguration that seems to have been left around from a prior test.
kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io istiod-default-validator --ignore-not-found
snip_create_istio_system_namespace
rewrite-repo snip_install_base
rewrite-repo snip_install_discovery
_wait_for_deployment istio-system istiod
rewrite-repo snip_install_ingressgateway
_wait_for_deployment istio-ingress istio-ingress
# shellcheck disable=SC2154
_verify_like snip_helm_ls "$snip_helm_ls_out"
# @cleanup
snip_delete_delete_gateway_charts
snip_helm_delete_discovery_chart
snip_helm_delete_base_chart
snip_delete_crds
snip_delete_istio_system_namespace