Skip to content

Commit 9113f37

Browse files
committed
Changes to generate new OLM microshift manifests
This commit includes changes to the generate_crds_manifests.sh script to generate a new set of manifests with the required changes to work on microshift. Signed-off-by: Joaquim Moreno Prusi <[email protected]>
1 parent 2ff0c67 commit 9113f37

File tree

1 file changed

+51
-3
lines changed

1 file changed

+51
-3
lines changed

scripts/generate_crds_manifests.sh

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ YQ="go run ./vendor/github.com/mikefarah/yq/v3/"
1111
CONTROLLER_GEN="go run ./vendor/sigs.k8s.io/controller-tools/cmd/controller-gen"
1212
HELM="go run helm.sh/helm/v3/cmd/helm"
1313

14-
1514
ver=${OLM_VERSION:-"0.0.0-dev"}
1615
tmpdir="$(mktemp -p . -d 2>/dev/null || mktemp -d ./tmpdir.XXXXXXX)"
1716
chartdir="${tmpdir}/chart"
@@ -483,8 +482,6 @@ subjects:
483482
name: system:authenticated
484483
EOF
485484

486-
add_ibm_managed_cloud_annotations "${ROOT_DIR}/manifests"
487-
488485
find "${ROOT_DIR}/manifests" -type f -exec $SED -i "/^#/d" {} \;
489486
find "${ROOT_DIR}/manifests" -type f -exec $SED -i "1{/---/d}" {} \;
490487

@@ -495,3 +492,54 @@ find "${ROOT_DIR}/manifests" -type f -exec $SED -i "1{/---/d}" {} \;
495492
# namespaces enforce restricted PSA policies, so warnings and audits labels are not neccessary.
496493
${YQ} delete --inplace -d'*' manifests/0000_50_olm_00-namespace.yaml 'metadata.labels."pod-security.kubernetes.io/warn*"'
497494
${YQ} delete --inplace -d'*' manifests/0000_50_olm_00-namespace.yaml 'metadata.labels."pod-security.kubernetes.io/audit*"'
495+
496+
497+
# Let's copy all the manifests to a separate directory for microshift
498+
mkdir -p "${ROOT_DIR}/microshift-manifests/"
499+
rm -rf "${ROOT_DIR}/microshift-manifests/"*
500+
cp "${ROOT_DIR}"/manifests/* "${ROOT_DIR}/microshift-manifests/"
501+
502+
# Let's add the annotations for ibm-cloud-managed on the standard manifests
503+
# !! Order matters, as we don't need the IBM managed annotations on the microshift manifests.
504+
add_ibm_managed_cloud_annotations "${ROOT_DIR}/manifests"
505+
506+
# Let's generate the microshift-manifests.
507+
# There are some differences that we need to take care of:
508+
# - The manifests require a kustomization.yaml file
509+
# - We don't need the specific ibm-cloud-managed manifests
510+
# - We need to adapt some of the manifests to be compatible with microshift as there's no
511+
# ClusterVersion or ClusterOperator in microshift
512+
513+
# Create the kustomization file
514+
cat << EOF > "${ROOT_DIR}/microshift-manifests/kustomization.yaml"
515+
apiVersion: kustomize.config.k8s.io/v1beta1
516+
kind: Kustomization
517+
resources:
518+
EOF
519+
520+
# Now let's generate the kustomization.yaml file for microshift to pick up the manifests.
521+
microshift_manifests_files=$(find "${ROOT_DIR}/microshift-manifests" -type f -name "*.yaml")
522+
# Let's sort the files so that we can have a deterministic order
523+
microshift_manifests_files=$(echo "${microshift_manifests_files}" | sort)
524+
# files to ignore, substring match.
525+
files_to_ignore=("ibm-cloud-managed.yaml" "kustomization.yaml" "psm-operator")
526+
527+
# Add all the manifests files to the kustomization file while ignoring the files in the files_to_ignore list
528+
for file in ${microshift_manifests_files}; do
529+
for file_to_ignore in ${files_to_ignore[@]}; do
530+
if [[ "${file}" =~ "${file_to_ignore}" ]]; then
531+
continue 2
532+
fi
533+
done
534+
echo " - $(realpath --relative-to "${ROOT_DIR}/microshift-manifests" "${file}")" >> "${ROOT_DIR}/microshift-manifests/kustomization.yaml"
535+
done
536+
537+
# Now we need to get rid of these args from the olm-operator deployment:
538+
#
539+
# - --writeStatusName
540+
# - operator-lifecycle-manager
541+
# - --writePackageServerStatusName
542+
# - operator-lifecycle-manager-packageserver
543+
#
544+
${SED} -i '/- --writeStatusName/,+3d' ${ROOT_DIR}/microshift-manifests/0000_50_olm_07-olm-operator.deployment.yaml
545+

0 commit comments

Comments
 (0)