@@ -11,7 +11,6 @@ YQ="go run ./vendor/github.com/mikefarah/yq/v3/"
11
11
CONTROLLER_GEN=" go run ./vendor/sigs.k8s.io/controller-tools/cmd/controller-gen"
12
12
HELM=" go run helm.sh/helm/v3/cmd/helm"
13
13
14
-
15
14
ver=${OLM_VERSION:- " 0.0.0-dev" }
16
15
tmpdir=" $( mktemp -p . -d 2> /dev/null || mktemp -d ./tmpdir.XXXXXXX) "
17
16
chartdir=" ${tmpdir} /chart"
@@ -495,3 +494,49 @@ find "${ROOT_DIR}/manifests" -type f -exec $SED -i "1{/---/d}" {} \;
495
494
# namespaces enforce restricted PSA policies, so warnings and audits labels are not neccessary.
496
495
${YQ} delete --inplace -d' *' manifests/0000_50_olm_00-namespace.yaml ' metadata.labels."pod-security.kubernetes.io/warn*"'
497
496
${YQ} delete --inplace -d' *' manifests/0000_50_olm_00-namespace.yaml ' metadata.labels."pod-security.kubernetes.io/audit*"'
497
+
498
+ # Let's copy all the manifests to a separate directory for microshift
499
+ mkdir -p " ${ROOT_DIR} /microshift-manifests/"
500
+ rm -rf " ${ROOT_DIR} /microshift-manifests/" *
501
+ cp " ${ROOT_DIR} " /manifests/* " ${ROOT_DIR} /microshift-manifests/"
502
+
503
+ # Let's generate the microshift-manifests.
504
+ # There are some differences that we need to take care of:
505
+ # - The manifests require a kustomization.yaml file
506
+ # - We don't need the specific ibm-cloud-managed manifests
507
+ # - We need to adapt some of the manifests to be compatible with microshift as there's no
508
+ # ClusterVersion or ClusterOperator in microshift
509
+
510
+ # Create the kustomization file
511
+ cat << EOF > "${ROOT_DIR} /microshift-manifests/kustomization.yaml"
512
+ apiVersion: kustomize.config.k8s.io/v1beta1
513
+ kind: Kustomization
514
+ resources:
515
+ EOF
516
+
517
+ # Now let's generate the kustomization.yaml file for microshift to pick up the manifests.
518
+ microshift_manifests_files=$( find " ${ROOT_DIR} /microshift-manifests" -type f -name " *.yaml" )
519
+ # Let's sort the files so that we can have a deterministic order
520
+ microshift_manifests_files=$( echo " ${microshift_manifests_files} " | sort)
521
+ # files to ignore, substring match.
522
+ files_to_ignore=(" ibm-cloud-managed.yaml" " kustomization.yaml" " psm-operator" )
523
+
524
+ # Add all the manifests files to the kustomization file while ignoring the files in the files_to_ignore list
525
+ for file in ${microshift_manifests_files} ; do
526
+ for file_to_ignore in ${files_to_ignore[@]} ; do
527
+ if [[ " ${file} " =~ " ${file_to_ignore} " ]]; then
528
+ continue 2
529
+ fi
530
+ done
531
+ echo " - $( realpath --relative-to " ${ROOT_DIR} /microshift-manifests" " ${file} " ) " >> " ${ROOT_DIR} /microshift-manifests/kustomization.yaml"
532
+ done
533
+
534
+ # Now we need to get rid of these args from the olm-operator deployment:
535
+ #
536
+ # - --writeStatusName
537
+ # - operator-lifecycle-manager
538
+ # - --writePackageServerStatusName
539
+ # - operator-lifecycle-manager-packageserver
540
+ #
541
+ ${SED} -i ' /- --writeStatusName/,+3d' ${ROOT_DIR} /microshift-manifests/0000_50_olm_07-olm-operator.deployment.yaml
542
+
0 commit comments