From 76000a6eb564376331b0d6f4a44c72af113d3076 Mon Sep 17 00:00:00 2001 From: Shyamsundar Ranganathan Date: Mon, 20 May 2024 17:13:56 -0400 Subject: [PATCH] Move to controller-sdk 1.34.2 The move to operator-sdk is to aid with newer APIs that we may define and overall catching up to the later sdk versions for maintainability of the code base in the future. This commit has 2 major changes as follows, - Move controllers to internal/controller and main.go to cmd/ The above hence entails changes to Makefile, import paths, and other artifacts that are path dependent. - Move to kustomize v5 The above changes patchesStrategicMerge to patches and commonLabels to labels (though the latter is unused in comments) Related to the actual change is to move the PROJECT file to kubebuilder v4 and to update the install scripts to use the latest versions of the required tools. Overall changes were performed following the upgrade guides from v1.24.0 to v1.34.2: https://sdk.operatorframework.io/docs/upgrading-sdk-version/ One of the bigger change to move from kubebuilder v3 to v4 required following the migration guide at: https://github.com/kubernetes-sigs/kubebuilder/blob/master/docs/book/src/migration/manually_migration_guide_gov3_to_gov4.md Open areas: Move to gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0 Change transformers to labels in kustomize Signed-off-by: Shyamsundar Ranganathan --- Dockerfile | 6 +-- Makefile | 39 ++++++++++--------- PROJECT | 2 +- main.go => cmd/main.go | 6 +-- config/crd/kustomization.yaml | 26 ++++++------- .../patches/cainjection_in_drclusters.yaml | 7 ---- .../cainjection_in_drplacementcontrols.yaml | 7 ---- .../patches/cainjection_in_drpolicies.yaml | 7 ---- .../cainjection_in_maintenancemodes.yaml | 7 ---- ..._protectedvolumereplicationgrouplists.yaml | 7 ---- ...ainjection_in_volumereplicationgroups.yaml | 7 ---- .../patches/webhook_in_maintenancemodes.yaml | 16 -------- ..._protectedvolumereplicationgrouplists.yaml | 16 -------- .../webhook_in_volumereplicationgroups.yaml | 14 ------- config/dr-cluster/crd/kustomization.yaml | 6 +-- config/dr-cluster/default/kustomization.yaml | 13 ++++--- config/hub/crd/kustomization.yaml | 2 +- config/hub/default/k8s/kustomization.yaml | 13 ++++--- config/hub/default/ocp/kustomization.yaml | 15 +++---- docs/dev/cve.md | 2 +- docs/testing.md | 15 +++---- hack/install-kustomize.sh | 2 +- hack/install-operator-sdk.sh | 2 +- hack/install-opm.sh | 2 +- .../controller}/argocd/appset_hack.go | 0 .../controller}/cel/cel_drclusters_test.go | 0 .../cel/cel_drplacementcontrol_test.go | 0 .../controller}/cel/cel_drpolicy_test.go | 0 .../controller}/cel/cel_suite_test.go | 11 +++--- .../controller}/controllers_utils_test.go | 2 +- .../controller}/drcluster_controller.go | 2 +- .../controller}/drcluster_controller_test.go | 4 +- .../controller}/drcluster_mmode.go | 2 +- .../controller}/drcluster_mmode_test.go | 8 ++-- .../controller}/drclusters.go | 4 +- .../controller}/drpc_predicate_test.go | 6 +-- .../controller}/drplacementcontrol.go | 2 +- .../drplacementcontrol_controller.go | 6 +-- .../drplacementcontrol_controller_test.go | 6 +-- .../controller}/drplacementcontrolvolsync.go | 4 +- .../controller}/drpolicy.go | 2 +- .../controller}/drpolicy_controller.go | 2 +- .../controller}/drpolicy_controller_test.go | 2 +- .../controller}/kubeobjects/requests.go | 0 .../kubeobjects/velero/requests.go | 2 +- .../controller}/metrics.go | 0 .../controller}/objects_test.go | 0 .../controller}/protected_condition.go | 0 ...edvolumereplicationgrouplist_controller.go | 2 +- ...umereplicationgrouplist_controller_test.go | 2 +- .../controller}/ramenconfig.go | 0 .../controller}/ramenconfig_test.go | 2 +- .../controller}/reconcile_result.go | 0 .../controller}/s3_store_accessors.go | 0 .../controller}/s3utils.go | 0 .../controller}/s3utils_test.go | 2 +- .../controller}/status.go | 0 .../controller}/suite_test.go | 14 +++---- .../controller}/util/conditions.go | 0 .../controller}/util/drpolicy_util.go | 0 .../controller}/util/events.go | 0 .../controller}/util/labels.go | 0 .../controller}/util/maps.go | 0 .../controller}/util/maps_test.go | 2 +- .../controller}/util/mcv_util.go | 0 .../controller}/util/misc.go | 0 .../controller}/util/mw_util.go | 0 .../controller}/util/mw_util_test.go | 2 +- .../controller}/util/objectmeta.go | 0 .../controller}/util/objects.go | 0 .../controller}/util/owner.go | 0 .../controller}/util/predicates.go | 0 .../controller}/util/pvcs_util.go | 0 .../controller}/util/pvcs_util_test.go | 2 +- .../controller}/util/secrets_util.go | 0 .../controller}/util/secrets_util_test.go | 2 +- .../controller}/util/util_suite_test.go | 10 ++--- .../controller}/volsync/common.go | 0 .../controller}/volsync/deploy_volsync.go | 0 .../volsync/deploy_volsync_test.go | 2 +- .../controller}/volsync/secret_propagator.go | 2 +- .../volsync/secret_propagator_test.go | 4 +- .../controller}/volsync/secretgen.go | 2 +- .../controller}/volsync/secretgen_test.go | 4 +- .../controller}/volsync/volsync_suite_test.go | 10 ++--- .../controller}/volsync/vshandler.go | 2 +- .../controller}/volsync/vshandler_test.go | 4 +- .../volumereplicationgroup_controller.go | 8 ++-- .../controller}/vrg_kubeobjects.go | 4 +- .../controller}/vrg_kubeobjects_test.go | 2 +- .../controller}/vrg_pvc_selector.go | 0 .../controller}/vrg_pvc_selector_test.go | 2 +- .../controller}/vrg_recipe.go | 4 +- .../controller}/vrg_recipe_test.go | 2 +- .../controller}/vrg_status_pvcs.go | 0 .../controller}/vrg_volrep.go | 2 +- .../controller}/vrg_volrep_test.go | 4 +- .../controller}/vrg_volsync.go | 2 +- .../controller}/vrg_volsync_test.go | 2 +- .../controller}/vrg_vrgobject.go | 2 +- 100 files changed, 163 insertions(+), 245 deletions(-) rename main.go => cmd/main.go (97%) delete mode 100644 config/crd/patches/cainjection_in_drclusters.yaml delete mode 100644 config/crd/patches/cainjection_in_drplacementcontrols.yaml delete mode 100644 config/crd/patches/cainjection_in_drpolicies.yaml delete mode 100644 config/crd/patches/cainjection_in_maintenancemodes.yaml delete mode 100644 config/crd/patches/cainjection_in_protectedvolumereplicationgrouplists.yaml delete mode 100644 config/crd/patches/cainjection_in_volumereplicationgroups.yaml delete mode 100644 config/crd/patches/webhook_in_maintenancemodes.yaml delete mode 100644 config/crd/patches/webhook_in_protectedvolumereplicationgrouplists.yaml delete mode 100644 config/crd/patches/webhook_in_volumereplicationgroups.yaml rename {controllers => internal/controller}/argocd/appset_hack.go (100%) rename {controllers => internal/controller}/cel/cel_drclusters_test.go (100%) rename {controllers => internal/controller}/cel/cel_drplacementcontrol_test.go (100%) rename {controllers => internal/controller}/cel/cel_drpolicy_test.go (100%) rename {controllers => internal/controller}/cel/cel_suite_test.go (88%) rename {controllers => internal/controller}/controllers_utils_test.go (98%) rename {controllers => internal/controller}/drcluster_controller.go (99%) rename {controllers => internal/controller}/drcluster_controller_test.go (99%) rename {controllers => internal/controller}/drcluster_mmode.go (99%) rename {controllers => internal/controller}/drcluster_mmode_test.go (98%) rename {controllers => internal/controller}/drclusters.go (98%) rename {controllers => internal/controller}/drpc_predicate_test.go (99%) rename {controllers => internal/controller}/drplacementcontrol.go (99%) rename {controllers => internal/controller}/drplacementcontrol_controller.go (99%) rename {controllers => internal/controller}/drplacementcontrol_controller_test.go (99%) rename {controllers => internal/controller}/drplacementcontrolvolsync.go (98%) rename {controllers => internal/controller}/drpolicy.go (99%) rename {controllers => internal/controller}/drpolicy_controller.go (99%) rename {controllers => internal/controller}/drpolicy_controller_test.go (99%) rename {controllers => internal/controller}/kubeobjects/requests.go (100%) rename {controllers => internal/controller}/kubeobjects/velero/requests.go (99%) rename {controllers => internal/controller}/metrics.go (100%) rename {controllers => internal/controller}/objects_test.go (100%) rename {controllers => internal/controller}/protected_condition.go (100%) rename {controllers => internal/controller}/protectedvolumereplicationgrouplist_controller.go (99%) rename {controllers => internal/controller}/protectedvolumereplicationgrouplist_controller_test.go (99%) rename {controllers => internal/controller}/ramenconfig.go (100%) rename {controllers => internal/controller}/ramenconfig_test.go (96%) rename {controllers => internal/controller}/reconcile_result.go (100%) rename {controllers => internal/controller}/s3_store_accessors.go (100%) rename {controllers => internal/controller}/s3utils.go (100%) rename {controllers => internal/controller}/s3utils_test.go (98%) rename {controllers => internal/controller}/status.go (100%) rename {controllers => internal/controller}/suite_test.go (96%) rename {controllers => internal/controller}/util/conditions.go (100%) rename {controllers => internal/controller}/util/drpolicy_util.go (100%) rename {controllers => internal/controller}/util/events.go (100%) rename {controllers => internal/controller}/util/labels.go (100%) rename {controllers => internal/controller}/util/maps.go (100%) rename {controllers => internal/controller}/util/maps_test.go (93%) rename {controllers => internal/controller}/util/mcv_util.go (100%) rename {controllers => internal/controller}/util/misc.go (100%) rename {controllers => internal/controller}/util/mw_util.go (100%) rename {controllers => internal/controller}/util/mw_util_test.go (99%) rename {controllers => internal/controller}/util/objectmeta.go (100%) rename {controllers => internal/controller}/util/objects.go (100%) rename {controllers => internal/controller}/util/owner.go (100%) rename {controllers => internal/controller}/util/predicates.go (100%) rename {controllers => internal/controller}/util/pvcs_util.go (100%) rename {controllers => internal/controller}/util/pvcs_util_test.go (99%) rename {controllers => internal/controller}/util/secrets_util.go (100%) rename {controllers => internal/controller}/util/secrets_util_test.go (99%) rename {controllers => internal/controller}/util/util_suite_test.go (90%) rename {controllers => internal/controller}/volsync/common.go (100%) rename {controllers => internal/controller}/volsync/deploy_volsync.go (100%) rename {controllers => internal/controller}/volsync/deploy_volsync_test.go (98%) rename {controllers => internal/controller}/volsync/secret_propagator.go (99%) rename {controllers => internal/controller}/volsync/secret_propagator_test.go (99%) rename {controllers => internal/controller}/volsync/secretgen.go (97%) rename {controllers => internal/controller}/volsync/secretgen_test.go (97%) rename {controllers => internal/controller}/volsync/volsync_suite_test.go (95%) rename {controllers => internal/controller}/volsync/vshandler.go (99%) rename {controllers => internal/controller}/volsync/vshandler_test.go (99%) rename {controllers => internal/controller}/volumereplicationgroup_controller.go (99%) rename {controllers => internal/controller}/vrg_kubeobjects.go (99%) rename {controllers => internal/controller}/vrg_kubeobjects_test.go (98%) rename {controllers => internal/controller}/vrg_pvc_selector.go (100%) rename {controllers => internal/controller}/vrg_pvc_selector_test.go (99%) rename {controllers => internal/controller}/vrg_recipe.go (98%) rename {controllers => internal/controller}/vrg_recipe_test.go (99%) rename {controllers => internal/controller}/vrg_status_pvcs.go (100%) rename {controllers => internal/controller}/vrg_volrep.go (99%) rename {controllers => internal/controller}/vrg_volrep_test.go (99%) rename {controllers => internal/controller}/vrg_volsync.go (99%) rename {controllers => internal/controller}/vrg_volsync_test.go (99%) rename {controllers => internal/controller}/vrg_vrgobject.go (97%) diff --git a/Dockerfile b/Dockerfile index c04dcc388d..cac6dd072f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,11 +14,11 @@ COPY api/ api/ RUN go mod download # Copy the go source -COPY main.go main.go -COPY controllers/ controllers/ +COPY cmd/main.go cmd/main.go +COPY internal/controller/ internal/controller/ # Build -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -o manager main.go +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -o manager cmd/main.go FROM registry.access.redhat.com/ubi8/ubi-minimal WORKDIR / diff --git a/Makefile b/Makefile index 63499b2125..a24c4aa848 100644 --- a/Makefile +++ b/Makefile @@ -141,46 +141,46 @@ test: generate manifests envtest ## Run all the tests. go test ./... -coverprofile cover.out test-pvrgl: generate manifests envtest ## Run ProtectedVolumeReplicationGroupList tests. - go test ./controllers -coverprofile cover.out -ginkgo.focus ProtectedVolumeReplicationGroupList + go test ./internal/controller -coverprofile cover.out -ginkgo.focus ProtectedVolumeReplicationGroupList test-obj: generate manifests envtest ## Run ObjectStorer tests. - go test ./controllers -coverprofile cover.out -ginkgo.focus FakeObjectStorer + go test ./internal/controller -coverprofile cover.out -ginkgo.focus FakeObjectStorer test-vs: generate manifests envtest ## Run VolumeSync tests. - go test ./controllers/volsync -coverprofile cover.out + go test ./internal/controller/volsync -coverprofile cover.out test-vrg: generate manifests envtest ## Run VolumeReplicationGroup tests. - go test ./controllers -coverprofile cover.out -ginkgo.focus VolumeReplicationGroup + go test ./internal/controller -coverprofile cover.out -ginkgo.focus VolumeReplicationGroup test-vrg-pvc: generate manifests envtest ## Run VolumeReplicationGroupPVC tests. - go test ./controllers -coverprofile cover.out -ginkgo.focus VolumeReplicationGroupPVC + go test ./internal/controller -coverprofile cover.out -ginkgo.focus VolumeReplicationGroupPVC test-vrg-vr: generate manifests envtest ## Run VolumeReplicationGroupVolRep tests. - go test ./controllers -coverprofile cover.out -ginkgo.focus VolumeReplicationGroupVolRep + go test ./internal/controller -coverprofile cover.out -ginkgo.focus VolumeReplicationGroupVolRep test-vrg-vs: generate manifests envtest ## Run VolumeReplicationGroupVolSync tests. - go test ./controllers -coverprofile cover.out -ginkgo.focus VolumeReplicationGroupVolSync + go test ./internal/controller -coverprofile cover.out -ginkgo.focus VolumeReplicationGroupVolSync test-vrg-recipe: generate manifests envtest ## Run VolumeReplicationGroupRecipe tests. - go test ./controllers -coverprofile cover.out -ginkgo.focus VolumeReplicationGroupRecipe + go test ./internal/controller -coverprofile cover.out -ginkgo.focus VolumeReplicationGroupRecipe test-vrg-kubeobjects: generate manifests envtest ## Run VolumeReplicationGroupKubeObjects tests. - go test ./controllers -coverprofile cover.out -ginkgo.focus VRG_KubeObjectProtection + go test ./internal/controller -coverprofile cover.out -ginkgo.focus VRG_KubeObjectProtection test-drpc: generate manifests envtest ## Run DRPlacementControl tests. - go test ./controllers -coverprofile cover.out -ginkgo.focus DRPlacementControl + go test ./internal/controller -coverprofile cover.out -ginkgo.focus DRPlacementControl test-drcluster: generate manifests envtest ## Run DRCluster tests. - go test ./controllers -coverprofile cover.out -ginkgo.focus DRClusterController + go test ./internal/controller -coverprofile cover.out -ginkgo.focus DRClusterController test-drpolicy: generate manifests envtest ## Run DRPolicy tests. - go test ./controllers -coverprofile cover.out -ginkgo.focus DRPolicyController + go test ./internal/controller -coverprofile cover.out -ginkgo.focus DRPolicyController test-util: generate manifests envtest ## Run util tests. - go test ./controllers/util -coverprofile cover.out + go test ./internal/controller/util -coverprofile cover.out test-util-pvc: generate manifests envtest ## Run util-pvc tests. - go test ./controllers/util -coverprofile cover.out -ginkgo.focus PVCS_Util + go test ./internal/controller/util -coverprofile cover.out -ginkgo.focus PVCS_Util test-drenv: ## Run drenv tests. $(MAKE) -C test @@ -201,15 +201,15 @@ venv: ##@ Build # Build manager binary -build: generate ## Build manager binary. - go build -o bin/manager main.go +build: generate manifests ## Build manager binary. + go build -o bin/manager cmd/main.go # Run against the configured Kubernetes cluster in ~/.kube/config run-hub: generate manifests ## Run DR Orchestrator controller from your host. - go run ./main.go --config=examples/dr_hub_config.yaml + go run ./cmd/main.go --config=examples/dr_hub_config.yaml run-dr-cluster: generate manifests ## Run DR manager controller from your host. - go run ./main.go --config=examples/dr_cluster_config.yaml + go run ./cmd/main.go --config=examples/dr_cluster_config.yaml docker-build: ## Build docker image with the manager. $(DOCKERCMD) build -t ${IMG} . @@ -391,7 +391,8 @@ ifeq ($(DOCKERCMD),docker) -e ' 1,// s//FROM --platform=\$$\{BUILDPLATFORM\}/' \ Dockerfile > Dockerfile.cross $(SED_CMD) -e 's/GOARCH=amd64/GOARCH=$${TARGETARCH}/' -i Dockerfile.cross - - $(DOCKERCMD) buildx create --name $(IMAGE_NAME)-builder --bootstrap --use + - $(DOCKERCMD) buildx create --name $(IMAGE_NAME)-builder + $(DOCKERCMD) buildx use project-v3-builder - $(DOCKERCMD) buildx build --push --platform="${PLATFORMS}" --tag ${IMG} -f Dockerfile.cross . - $(DOCKERCMD) buildx rm $(IMAGE_NAME)-builder rm Dockerfile.cross diff --git a/PROJECT b/PROJECT index 545c85331b..280a29cbc8 100644 --- a/PROJECT +++ b/PROJECT @@ -3,7 +3,7 @@ domain: openshift.io layout: -- go.kubebuilder.io/v3 +- go.kubebuilder.io/v4 plugins: manifests.sdk.operatorframework.io/v2: {} scorecard.sdk.operatorframework.io/v2: {} diff --git a/main.go b/cmd/main.go similarity index 97% rename from main.go rename to cmd/main.go index 6897e99b45..4c35684020 100644 --- a/main.go +++ b/cmd/main.go @@ -34,9 +34,9 @@ import ( ramendrv1alpha1 "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers" - argocdv1alpha1hack "github.com/ramendr/ramen/controllers/argocd" - rmnutil "github.com/ramendr/ramen/controllers/util" + controllers "github.com/ramendr/ramen/internal/controller" + argocdv1alpha1hack "github.com/ramendr/ramen/internal/controller/argocd" + rmnutil "github.com/ramendr/ramen/internal/controller/util" recipe "github.com/ramendr/recipe/api/v1alpha1" // +kubebuilder:scaffold:imports ) diff --git a/config/crd/kustomization.yaml b/config/crd/kustomization.yaml index 982c011fef..2f27aff40b 100644 --- a/config/crd/kustomization.yaml +++ b/config/crd/kustomization.yaml @@ -10,25 +10,25 @@ resources: - bases/ramendr.openshift.io_maintenancemodes.yaml # +kubebuilder:scaffold:crdkustomizeresource -patchesStrategicMerge: +patches: # [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix. # patches here are for enabling the conversion webhook for each CRD -#- patches/webhook_in_volumereplicationgroups.yaml -#- patches/webhook_in_drpolicies.yaml -#- patches/webhook_in_DRPlacementControls.yaml -#- patches/webhook_in_drclusters.yaml -#- patches/webhook_in_protectedvolumereplicationgrouplists.yaml -#- patches/webhook_in_maintenancemodes.yaml +#- path: patches/webhook_in_volumereplicationgroups.yaml +#- path: patches/webhook_in_drpolicies.yaml +#- path: patches/webhook_in_DRPlacementControls.yaml +#- path: patches/webhook_in_drclusters.yaml +#- path: patches/webhook_in_protectedvolumereplicationgrouplists.yaml +#- path: patches/webhook_in_maintenancemodes.yaml # +kubebuilder:scaffold:crdkustomizewebhookpatch # [CERTMANAGER] To enable webhook, uncomment all the sections with [CERTMANAGER] prefix. # patches here are for enabling the CA injection for each CRD -#- patches/cainjection_in_volumereplicationgroups.yaml -#- patches/cainjection_in_drpolicies.yaml -#- patches/cainjection_in_DRPlacementControls.yaml -#- patches/cainjection_in_drclusters.yaml -#- patches/cainjection_in_protectedvolumereplicationgrouplists.yaml -#- patches/cainjection_in_maintenancemodes.yaml +#- path: patches/cainjection_in_volumereplicationgroups.yaml +#- path: patches/cainjection_in_drpolicies.yaml +#- path: patches/cainjection_in_DRPlacementControls.yaml +#- path: patches/cainjection_in_drclusters.yaml +#- path: patches/cainjection_in_protectedvolumereplicationgrouplists.yaml +#- path: patches/cainjection_in_maintenancemodes.yaml # +kubebuilder:scaffold:crdkustomizecainjectionpatch # the following config is for teaching kustomize how to do kustomization for CRDs. diff --git a/config/crd/patches/cainjection_in_drclusters.yaml b/config/crd/patches/cainjection_in_drclusters.yaml deleted file mode 100644 index 3733ad5175..0000000000 --- a/config/crd/patches/cainjection_in_drclusters.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# The following patch adds a directive for certmanager to inject CA into the CRD -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: drclusters.ramendr.openshift.io diff --git a/config/crd/patches/cainjection_in_drplacementcontrols.yaml b/config/crd/patches/cainjection_in_drplacementcontrols.yaml deleted file mode 100644 index 358fa7fa9d..0000000000 --- a/config/crd/patches/cainjection_in_drplacementcontrols.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# The following patch adds a directive for certmanager to inject CA into the CRD -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: drplacementcontrols.ramendr.openshift.io diff --git a/config/crd/patches/cainjection_in_drpolicies.yaml b/config/crd/patches/cainjection_in_drpolicies.yaml deleted file mode 100644 index bf3825766f..0000000000 --- a/config/crd/patches/cainjection_in_drpolicies.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# The following patch adds a directive for certmanager to inject CA into the CRD -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: drpolicies.ramendr.openshift.io diff --git a/config/crd/patches/cainjection_in_maintenancemodes.yaml b/config/crd/patches/cainjection_in_maintenancemodes.yaml deleted file mode 100644 index 357280d463..0000000000 --- a/config/crd/patches/cainjection_in_maintenancemodes.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# The following patch adds a directive for certmanager to inject CA into the CRD -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: maintenancemodes.ramendr.openshift.io diff --git a/config/crd/patches/cainjection_in_protectedvolumereplicationgrouplists.yaml b/config/crd/patches/cainjection_in_protectedvolumereplicationgrouplists.yaml deleted file mode 100644 index f685e59c2b..0000000000 --- a/config/crd/patches/cainjection_in_protectedvolumereplicationgrouplists.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# The following patch adds a directive for certmanager to inject CA into the CRD -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: protectedvolumereplicationgrouplists.ramendr.openshift.io diff --git a/config/crd/patches/cainjection_in_volumereplicationgroups.yaml b/config/crd/patches/cainjection_in_volumereplicationgroups.yaml deleted file mode 100644 index ca0adc7fe4..0000000000 --- a/config/crd/patches/cainjection_in_volumereplicationgroups.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# The following patch adds a directive for certmanager to inject CA into the CRD -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: volumereplicationgroups.ramendr.openshift.io diff --git a/config/crd/patches/webhook_in_maintenancemodes.yaml b/config/crd/patches/webhook_in_maintenancemodes.yaml deleted file mode 100644 index 2bb13c1aa4..0000000000 --- a/config/crd/patches/webhook_in_maintenancemodes.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# The following patch enables a conversion webhook for the CRD -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: maintenancemodes.ramendr.openshift.io -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - namespace: system - name: webhook-service - path: /convert - conversionReviewVersions: - - v1 diff --git a/config/crd/patches/webhook_in_protectedvolumereplicationgrouplists.yaml b/config/crd/patches/webhook_in_protectedvolumereplicationgrouplists.yaml deleted file mode 100644 index 2509cc8dd8..0000000000 --- a/config/crd/patches/webhook_in_protectedvolumereplicationgrouplists.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# The following patch enables a conversion webhook for the CRD -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: protectedvolumereplicationgrouplists.ramendr.openshift.io -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - namespace: system - name: webhook-service - path: /convert - conversionReviewVersions: - - v1 diff --git a/config/crd/patches/webhook_in_volumereplicationgroups.yaml b/config/crd/patches/webhook_in_volumereplicationgroups.yaml deleted file mode 100644 index e018614dd5..0000000000 --- a/config/crd/patches/webhook_in_volumereplicationgroups.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# The following patch enables a conversion webhook for the CRD -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: volumereplicationgroups.ramendr.openshift.io -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - namespace: system - name: webhook-service - path: /convert diff --git a/config/dr-cluster/crd/kustomization.yaml b/config/dr-cluster/crd/kustomization.yaml index be98ef07aa..a3e373df5c 100644 --- a/config/dr-cluster/crd/kustomization.yaml +++ b/config/dr-cluster/crd/kustomization.yaml @@ -7,15 +7,15 @@ resources: - ../../crd/bases/ramendr.openshift.io_maintenancemodes.yaml # +kubebuilder:scaffold:crdkustomizeresource -patchesStrategicMerge: +# patches: # [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix. # patches here are for enabling the conversion webhook for each CRD -#- patches/webhook_in_volumereplicationgroups.yaml +#- path: patches/webhook_in_volumereplicationgroups.yaml # +kubebuilder:scaffold:crdkustomizewebhookpatch # [CERTMANAGER] To enable webhook, uncomment all the sections with [CERTMANAGER] prefix. # patches here are for enabling the CA injection for each CRD -#- patches/cainjection_in_volumereplicationgroups.yaml +#- path: patches/cainjection_in_volumereplicationgroups.yaml # +kubebuilder:scaffold:crdkustomizecainjectionpatch # the following config is for teaching kustomize how to do kustomization for CRDs. diff --git a/config/dr-cluster/default/kustomization.yaml b/config/dr-cluster/default/kustomization.yaml index 8ced49a58d..cf14633d1f 100644 --- a/config/dr-cluster/default/kustomization.yaml +++ b/config/dr-cluster/default/kustomization.yaml @@ -8,9 +8,10 @@ namespace: ramen-system # field above. namePrefix: ramen-dr-cluster- -# Labels to add to all resources and selectors. -#commonLabels: -# someName: someValue +#labels: +#- includeSelectors: true +# pairs: +# someName: someValue transformers: - |- @@ -48,9 +49,9 @@ transformers: # Mount the controller config file for loading manager configurations # through a ComponentConfig type -patchesStrategicMerge: -- ../../default/manager_auth_proxy_patch.yaml -- ../../default/manager_config_patch.yaml +patches: +- path: ../../default/manager_auth_proxy_patch.yaml +- path: ../../default/manager_config_patch.yaml # [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix including the one in # crd/kustomization.yaml diff --git a/config/hub/crd/kustomization.yaml b/config/hub/crd/kustomization.yaml index 71f333cec8..39e71b40c1 100644 --- a/config/hub/crd/kustomization.yaml +++ b/config/hub/crd/kustomization.yaml @@ -7,7 +7,7 @@ resources: - ../../crd/bases/ramendr.openshift.io_drclusters.yaml # +kubebuilder:scaffold:crdkustomizeresource -# patchesStrategicMerge: +# patches: # [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix. # patches here are for enabling the conversion webhook for each CRD # +kubebuilder:scaffold:crdkustomizewebhookpatch diff --git a/config/hub/default/k8s/kustomization.yaml b/config/hub/default/k8s/kustomization.yaml index 14e26f0aad..5ec05f55af 100644 --- a/config/hub/default/k8s/kustomization.yaml +++ b/config/hub/default/k8s/kustomization.yaml @@ -8,9 +8,10 @@ namespace: ramen-system # field above. namePrefix: ramen-hub- -# Labels to add to all resources and selectors. -#commonLabels: -# someName: someValue +#labels: +#- includeSelectors: true +# pairs: +# someName: someValue transformers: - |- @@ -42,9 +43,9 @@ transformers: # Mount the controller config file for loading manager configurations # through a ComponentConfig type -patchesStrategicMerge: -- ../../../default/manager_auth_proxy_patch.yaml -- ../../../default/manager_config_patch.yaml +patches: +- path: ../../../default/manager_auth_proxy_patch.yaml +- path: ../../../default/manager_config_patch.yaml apiVersion: kustomize.config.k8s.io/v1beta1 diff --git a/config/hub/default/ocp/kustomization.yaml b/config/hub/default/ocp/kustomization.yaml index 9bd7466f02..f6c4892e22 100644 --- a/config/hub/default/ocp/kustomization.yaml +++ b/config/hub/default/ocp/kustomization.yaml @@ -8,9 +8,10 @@ namespace: ramen-system # field above. namePrefix: ramen-hub- -# Labels to add to all resources and selectors. -#commonLabels: -# someName: someValue +#labels: +#- includeSelectors: true +# pairs: +# someName: someValue transformers: - |- @@ -49,9 +50,9 @@ transformers: # Mount the controller config file for loading manager configurations # through a ComponentConfig type -patchesStrategicMerge: -- ../../../default/manager_auth_proxy_patch.yaml -- ../../../default/manager_config_patch.yaml +patches: +- path: ../../../default/manager_auth_proxy_patch.yaml +- path: ../../../default/manager_config_patch.yaml apiVersion: kustomize.config.k8s.io/v1beta1 @@ -66,4 +67,4 @@ resources: images: - name: kube-rbac-proxy newName: gcr.io/kubebuilder/kube-rbac-proxy - newTag: v0.13.0 + newTag: v0.13.1 diff --git a/docs/dev/cve.md b/docs/dev/cve.md index 9a9a9a88b3..f141c64e21 100644 --- a/docs/dev/cve.md +++ b/docs/dev/cve.md @@ -37,7 +37,7 @@ Here is an example of the command for three different scenarios ``` $ go mod why -m golang.org/x/time # golang.org/x/time - github.com/ramendr/ramen/controllers + github.com/ramendr/ramen/internal/controller golang.org/x/time/rate ``` diff --git a/docs/testing.md b/docs/testing.md index 2a392f0a70..90cef2148a 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -23,13 +23,14 @@ fake a success or failure from the components to test the controller code. $ make test hack/install-setup-envtest.sh go test ./... -coverprofile cover.out - github.com/ramendr/ramen coverage: 0.0% of statements - github.com/ramendr/ramen/controllers/kubeobjects coverage: 0.0% of statements - github.com/ramendr/ramen/controllers/argocd coverage: 0.0% of statements - github.com/ramendr/ramen/controllers/kubeobjects/velero coverage: 0.0% of statements -ok github.com/ramendr/ramen/controllers 205.468s coverage: 66.6% of statements -ok github.com/ramendr/ramen/controllers/util 9.911s coverage: 21.8% of statements -ok github.com/ramendr/ramen/controllers/volsync 26.089s coverage: 57.3% of statements + github.com/ramendr/ramen/cmd [no test files] + github.com/ramendr/ramen/internal/controller/argocd [no test files] + github.com/ramendr/ramen/internal/controller/kubeobjects [no test files] + github.com/ramendr/ramen/internal/controller/kubeobjects/velero [no test files] +ok github.com/ramendr/ramen/internal/controller 72.451s coverage: 67.6% of statements +ok github.com/ramendr/ramen/internal/controller/cel 6.190s coverage: [no statements] +ok github.com/ramendr/ramen/internal/controller/util 6.387s coverage: 19.9% of statements +ok github.com/ramendr/ramen/internal/controller/volsync 19.654s coverage: 57.6% of statements ``` Explore other `test-` targets that test a subset of the controller code. diff --git a/hack/install-kustomize.sh b/hack/install-kustomize.sh index 5688e9cb58..32a3af0739 100755 --- a/hack/install-kustomize.sh +++ b/hack/install-kustomize.sh @@ -3,7 +3,7 @@ set -e script_dir="$(cd "$(dirname "$0")" && pwd)" -required_version="v4.5.7" +required_version="v5.4.1" os=$(go env GOOS) arch=$(go env GOARCH) source_url="https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2F${required_version}/kustomize_${required_version}_${os}_${arch}.tar.gz" diff --git a/hack/install-operator-sdk.sh b/hack/install-operator-sdk.sh index 697de2e18c..2fc7dc518d 100755 --- a/hack/install-operator-sdk.sh +++ b/hack/install-operator-sdk.sh @@ -5,7 +5,7 @@ script_dir="$(cd "$(dirname "$0")" && pwd)" os=$(go env GOOS) arch=$(go env GOARCH) -required_version="v1.24.0" +required_version="v1.34.2" source_url="https://github.com/operator-framework/operator-sdk/releases/download/${required_version}/operator-sdk_${os}_${arch}" target_dir="${script_dir}/../bin" target_path="${target_dir}/operator-sdk" diff --git a/hack/install-opm.sh b/hack/install-opm.sh index 11caa53648..b934236c3e 100755 --- a/hack/install-opm.sh +++ b/hack/install-opm.sh @@ -5,7 +5,7 @@ script_dir="$(cd "$(dirname "$0")" && pwd)" os=$(go env GOOS) arch=$(go env GOARCH) -required_version="v1.23.2" +required_version="v1.43.0" source_url="https://github.com/operator-framework/operator-registry/releases/download/${required_version}/${os}-${arch}-opm" target_dir="${script_dir}/../bin" target_path="${target_dir}/opm" diff --git a/controllers/argocd/appset_hack.go b/internal/controller/argocd/appset_hack.go similarity index 100% rename from controllers/argocd/appset_hack.go rename to internal/controller/argocd/appset_hack.go diff --git a/controllers/cel/cel_drclusters_test.go b/internal/controller/cel/cel_drclusters_test.go similarity index 100% rename from controllers/cel/cel_drclusters_test.go rename to internal/controller/cel/cel_drclusters_test.go diff --git a/controllers/cel/cel_drplacementcontrol_test.go b/internal/controller/cel/cel_drplacementcontrol_test.go similarity index 100% rename from controllers/cel/cel_drplacementcontrol_test.go rename to internal/controller/cel/cel_drplacementcontrol_test.go diff --git a/controllers/cel/cel_drpolicy_test.go b/internal/controller/cel/cel_drpolicy_test.go similarity index 100% rename from controllers/cel/cel_drpolicy_test.go rename to internal/controller/cel/cel_drpolicy_test.go diff --git a/controllers/cel/cel_suite_test.go b/internal/controller/cel/cel_suite_test.go similarity index 88% rename from controllers/cel/cel_suite_test.go rename to internal/controller/cel/cel_suite_test.go index ef2ea03381..60f97f7d91 100644 --- a/controllers/cel/cel_suite_test.go +++ b/internal/controller/cel/cel_suite_test.go @@ -15,7 +15,8 @@ import ( . "github.com/onsi/gomega" "github.com/onsi/gomega/format" ramendrv1alpha1 "github.com/ramendr/ramen/api/v1alpha1" - // "github.com/ramendr/ramen/controllers/util" + + // "github.com/ramendr/ramen/internal/controller/util" "go.uber.org/zap/zapcore" "k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/rest" @@ -59,11 +60,11 @@ var _ = BeforeSuite(func() { if _, set := os.LookupEnv("KUBEBUILDER_ASSETS"); !set { testLog.Info("Setting up KUBEBUILDER_ASSETS for envtest") - // read content of the file ../../testbin/testassets.txt + // read content of the file ../../../testbin/testassets.txt // and set the content as the value of KUBEBUILDER_ASSETS // this is to avoid the need to set KUBEBUILDER_ASSETS // when running the test suite - content, err := os.ReadFile("../../testbin/testassets.txt") + content, err := os.ReadFile("../../../testbin/testassets.txt") Expect(err).NotTo(HaveOccurred()) Expect(os.Setenv("KUBEBUILDER_ASSETS", string(content))).To(Succeed()) } @@ -71,8 +72,8 @@ var _ = BeforeSuite(func() { By("Bootstrapping test environment") testEnv = &envtest.Environment{ CRDDirectoryPaths: []string{ - filepath.Join("..", "..", "config", "crd", "bases"), - filepath.Join("..", "..", "hack", "test"), + filepath.Join("..", "..", "..", "config", "crd", "bases"), + filepath.Join("..", "..", "..", "hack", "test"), }, } diff --git a/controllers/controllers_utils_test.go b/internal/controller/controllers_utils_test.go similarity index 98% rename from controllers/controllers_utils_test.go rename to internal/controller/controllers_utils_test.go index c1c1a704f9..2975ddd3dc 100644 --- a/controllers/controllers_utils_test.go +++ b/internal/controller/controllers_utils_test.go @@ -12,7 +12,7 @@ import ( workv1 "github.com/open-cluster-management/api/work/v1" ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/util/retry" diff --git a/controllers/drcluster_controller.go b/internal/controller/drcluster_controller.go similarity index 99% rename from controllers/drcluster_controller.go rename to internal/controller/drcluster_controller.go index 69d70ecc49..1b6dc21fd9 100644 --- a/controllers/drcluster_controller.go +++ b/internal/controller/drcluster_controller.go @@ -32,7 +32,7 @@ import ( csiaddonsv1alpha1 "github.com/csi-addons/kubernetes-csi-addons/apis/csiaddons/v1alpha1" "github.com/go-logr/logr" ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" ) // DRClusterReconciler reconciles a DRCluster object diff --git a/controllers/drcluster_controller_test.go b/internal/controller/drcluster_controller_test.go similarity index 99% rename from controllers/drcluster_controller_test.go rename to internal/controller/drcluster_controller_test.go index 84817abc5c..b9919884fe 100644 --- a/controllers/drcluster_controller_test.go +++ b/internal/controller/drcluster_controller_test.go @@ -13,8 +13,8 @@ import ( gomegaTypes "github.com/onsi/gomega/types" workv1 "github.com/open-cluster-management/api/work/v1" ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers" - "github.com/ramendr/ramen/controllers/util" + controllers "github.com/ramendr/ramen/internal/controller" + "github.com/ramendr/ramen/internal/controller/util" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/controllers/drcluster_mmode.go b/internal/controller/drcluster_mmode.go similarity index 99% rename from controllers/drcluster_mmode.go rename to internal/controller/drcluster_mmode.go index 89b80396aa..f863ecfe23 100644 --- a/controllers/drcluster_mmode.go +++ b/internal/controller/drcluster_mmode.go @@ -11,7 +11,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" ) // clusterMModeHandler handles all related maintenance modes that the DRCluster needs diff --git a/controllers/drcluster_mmode_test.go b/internal/controller/drcluster_mmode_test.go similarity index 98% rename from controllers/drcluster_mmode_test.go rename to internal/controller/drcluster_mmode_test.go index d121ef845c..977a056c9a 100644 --- a/controllers/drcluster_mmode_test.go +++ b/internal/controller/drcluster_mmode_test.go @@ -28,8 +28,8 @@ import ( config "k8s.io/component-base/config/v1alpha1" rmn "github.com/ramendr/ramen/api/v1alpha1" - ramencontrollers "github.com/ramendr/ramen/controllers" - "github.com/ramendr/ramen/controllers/util" + ramencontrollers "github.com/ramendr/ramen/internal/controller" + "github.com/ramendr/ramen/internal/controller/util" ) var _ = Describe("DRClusterMModeTests", Ordered, func() { @@ -58,8 +58,8 @@ var _ = Describe("DRClusterMModeTests", Ordered, func() { testEnv = &envtest.Environment{ CRDDirectoryPaths: []string{ - filepath.Join("..", "config", "crd", "bases"), - filepath.Join("..", "hack", "test"), + filepath.Join("..", "..", "config", "crd", "bases"), + filepath.Join("..", "..", "hack", "test"), }, } diff --git a/controllers/drclusters.go b/internal/controller/drclusters.go similarity index 98% rename from controllers/drclusters.go rename to internal/controller/drclusters.go index 98fb14d69b..e4b997ea4f 100644 --- a/controllers/drclusters.go +++ b/internal/controller/drclusters.go @@ -11,8 +11,8 @@ import ( operatorsv1 "github.com/operator-framework/api/pkg/operators/v1" operatorsv1alpha1 "github.com/operator-framework/api/pkg/operators/v1alpha1" rmn "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/util" - "github.com/ramendr/ramen/controllers/volsync" + "github.com/ramendr/ramen/internal/controller/util" + "github.com/ramendr/ramen/internal/controller/volsync" rbacv1 "k8s.io/api/rbac/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/controllers/drpc_predicate_test.go b/internal/controller/drpc_predicate_test.go similarity index 99% rename from controllers/drpc_predicate_test.go rename to internal/controller/drpc_predicate_test.go index 00f78bd2c7..6f83bd04b3 100644 --- a/controllers/drpc_predicate_test.go +++ b/internal/controller/drpc_predicate_test.go @@ -19,7 +19,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/envtest" rmn "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers" + controllers "github.com/ramendr/ramen/internal/controller" ) var _ = Describe("DRPCPredicateDRCluster", func() { @@ -234,8 +234,8 @@ var _ = Describe("DRPCPredicateDRCluster", func() { By("bootstrapping test environment") testEnv = &envtest.Environment{ CRDDirectoryPaths: []string{ - filepath.Join("..", "config", "crd", "bases"), - filepath.Join("..", "hack", "test"), + filepath.Join("..", "..", "config", "crd", "bases"), + filepath.Join("..", "..", "hack", "test"), }, } diff --git a/controllers/drplacementcontrol.go b/internal/controller/drplacementcontrol.go similarity index 99% rename from controllers/drplacementcontrol.go rename to internal/controller/drplacementcontrol.go index 077cbe4760..4735dd983f 100644 --- a/controllers/drplacementcontrol.go +++ b/internal/controller/drplacementcontrol.go @@ -18,7 +18,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" rmn "github.com/ramendr/ramen/api/v1alpha1" - rmnutil "github.com/ramendr/ramen/controllers/util" + rmnutil "github.com/ramendr/ramen/internal/controller/util" "sigs.k8s.io/controller-runtime/pkg/client" ) diff --git a/controllers/drplacementcontrol_controller.go b/internal/controller/drplacementcontrol_controller.go similarity index 99% rename from controllers/drplacementcontrol_controller.go rename to internal/controller/drplacementcontrol_controller.go index 382974fde4..ec75449c63 100644 --- a/controllers/drplacementcontrol_controller.go +++ b/internal/controller/drplacementcontrol_controller.go @@ -36,9 +36,9 @@ import ( clrapiv1beta1 "github.com/open-cluster-management-io/api/cluster/v1beta1" rmn "github.com/ramendr/ramen/api/v1alpha1" - argocdv1alpha1hack "github.com/ramendr/ramen/controllers/argocd" - rmnutil "github.com/ramendr/ramen/controllers/util" - "github.com/ramendr/ramen/controllers/volsync" + argocdv1alpha1hack "github.com/ramendr/ramen/internal/controller/argocd" + rmnutil "github.com/ramendr/ramen/internal/controller/util" + "github.com/ramendr/ramen/internal/controller/volsync" ) const ( diff --git a/controllers/drplacementcontrol_controller_test.go b/internal/controller/drplacementcontrol_controller_test.go similarity index 99% rename from controllers/drplacementcontrol_controller_test.go rename to internal/controller/drplacementcontrol_controller_test.go index 174f2e994e..0f91ccd7d2 100644 --- a/controllers/drplacementcontrol_controller_test.go +++ b/internal/controller/drplacementcontrol_controller_test.go @@ -32,9 +32,9 @@ import ( clrapiv1beta1 "github.com/open-cluster-management-io/api/cluster/v1beta1" rmn "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers" - argocdv1alpha1hack "github.com/ramendr/ramen/controllers/argocd" - rmnutil "github.com/ramendr/ramen/controllers/util" + controllers "github.com/ramendr/ramen/internal/controller" + argocdv1alpha1hack "github.com/ramendr/ramen/internal/controller/argocd" + rmnutil "github.com/ramendr/ramen/internal/controller/util" plrv1 "github.com/stolostron/multicloud-operators-placementrule/pkg/apis/apps/v1" corev1 "k8s.io/api/core/v1" rbacv1 "k8s.io/api/rbac/v1" diff --git a/controllers/drplacementcontrolvolsync.go b/internal/controller/drplacementcontrolvolsync.go similarity index 98% rename from controllers/drplacementcontrolvolsync.go rename to internal/controller/drplacementcontrolvolsync.go index 507d95a8ab..792fc8a1c3 100644 --- a/controllers/drplacementcontrolvolsync.go +++ b/internal/controller/drplacementcontrolvolsync.go @@ -7,8 +7,8 @@ import ( "fmt" rmn "github.com/ramendr/ramen/api/v1alpha1" - rmnutil "github.com/ramendr/ramen/controllers/util" - "github.com/ramendr/ramen/controllers/volsync" + rmnutil "github.com/ramendr/ramen/internal/controller/util" + "github.com/ramendr/ramen/internal/controller/volsync" "k8s.io/apimachinery/pkg/api/errors" ) diff --git a/controllers/drpolicy.go b/internal/controller/drpolicy.go similarity index 99% rename from controllers/drpolicy.go rename to internal/controller/drpolicy.go index a1101c4b92..46e3f49069 100644 --- a/controllers/drpolicy.go +++ b/internal/controller/drpolicy.go @@ -9,7 +9,7 @@ import ( "github.com/go-logr/logr" rmn "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" "k8s.io/apimachinery/pkg/util/sets" ) diff --git a/controllers/drpolicy_controller.go b/internal/controller/drpolicy_controller.go similarity index 99% rename from controllers/drpolicy_controller.go rename to internal/controller/drpolicy_controller.go index cf87044f31..de28aa5aae 100644 --- a/controllers/drpolicy_controller.go +++ b/internal/controller/drpolicy_controller.go @@ -26,7 +26,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/reconcile" ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" ) // DRPolicyReconciler reconciles a DRPolicy object diff --git a/controllers/drpolicy_controller_test.go b/internal/controller/drpolicy_controller_test.go similarity index 99% rename from controllers/drpolicy_controller_test.go rename to internal/controller/drpolicy_controller_test.go index 6bf09c264e..217f7a806f 100644 --- a/controllers/drpolicy_controller_test.go +++ b/internal/controller/drpolicy_controller_test.go @@ -11,7 +11,7 @@ import ( . "github.com/onsi/gomega/gstruct" gomegaTypes "github.com/onsi/gomega/types" ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" plrv1 "github.com/stolostron/multicloud-operators-placementrule/pkg/apis/apps/v1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" diff --git a/controllers/kubeobjects/requests.go b/internal/controller/kubeobjects/requests.go similarity index 100% rename from controllers/kubeobjects/requests.go rename to internal/controller/kubeobjects/requests.go diff --git a/controllers/kubeobjects/velero/requests.go b/internal/controller/kubeobjects/velero/requests.go similarity index 99% rename from controllers/kubeobjects/velero/requests.go rename to internal/controller/kubeobjects/velero/requests.go index 3283488e1e..ca49c2c481 100644 --- a/controllers/kubeobjects/velero/requests.go +++ b/internal/controller/kubeobjects/velero/requests.go @@ -16,7 +16,7 @@ import ( "github.com/go-logr/logr" pkgerrors "github.com/pkg/errors" - "github.com/ramendr/ramen/controllers/kubeobjects" + "github.com/ramendr/ramen/internal/controller/kubeobjects" velero "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" corev1 "k8s.io/api/core/v1" k8serrors "k8s.io/apimachinery/pkg/api/errors" diff --git a/controllers/metrics.go b/internal/controller/metrics.go similarity index 100% rename from controllers/metrics.go rename to internal/controller/metrics.go diff --git a/controllers/objects_test.go b/internal/controller/objects_test.go similarity index 100% rename from controllers/objects_test.go rename to internal/controller/objects_test.go diff --git a/controllers/protected_condition.go b/internal/controller/protected_condition.go similarity index 100% rename from controllers/protected_condition.go rename to internal/controller/protected_condition.go diff --git a/controllers/protectedvolumereplicationgrouplist_controller.go b/internal/controller/protectedvolumereplicationgrouplist_controller.go similarity index 99% rename from controllers/protectedvolumereplicationgrouplist_controller.go rename to internal/controller/protectedvolumereplicationgrouplist_controller.go index 3db0f37850..e443ae31d7 100644 --- a/controllers/protectedvolumereplicationgrouplist_controller.go +++ b/internal/controller/protectedvolumereplicationgrouplist_controller.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/util/workqueue" ctrl "sigs.k8s.io/controller-runtime" diff --git a/controllers/protectedvolumereplicationgrouplist_controller_test.go b/internal/controller/protectedvolumereplicationgrouplist_controller_test.go similarity index 99% rename from controllers/protectedvolumereplicationgrouplist_controller_test.go rename to internal/controller/protectedvolumereplicationgrouplist_controller_test.go index 1b776db7bf..d2df50411e 100644 --- a/controllers/protectedvolumereplicationgrouplist_controller_test.go +++ b/internal/controller/protectedvolumereplicationgrouplist_controller_test.go @@ -10,7 +10,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers" + controllers "github.com/ramendr/ramen/internal/controller" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/controllers/ramenconfig.go b/internal/controller/ramenconfig.go similarity index 100% rename from controllers/ramenconfig.go rename to internal/controller/ramenconfig.go diff --git a/controllers/ramenconfig_test.go b/internal/controller/ramenconfig_test.go similarity index 96% rename from controllers/ramenconfig_test.go rename to internal/controller/ramenconfig_test.go index d97d179e53..03401ffe8f 100644 --- a/controllers/ramenconfig_test.go +++ b/internal/controller/ramenconfig_test.go @@ -9,7 +9,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers" + controllers "github.com/ramendr/ramen/internal/controller" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/util/retry" diff --git a/controllers/reconcile_result.go b/internal/controller/reconcile_result.go similarity index 100% rename from controllers/reconcile_result.go rename to internal/controller/reconcile_result.go diff --git a/controllers/s3_store_accessors.go b/internal/controller/s3_store_accessors.go similarity index 100% rename from controllers/s3_store_accessors.go rename to internal/controller/s3_store_accessors.go diff --git a/controllers/s3utils.go b/internal/controller/s3utils.go similarity index 100% rename from controllers/s3utils.go rename to internal/controller/s3utils.go diff --git a/controllers/s3utils_test.go b/internal/controller/s3utils_test.go similarity index 98% rename from controllers/s3utils_test.go rename to internal/controller/s3utils_test.go index 26390964a6..3c3337bfaf 100644 --- a/controllers/s3utils_test.go +++ b/internal/controller/s3utils_test.go @@ -16,7 +16,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers" + controllers "github.com/ramendr/ramen/internal/controller" "sigs.k8s.io/controller-runtime/pkg/client" ) diff --git a/controllers/status.go b/internal/controller/status.go similarity index 100% rename from controllers/status.go rename to internal/controller/status.go diff --git a/controllers/suite_test.go b/internal/controller/suite_test.go similarity index 96% rename from controllers/suite_test.go rename to internal/controller/suite_test.go index 8ccbd48527..f0949c11cb 100644 --- a/controllers/suite_test.go +++ b/internal/controller/suite_test.go @@ -42,9 +42,9 @@ import ( clrapiv1beta1 "github.com/open-cluster-management-io/api/cluster/v1beta1" ramendrv1alpha1 "github.com/ramendr/ramen/api/v1alpha1" - ramencontrollers "github.com/ramendr/ramen/controllers" - argocdv1alpha1hack "github.com/ramendr/ramen/controllers/argocd" - "github.com/ramendr/ramen/controllers/util" + ramencontrollers "github.com/ramendr/ramen/internal/controller" + argocdv1alpha1hack "github.com/ramendr/ramen/internal/controller/argocd" + "github.com/ramendr/ramen/internal/controller/util" Recipe "github.com/ramendr/recipe/api/v1alpha1" velero "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" // +kubebuilder:scaffold:imports @@ -129,11 +129,11 @@ var _ = BeforeSuite(func() { if _, set := os.LookupEnv("KUBEBUILDER_ASSETS"); !set { testLog.Info("Setting up KUBEBUILDER_ASSETS for envtest") - // read content of the file ../testbin/testassets.txt + // read content of the file ../../testbin/testassets.txt // and set the content as the value of KUBEBUILDER_ASSETS // this is to avoid the need to set KUBEBUILDER_ASSETS // when running the test suite - content, err := os.ReadFile("../testbin/testassets.txt") + content, err := os.ReadFile("../../testbin/testassets.txt") Expect(err).NotTo(HaveOccurred()) Expect(os.Setenv("KUBEBUILDER_ASSETS", string(content))).To(Succeed()) } @@ -148,8 +148,8 @@ var _ = BeforeSuite(func() { By("bootstrapping test environment") testEnv = &envtest.Environment{ CRDDirectoryPaths: []string{ - filepath.Join("..", "config", "crd", "bases"), - filepath.Join("..", "hack", "test"), + filepath.Join("..", "..", "config", "crd", "bases"), + filepath.Join("..", "..", "hack", "test"), }, } diff --git a/controllers/util/conditions.go b/internal/controller/util/conditions.go similarity index 100% rename from controllers/util/conditions.go rename to internal/controller/util/conditions.go diff --git a/controllers/util/drpolicy_util.go b/internal/controller/util/drpolicy_util.go similarity index 100% rename from controllers/util/drpolicy_util.go rename to internal/controller/util/drpolicy_util.go diff --git a/controllers/util/events.go b/internal/controller/util/events.go similarity index 100% rename from controllers/util/events.go rename to internal/controller/util/events.go diff --git a/controllers/util/labels.go b/internal/controller/util/labels.go similarity index 100% rename from controllers/util/labels.go rename to internal/controller/util/labels.go diff --git a/controllers/util/maps.go b/internal/controller/util/maps.go similarity index 100% rename from controllers/util/maps.go rename to internal/controller/util/maps.go diff --git a/controllers/util/maps_test.go b/internal/controller/util/maps_test.go similarity index 93% rename from controllers/util/maps_test.go rename to internal/controller/util/maps_test.go index 28c5439bdd..55835e4c0b 100644 --- a/controllers/util/maps_test.go +++ b/internal/controller/util/maps_test.go @@ -6,7 +6,7 @@ package util_test import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" "golang.org/x/exp/maps" // TODO replace with "maps" in Go 1.21+ ) diff --git a/controllers/util/mcv_util.go b/internal/controller/util/mcv_util.go similarity index 100% rename from controllers/util/mcv_util.go rename to internal/controller/util/mcv_util.go diff --git a/controllers/util/misc.go b/internal/controller/util/misc.go similarity index 100% rename from controllers/util/misc.go rename to internal/controller/util/misc.go diff --git a/controllers/util/mw_util.go b/internal/controller/util/mw_util.go similarity index 100% rename from controllers/util/mw_util.go rename to internal/controller/util/mw_util.go diff --git a/controllers/util/mw_util_test.go b/internal/controller/util/mw_util_test.go similarity index 99% rename from controllers/util/mw_util_test.go rename to internal/controller/util/mw_util_test.go index 8c4b2d55a1..1ea9b29c7a 100644 --- a/controllers/util/mw_util_test.go +++ b/internal/controller/util/mw_util_test.go @@ -9,7 +9,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ocmworkv1 "github.com/open-cluster-management/api/work/v1" - rmnutil "github.com/ramendr/ramen/controllers/util" + rmnutil "github.com/ramendr/ramen/internal/controller/util" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/controllers/util/objectmeta.go b/internal/controller/util/objectmeta.go similarity index 100% rename from controllers/util/objectmeta.go rename to internal/controller/util/objectmeta.go diff --git a/controllers/util/objects.go b/internal/controller/util/objects.go similarity index 100% rename from controllers/util/objects.go rename to internal/controller/util/objects.go diff --git a/controllers/util/owner.go b/internal/controller/util/owner.go similarity index 100% rename from controllers/util/owner.go rename to internal/controller/util/owner.go diff --git a/controllers/util/predicates.go b/internal/controller/util/predicates.go similarity index 100% rename from controllers/util/predicates.go rename to internal/controller/util/predicates.go diff --git a/controllers/util/pvcs_util.go b/internal/controller/util/pvcs_util.go similarity index 100% rename from controllers/util/pvcs_util.go rename to internal/controller/util/pvcs_util.go diff --git a/controllers/util/pvcs_util_test.go b/internal/controller/util/pvcs_util_test.go similarity index 99% rename from controllers/util/pvcs_util_test.go rename to internal/controller/util/pvcs_util_test.go index 068204dca0..577f312ecb 100644 --- a/controllers/util/pvcs_util_test.go +++ b/internal/controller/util/pvcs_util_test.go @@ -10,7 +10,7 @@ import ( . "github.com/onsi/gomega" gomegatypes "github.com/onsi/gomega/types" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" diff --git a/controllers/util/secrets_util.go b/internal/controller/util/secrets_util.go similarity index 100% rename from controllers/util/secrets_util.go rename to internal/controller/util/secrets_util.go diff --git a/controllers/util/secrets_util_test.go b/internal/controller/util/secrets_util_test.go similarity index 99% rename from controllers/util/secrets_util_test.go rename to internal/controller/util/secrets_util_test.go index eae9a2e1d6..5828084664 100644 --- a/controllers/util/secrets_util_test.go +++ b/internal/controller/util/secrets_util_test.go @@ -8,7 +8,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" plrv1 "github.com/stolostron/multicloud-operators-placementrule/pkg/apis/apps/v1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" diff --git a/controllers/util/util_suite_test.go b/internal/controller/util/util_suite_test.go similarity index 90% rename from controllers/util/util_suite_test.go rename to internal/controller/util/util_suite_test.go index d6fa837882..b54776bcd0 100644 --- a/controllers/util/util_suite_test.go +++ b/internal/controller/util/util_suite_test.go @@ -14,7 +14,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "github.com/onsi/gomega/format" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" plrv1 "github.com/stolostron/multicloud-operators-placementrule/pkg/apis/apps/v1" "go.uber.org/zap/zapcore" "k8s.io/client-go/kubernetes/scheme" @@ -62,11 +62,11 @@ var _ = BeforeSuite(func() { if _, set := os.LookupEnv("KUBEBUILDER_ASSETS"); !set { testLog.Info("Setting up KUBEBUILDER_ASSETS for envtest") - // read content of the file ../../testbin/testassets.txt + // read content of the file ../../../testbin/testassets.txt // and set the content as the value of KUBEBUILDER_ASSETS // this is to avoid the need to set KUBEBUILDER_ASSETS // when running the test suite - content, err := os.ReadFile("../../testbin/testassets.txt") + content, err := os.ReadFile("../../../testbin/testassets.txt") Expect(err).NotTo(HaveOccurred()) Expect(os.Setenv("KUBEBUILDER_ASSETS", string(content))).To(Succeed()) } @@ -74,8 +74,8 @@ var _ = BeforeSuite(func() { By("Bootstrapping test environment") testEnv = &envtest.Environment{ CRDDirectoryPaths: []string{ - filepath.Join("..", "..", "config", "crd", "bases"), - filepath.Join("..", "..", "hack", "test"), + filepath.Join("..", "..", "..", "config", "crd", "bases"), + filepath.Join("..", "..", "..", "hack", "test"), }, } diff --git a/controllers/volsync/common.go b/internal/controller/volsync/common.go similarity index 100% rename from controllers/volsync/common.go rename to internal/controller/volsync/common.go diff --git a/controllers/volsync/deploy_volsync.go b/internal/controller/volsync/deploy_volsync.go similarity index 100% rename from controllers/volsync/deploy_volsync.go rename to internal/controller/volsync/deploy_volsync.go diff --git a/controllers/volsync/deploy_volsync_test.go b/internal/controller/volsync/deploy_volsync_test.go similarity index 98% rename from controllers/volsync/deploy_volsync_test.go rename to internal/controller/volsync/deploy_volsync_test.go index 06b127f520..67f477f9dd 100644 --- a/controllers/volsync/deploy_volsync_test.go +++ b/internal/controller/volsync/deploy_volsync_test.go @@ -13,7 +13,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "sigs.k8s.io/controller-runtime/pkg/client" - "github.com/ramendr/ramen/controllers/volsync" + "github.com/ramendr/ramen/internal/controller/volsync" ) var _ = Describe("Deploy VolSync via ManagedClusterAddOn to managed clusters", func() { diff --git a/controllers/volsync/secret_propagator.go b/internal/controller/volsync/secret_propagator.go similarity index 99% rename from controllers/volsync/secret_propagator.go rename to internal/controller/volsync/secret_propagator.go index 0b147cdb8c..1c6971cfcf 100644 --- a/controllers/volsync/secret_propagator.go +++ b/internal/controller/volsync/secret_propagator.go @@ -16,7 +16,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" ctrlutil "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" plrulev1 "github.com/stolostron/multicloud-operators-placementrule/pkg/apis/apps/v1" cfgpolicyv1 "open-cluster-management.io/config-policy-controller/api/v1" policyv1 "open-cluster-management.io/governance-policy-propagator/api/v1" diff --git a/controllers/volsync/secret_propagator_test.go b/internal/controller/volsync/secret_propagator_test.go similarity index 99% rename from controllers/volsync/secret_propagator_test.go rename to internal/controller/volsync/secret_propagator_test.go index dcb03b295c..2685d32283 100644 --- a/controllers/volsync/secret_propagator_test.go +++ b/internal/controller/volsync/secret_propagator_test.go @@ -17,8 +17,8 @@ import ( "k8s.io/client-go/kubernetes/scheme" "sigs.k8s.io/controller-runtime/pkg/client" - "github.com/ramendr/ramen/controllers/util" - "github.com/ramendr/ramen/controllers/volsync" + "github.com/ramendr/ramen/internal/controller/util" + "github.com/ramendr/ramen/internal/controller/volsync" plrulev1 "github.com/stolostron/multicloud-operators-placementrule/pkg/apis/apps/v1" cfgpolicyv1 "open-cluster-management.io/config-policy-controller/api/v1" policyv1 "open-cluster-management.io/governance-policy-propagator/api/v1" diff --git a/controllers/volsync/secretgen.go b/internal/controller/volsync/secretgen.go similarity index 97% rename from controllers/volsync/secretgen.go rename to internal/controller/volsync/secretgen.go index c96bbfdc89..0de5ea5653 100644 --- a/controllers/volsync/secretgen.go +++ b/internal/controller/volsync/secretgen.go @@ -10,7 +10,7 @@ import ( "fmt" "github.com/go-logr/logr" - rmnutil "github.com/ramendr/ramen/controllers/util" + rmnutil "github.com/ramendr/ramen/internal/controller/util" corev1 "k8s.io/api/core/v1" kerrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/controllers/volsync/secretgen_test.go b/internal/controller/volsync/secretgen_test.go similarity index 97% rename from controllers/volsync/secretgen_test.go rename to internal/controller/volsync/secretgen_test.go index da18f646b5..fb1c8abbef 100644 --- a/controllers/volsync/secretgen_test.go +++ b/internal/controller/volsync/secretgen_test.go @@ -12,8 +12,8 @@ import ( "k8s.io/apimachinery/pkg/types" "sigs.k8s.io/controller-runtime/pkg/client" - rmnutil "github.com/ramendr/ramen/controllers/util" - "github.com/ramendr/ramen/controllers/volsync" + rmnutil "github.com/ramendr/ramen/internal/controller/util" + "github.com/ramendr/ramen/internal/controller/volsync" ) var _ = Describe("Secretgen", func() { diff --git a/controllers/volsync/volsync_suite_test.go b/internal/controller/volsync/volsync_suite_test.go similarity index 95% rename from controllers/volsync/volsync_suite_test.go rename to internal/controller/volsync/volsync_suite_test.go index d526010e8e..3ddd627793 100644 --- a/controllers/volsync/volsync_suite_test.go +++ b/internal/controller/volsync/volsync_suite_test.go @@ -29,7 +29,7 @@ import ( metrics "sigs.k8s.io/controller-runtime/pkg/metrics/server" volsyncv1alpha1 "github.com/backube/volsync/api/v1alpha1" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" ) var ( @@ -76,11 +76,11 @@ var _ = BeforeSuite(func() { By("Setting up KUBEBUILDER_ASSETS for envtest") if _, set := os.LookupEnv("KUBEBUILDER_ASSETS"); !set { - // read content of the file ../../testbin/testassets.txt + // read content of the file ../../../testbin/testassets.txt // and set the content as the value of KUBEBUILDER_ASSETS // this is to avoid the need to set KUBEBUILDER_ASSETS // when running the test suite - content, err := os.ReadFile("../../testbin/testassets.txt") + content, err := os.ReadFile("../../../testbin/testassets.txt") Expect(err).NotTo(HaveOccurred()) Expect(os.Setenv("KUBEBUILDER_ASSETS", string(content))).To(Succeed()) } @@ -88,8 +88,8 @@ var _ = BeforeSuite(func() { By("bootstrapping test environment") testEnv = &envtest.Environment{ CRDDirectoryPaths: []string{ - filepath.Join("..", "..", "config", "crd", "bases"), - filepath.Join("..", "..", "hack", "test"), + filepath.Join("..", "..", "..", "config", "crd", "bases"), + filepath.Join("..", "..", "..", "hack", "test"), }, } diff --git a/controllers/volsync/vshandler.go b/internal/controller/volsync/vshandler.go similarity index 99% rename from controllers/volsync/vshandler.go rename to internal/controller/volsync/vshandler.go index 96d94e237a..ec0479c255 100644 --- a/controllers/volsync/vshandler.go +++ b/internal/controller/volsync/vshandler.go @@ -27,7 +27,7 @@ import ( volsyncv1alpha1 "github.com/backube/volsync/api/v1alpha1" ramendrv1alpha1 "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" ) const ( diff --git a/controllers/volsync/vshandler_test.go b/internal/controller/volsync/vshandler_test.go similarity index 99% rename from controllers/volsync/vshandler_test.go rename to internal/controller/volsync/vshandler_test.go index 6ffa0a1050..25c904ef85 100644 --- a/controllers/volsync/vshandler_test.go +++ b/internal/controller/volsync/vshandler_test.go @@ -25,8 +25,8 @@ import ( volsyncv1alpha1 "github.com/backube/volsync/api/v1alpha1" ramendrv1alpha1 "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/util" - "github.com/ramendr/ramen/controllers/volsync" + "github.com/ramendr/ramen/internal/controller/util" + "github.com/ramendr/ramen/internal/controller/volsync" ) const ( diff --git a/controllers/volumereplicationgroup_controller.go b/internal/controller/volumereplicationgroup_controller.go similarity index 99% rename from controllers/volumereplicationgroup_controller.go rename to internal/controller/volumereplicationgroup_controller.go index 464374f0ff..333a26ca70 100644 --- a/controllers/volumereplicationgroup_controller.go +++ b/internal/controller/volumereplicationgroup_controller.go @@ -15,8 +15,8 @@ import ( volrep "github.com/csi-addons/kubernetes-csi-addons/apis/replication.storage/v1alpha1" "github.com/google/uuid" - "github.com/ramendr/ramen/controllers/kubeobjects" - "github.com/ramendr/ramen/controllers/kubeobjects/velero" + "github.com/ramendr/ramen/internal/controller/kubeobjects" + "github.com/ramendr/ramen/internal/controller/kubeobjects/velero" "golang.org/x/exp/maps" // TODO replace with "maps" in go1.21+ corev1 "k8s.io/api/core/v1" storagev1 "k8s.io/api/storage/v1" @@ -39,8 +39,8 @@ import ( volsyncv1alpha1 "github.com/backube/volsync/api/v1alpha1" ramendrv1alpha1 "github.com/ramendr/ramen/api/v1alpha1" - rmnutil "github.com/ramendr/ramen/controllers/util" - "github.com/ramendr/ramen/controllers/volsync" + rmnutil "github.com/ramendr/ramen/internal/controller/util" + "github.com/ramendr/ramen/internal/controller/volsync" ) // VolumeReplicationGroupReconciler reconciles a VolumeReplicationGroup object diff --git a/controllers/vrg_kubeobjects.go b/internal/controller/vrg_kubeobjects.go similarity index 99% rename from controllers/vrg_kubeobjects.go rename to internal/controller/vrg_kubeobjects.go index ef748a3afd..e8256ed471 100644 --- a/controllers/vrg_kubeobjects.go +++ b/internal/controller/vrg_kubeobjects.go @@ -12,8 +12,8 @@ import ( "github.com/go-logr/logr" ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/kubeobjects" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/kubeobjects" + "github.com/ramendr/ramen/internal/controller/util" Recipe "github.com/ramendr/recipe/api/v1alpha1" k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/controllers/vrg_kubeobjects_test.go b/internal/controller/vrg_kubeobjects_test.go similarity index 98% rename from controllers/vrg_kubeobjects_test.go rename to internal/controller/vrg_kubeobjects_test.go index 94649a2e64..2e32086cd7 100644 --- a/controllers/vrg_kubeobjects_test.go +++ b/internal/controller/vrg_kubeobjects_test.go @@ -10,7 +10,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" - "github.com/ramendr/ramen/controllers/kubeobjects" + "github.com/ramendr/ramen/internal/controller/kubeobjects" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/controllers/vrg_pvc_selector.go b/internal/controller/vrg_pvc_selector.go similarity index 100% rename from controllers/vrg_pvc_selector.go rename to internal/controller/vrg_pvc_selector.go diff --git a/controllers/vrg_pvc_selector_test.go b/internal/controller/vrg_pvc_selector_test.go similarity index 99% rename from controllers/vrg_pvc_selector_test.go rename to internal/controller/vrg_pvc_selector_test.go index b064b9de98..abf5b12c62 100644 --- a/controllers/vrg_pvc_selector_test.go +++ b/internal/controller/vrg_pvc_selector_test.go @@ -15,7 +15,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - vrgController "github.com/ramendr/ramen/controllers" + vrgController "github.com/ramendr/ramen/internal/controller" ramen "github.com/ramendr/ramen/api/v1alpha1" Recipe "github.com/ramendr/recipe/api/v1alpha1" diff --git a/controllers/vrg_recipe.go b/internal/controller/vrg_recipe.go similarity index 98% rename from controllers/vrg_recipe.go rename to internal/controller/vrg_recipe.go index 271dcdf24b..d84a0db362 100644 --- a/controllers/vrg_recipe.go +++ b/internal/controller/vrg_recipe.go @@ -12,8 +12,8 @@ import ( "github.com/go-logr/logr" ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/kubeobjects" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/kubeobjects" + "github.com/ramendr/ramen/internal/controller/util" recipe "github.com/ramendr/recipe/api/v1alpha1" "golang.org/x/exp/slices" "k8s.io/apimachinery/pkg/types" diff --git a/controllers/vrg_recipe_test.go b/internal/controller/vrg_recipe_test.go similarity index 99% rename from controllers/vrg_recipe_test.go rename to internal/controller/vrg_recipe_test.go index b13f92fc99..50775d2943 100644 --- a/controllers/vrg_recipe_test.go +++ b/internal/controller/vrg_recipe_test.go @@ -12,7 +12,7 @@ import ( . "github.com/onsi/gomega/gstruct" gomegatypes "github.com/onsi/gomega/types" ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers" + controllers "github.com/ramendr/ramen/internal/controller" recipe "github.com/ramendr/recipe/api/v1alpha1" corev1 "k8s.io/api/core/v1" storagev1 "k8s.io/api/storage/v1" diff --git a/controllers/vrg_status_pvcs.go b/internal/controller/vrg_status_pvcs.go similarity index 100% rename from controllers/vrg_status_pvcs.go rename to internal/controller/vrg_status_pvcs.go diff --git a/controllers/vrg_volrep.go b/internal/controller/vrg_volrep.go similarity index 99% rename from controllers/vrg_volrep.go rename to internal/controller/vrg_volrep.go index 8ccd6ff9b2..e7d6ed4a55 100644 --- a/controllers/vrg_volrep.go +++ b/internal/controller/vrg_volrep.go @@ -25,7 +25,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" ramendrv1alpha1 "github.com/ramendr/ramen/api/v1alpha1" - rmnutil "github.com/ramendr/ramen/controllers/util" + rmnutil "github.com/ramendr/ramen/internal/controller/util" ) func logWithPvcName(log logr.Logger, pvc *corev1.PersistentVolumeClaim) logr.Logger { diff --git a/controllers/vrg_volrep_test.go b/internal/controller/vrg_volrep_test.go similarity index 99% rename from controllers/vrg_volrep_test.go rename to internal/controller/vrg_volrep_test.go index 9e3a486cbc..125992ec32 100644 --- a/controllers/vrg_volrep_test.go +++ b/internal/controller/vrg_volrep_test.go @@ -19,8 +19,8 @@ import ( "github.com/onsi/gomega/format" gomegatypes "github.com/onsi/gomega/types" ramendrv1alpha1 "github.com/ramendr/ramen/api/v1alpha1" - vrgController "github.com/ramendr/ramen/controllers" - "github.com/ramendr/ramen/controllers/util" + vrgController "github.com/ramendr/ramen/internal/controller" + "github.com/ramendr/ramen/internal/controller/util" corev1 "k8s.io/api/core/v1" storagev1 "k8s.io/api/storage/v1" "k8s.io/apimachinery/pkg/api/errors" diff --git a/controllers/vrg_volsync.go b/internal/controller/vrg_volsync.go similarity index 99% rename from controllers/vrg_volsync.go rename to internal/controller/vrg_volsync.go index cc2e2c87da..7a57d580b4 100644 --- a/controllers/vrg_volsync.go +++ b/internal/controller/vrg_volsync.go @@ -10,7 +10,7 @@ import ( "github.com/go-logr/logr" ramendrv1alpha1 "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/volsync" + "github.com/ramendr/ramen/internal/controller/volsync" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/controllers/vrg_volsync_test.go b/internal/controller/vrg_volsync_test.go similarity index 99% rename from controllers/vrg_volsync_test.go rename to internal/controller/vrg_volsync_test.go index c358e4ef6c..8127521b5b 100644 --- a/controllers/vrg_volsync_test.go +++ b/internal/controller/vrg_volsync_test.go @@ -19,7 +19,7 @@ import ( volsyncv1alpha1 "github.com/backube/volsync/api/v1alpha1" snapv1 "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1" ramendrv1alpha1 "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/volsync" + "github.com/ramendr/ramen/internal/controller/volsync" storagev1 "k8s.io/api/storage/v1" "k8s.io/apimachinery/pkg/api/errors" ) diff --git a/controllers/vrg_vrgobject.go b/internal/controller/vrg_vrgobject.go similarity index 97% rename from controllers/vrg_vrgobject.go rename to internal/controller/vrg_vrgobject.go index e3a9b0717d..2bef211740 100644 --- a/controllers/vrg_vrgobject.go +++ b/internal/controller/vrg_vrgobject.go @@ -5,7 +5,7 @@ package controllers import ( ramen "github.com/ramendr/ramen/api/v1alpha1" - "github.com/ramendr/ramen/controllers/util" + "github.com/ramendr/ramen/internal/controller/util" corev1 "k8s.io/api/core/v1" ctrl "sigs.k8s.io/controller-runtime" )