@@ -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"
@@ -485,8 +484,6 @@ subjects:
485
484
name: system:authenticated
486
485
EOF
487
486
488
- add_ibm_managed_cloud_annotations " ${ROOT_DIR} /manifests"
489
-
490
487
find " ${ROOT_DIR} /manifests" -type f -exec $SED -i " /^#/d" {} \;
491
488
find " ${ROOT_DIR} /manifests" -type f -exec $SED -i " 1{/---/d}" {} \;
492
489
@@ -497,3 +494,52 @@ find "${ROOT_DIR}/manifests" -type f -exec $SED -i "1{/---/d}" {} \;
497
494
# namespaces enforce restricted PSA policies, so warnings and audits labels are not neccessary.
498
495
${YQ} delete --inplace -d' *' manifests/0000_50_olm_00-namespace.yaml ' metadata.labels."pod-security.kubernetes.io/warn*"'
499
496
${YQ} delete --inplace -d' *' manifests/0000_50_olm_00-namespace.yaml ' metadata.labels."pod-security.kubernetes.io/audit*"'
497
+
498
+
499
+ # Let's copy all the manifests to a separate directory for microshift
500
+ mkdir -p " ${ROOT_DIR} /microshift-manifests/"
501
+ rm -rf " ${ROOT_DIR} /microshift-manifests/" *
502
+ cp " ${ROOT_DIR} " /manifests/* " ${ROOT_DIR} /microshift-manifests/"
503
+
504
+ # Let's add the annotations for ibm-cloud-managed on the standard manifests
505
+ # !! Order matters, as we don't need the IBM managed annotations on the microshift manifests.
506
+ add_ibm_managed_cloud_annotations " ${ROOT_DIR} /manifests"
507
+
508
+ # Let's generate the microshift-manifests.
509
+ # There are some differences that we need to take care of:
510
+ # - The manifests require a kustomization.yaml file
511
+ # - We don't need the specific ibm-cloud-managed manifests
512
+ # - We need to adapt some of the manifests to be compatible with microshift as there's no
513
+ # ClusterVersion or ClusterOperator in microshift
514
+
515
+ # Create the kustomization file
516
+ cat << EOF > "${ROOT_DIR} /microshift-manifests/kustomization.yaml"
517
+ apiVersion: kustomize.config.k8s.io/v1beta1
518
+ kind: Kustomization
519
+ resources:
520
+ EOF
521
+
522
+ # Now let's generate the kustomization.yaml file for microshift to pick up the manifests.
523
+ microshift_manifests_files=$( find " ${ROOT_DIR} /microshift-manifests" -type f -name " *.yaml" )
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