@@ -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"
@@ -483,8 +482,6 @@ subjects:
483
482
name: system:authenticated
484
483
EOF
485
484
486
- add_ibm_managed_cloud_annotations " ${ROOT_DIR} /manifests"
487
-
488
485
find " ${ROOT_DIR} /manifests" -type f -exec $SED -i " /^#/d" {} \;
489
486
find " ${ROOT_DIR} /manifests" -type f -exec $SED -i " 1{/---/d}" {} \;
490
487
@@ -495,3 +492,54 @@ find "${ROOT_DIR}/manifests" -type f -exec $SED -i "1{/---/d}" {} \;
495
492
# namespaces enforce restricted PSA policies, so warnings and audits labels are not neccessary.
496
493
${YQ} delete --inplace -d' *' manifests/0000_50_olm_00-namespace.yaml ' metadata.labels."pod-security.kubernetes.io/warn*"'
497
494
${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