forked from kubevirt/kubevirt-ssp-operator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
make-manifests.sh
executable file
·69 lines (55 loc) · 2.18 KB
/
make-manifests.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash
set -ex
SELF=$( realpath $0 )
BASEPATH=$( dirname $SELF )
# intentionally "impossible"/obviously wrong version
TAG="${1:-v0.0.0}"
VERSION=${TAG#v} # prune initial 'v', which should be present
CHANNEL="beta"
CLUSTER_VERSIONED_DIR="cluster/${VERSION}"
MANIFESTS_DIR="manifests/kubevirt-ssp-operator"
MANIFESTS_VERSIONED_DIR="${MANIFESTS_DIR}/${TAG}"
IMAGE_PATH="quay.io/fromani/kubevirt-ssp-operator-container:${TAG}"
HAVE_COURIER=0
if which operator-courier &> /dev/null; then
HAVE_COURIER=1
fi
mkdir -p ${CLUSTER_VERSIONED_DIR}
mkdir -p ${MANIFESTS_VERSIONED_DIR}
(
for CRD in $( ls deploy/crds/kubevirt_*crd.yaml ); do
echo "---"
cat ${CRD}
done
) > ${CLUSTER_VERSIONED_DIR}/kubevirt-ssp-operator-crd.yaml
(
for CR in $( ls deploy/crds/kubevirt_*cr.yaml ); do
echo "---"
cat ${CR}
done
) > ${CLUSTER_VERSIONED_DIR}/kubevirt-ssp-operator-cr.yaml
(
for MF in deploy/service_account.yaml deploy/role.yaml deploy/role_binding.yaml deploy/operator.yaml; do
echo "---"
sed "s|REPLACE_IMAGE|${IMAGE_PATH}|g ; s|REPLACE_VERSION|${TAG}|g" < ${MF}
done
) > ${CLUSTER_VERSIONED_DIR}/kubevirt-ssp-operator.yaml
${BASEPATH}/../build/csv-generator.sh --csv-version=${VERSION} --namespace=placeholder --operator-image=REPLACE_IMAGE --operator-version=REPLACE_VERSION > ${MANIFESTS_VERSIONED_DIR}/kubevirt-ssp-operator.${TAG}.clusterserviceversion.yaml
# caution: operator-courier (as in 5a4852c) wants *one* entity per yaml file (e.g. it does NOT use safe_load_all)
for CRD in $( ls deploy/crds/kubevirt_*crd.yaml ); do
cp ${CRD} ${MANIFESTS_VERSIONED_DIR}
done
cat << EOF > ${MANIFESTS_VERSIONED_DIR}/kubevirt-ssp-operator.package.yaml
packageName: kubevirt-ssp-operator
channels:
- name: ${CHANNEL}
currentCSV: kubevirt-ssp-operator.${TAG}
EOF
# needed to make operator-courier happy
cp ${MANIFESTS_VERSIONED_DIR}/kubevirt-ssp-operator.package.yaml ${MANIFESTS_DIR}
if [ "${HAVE_COURIER}" == "1" ]; then
operator-courier verify ${MANIFESTS_VERSIONED_DIR} && echo "OLM verify passed" || echo "OLM verify failed"
fi
## otherwise the image registry won't build
# TODO: who's at fault here? the registry build procedure? the courier? something else?
rm ${MANIFESTS_VERSIONED_DIR}/kubevirt-ssp-operator.package.yaml