| 123456789101112131415161718192021222324252627282930313233 |
- #!/usr/bin/env bash
- set -euo pipefail
- SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
- BUNDLE_DIR="${1}"
- CRD_DIR="${2}"
- BUNDLE_YAML="${BUNDLE_DIR}/bundle.yaml"
- cd "${SCRIPT_DIR}"/../
- go run sigs.k8s.io/controller-tools/cmd/controller-gen object \
- object:headerFile="hack/boilerplate.go.txt" \
- paths="./apis/..."
- go run sigs.k8s.io/controller-tools/cmd/controller-gen crd \
- paths="./apis/..." \
- output:crd:artifacts:config="${CRD_DIR}/bases"
- # Remove extra header lines in generated CRDs
- # This is needed for building the helm chart
- for f in "${CRD_DIR}"/bases/*.yaml; do
- if [[ $f == *kustomization.yaml ]];
- then
- continue;
- fi;
- tail -n +2 < "$f" > "$f.bkp"
- cp "$f.bkp" "$f"
- rm "$f.bkp"
- done
- shopt -s extglob
- yq e \
- '.spec.conversion.strategy = "Webhook" | .spec.conversion.webhook.conversionReviewVersions = ["v1"] | .spec.conversion.webhook.clientConfig.service.name = "kubernetes" | .spec.conversion.webhook.clientConfig.service.namespace = "default" | .spec.conversion.webhook.clientConfig.service.path = "/convert"' \
- "${CRD_DIR}"/bases/!(kustomization).yaml > "${BUNDLE_YAML}"
|