From 9a4d550c5c413103f1457401547c810a040fac0c Mon Sep 17 00:00:00 2001 From: Varsha Prasad Narsing Date: Wed, 12 Jun 2024 00:08:47 -0700 Subject: [PATCH] Make provisioner logic external This commit pulls the provisioner logic in rukpak under pkg/, so that it can be easily be used by operator-controller. Signed-off-by: Varsha Prasad Narsing --- Makefile | 6 +++--- cmd/core/main.go | 4 ++-- cmd/helm/main.go | 2 +- docs/provisioners/helm.md | 2 +- docs/provisioners/plain.md | 2 +- docs/provisioners/registry.md | 2 +- {internal => pkg}/provisioner/helm/helm.go | 0 {internal => pkg}/provisioner/plain/plain.go | 0 {internal => pkg}/provisioner/registry/registry.go | 2 +- test/e2e/api_validation_test.go | 2 +- test/e2e/helm_provisioner_test.go | 2 +- test/e2e/plain_provisioner_test.go | 2 +- test/e2e/registry_provisioner_test.go | 2 +- test/e2e/webhook_test.go | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) rename {internal => pkg}/provisioner/helm/helm.go (100%) rename {internal => pkg}/provisioner/plain/plain.go (100%) rename {internal => pkg}/provisioner/registry/registry.go (92%) diff --git a/Makefile b/Makefile index 9111af3d..d0119287 100644 --- a/Makefile +++ b/Makefile @@ -91,13 +91,13 @@ generate: $(CONTROLLER_GEN) ## Generate code and manifests $(CONTROLLER_GEN) object:headerFile=./hack/boilerplate.go.txt paths=./api/... $(CONTROLLER_GEN) rbac:roleName=core-admin \ paths=./internal/controllers/bundledeployment/... \ - paths=./internal/provisioner/plain/... \ - paths=./internal/provisioner/registry/... \ + paths=./pkg/provisioner/plain/... \ + paths=./pkg/provisioner/registry/... \ output:stdout > ./manifests/base/core/resources/cluster_role.yaml $(CONTROLLER_GEN) rbac:roleName=webhooks-admin paths=./internal/webhook/... output:stdout > ./manifests/base/apis/webhooks/resources/cluster_role.yaml $(CONTROLLER_GEN) rbac:roleName=helm-provisioner-admin \ paths=./internal/controllers/bundledeployment/... \ - paths=./internal/provisioner/helm/... \ + paths=./pkg/provisioner/helm/... \ output:stdout > ./manifests/base/provisioners/helm/resources/cluster_role.yaml verify: tidy fmt generate ## Verify the current code generation and lint diff --git a/cmd/core/main.go b/cmd/core/main.go index 6abf9ce3..305d86e1 100644 --- a/cmd/core/main.go +++ b/cmd/core/main.go @@ -47,12 +47,12 @@ import ( rukpakv1alpha2 "github.com/operator-framework/rukpak/api/v1alpha2" "github.com/operator-framework/rukpak/internal/controllers/bundledeployment" - "github.com/operator-framework/rukpak/internal/provisioner/plain" - "github.com/operator-framework/rukpak/internal/provisioner/registry" "github.com/operator-framework/rukpak/internal/version" "github.com/operator-framework/rukpak/pkg/features" "github.com/operator-framework/rukpak/pkg/finalizer" "github.com/operator-framework/rukpak/pkg/preflights/crdupgradesafety" + "github.com/operator-framework/rukpak/pkg/provisioner/plain" + "github.com/operator-framework/rukpak/pkg/provisioner/registry" "github.com/operator-framework/rukpak/pkg/source" "github.com/operator-framework/rukpak/pkg/storage" "github.com/operator-framework/rukpak/pkg/util" diff --git a/cmd/helm/main.go b/cmd/helm/main.go index 001a3022..0d0a80c8 100644 --- a/cmd/helm/main.go +++ b/cmd/helm/main.go @@ -42,9 +42,9 @@ import ( rukpakv1alpha2 "github.com/operator-framework/rukpak/api/v1alpha2" "github.com/operator-framework/rukpak/internal/controllers/bundledeployment" - "github.com/operator-framework/rukpak/internal/provisioner/helm" "github.com/operator-framework/rukpak/internal/version" "github.com/operator-framework/rukpak/pkg/finalizer" + "github.com/operator-framework/rukpak/pkg/provisioner/helm" "github.com/operator-framework/rukpak/pkg/source" "github.com/operator-framework/rukpak/pkg/storage" "github.com/operator-framework/rukpak/pkg/util" diff --git a/docs/provisioners/helm.md b/docs/provisioners/helm.md index 6ed20d00..739fb1f6 100644 --- a/docs/provisioners/helm.md +++ b/docs/provisioners/helm.md @@ -2,7 +2,7 @@ ## Summary -The `helm` provisioner is one of the [provisioners](https://github.com/operator-framework/rukpak/tree/main/internal/provisioner) of RukPak. +The `helm` provisioner is one of the [provisioners](https://github.com/operator-framework/rukpak/tree/main/pkg/provisioner) of RukPak. It is able to instantiate a given `helm+v3` bundle with a specified helm chart onto a cluster where it then installs the content. It does so by reconciling `Bundle` and `BundleDeployment` types that have the `spec.provisionerClassName` field set to `core-rukpak-io-helm`. This field must be set to the correct provisioner name in order for the `helm` provisioner to see and interact with the bundle. diff --git a/docs/provisioners/plain.md b/docs/provisioners/plain.md index 0fd5ed30..6e3612f9 100644 --- a/docs/provisioners/plain.md +++ b/docs/provisioners/plain.md @@ -2,7 +2,7 @@ ## Summary -The `plain` provisioner is one of core RukPak [provisioners](https://github.com/operator-framework/rukpak/tree/main/internal/provisioner) +The `plain` provisioner is one of core RukPak [provisioners](https://github.com/operator-framework/rukpak/tree/main/pkg/provisioner) that knows how to interact with bundles of a particular format. These `plain+v0` bundles, or plain bundles, are simply container images containing a set of static Kubernetes YAML manifests in a given directory. For more information on the `plain+v0` format, see diff --git a/docs/provisioners/registry.md b/docs/provisioners/registry.md index 367d0f77..b80f5b7b 100644 --- a/docs/provisioners/registry.md +++ b/docs/provisioners/registry.md @@ -2,7 +2,7 @@ ## Summary -The `registry` provisioner is one of core Rukpak [provisioners](https://github.com/operator-framework/rukpak/tree/main/internal/provisioner) +The `registry` provisioner is one of core Rukpak [provisioners](https://github.com/operator-framework/rukpak/tree/main/pkg/provisioner) that knows how to interact with bundles of a particular format. These `registry+v1` bundles, or `registry` bundles, are container images containing a set of static Kubernetes YAML manifests organized in the legacy Operator Lifecycle Manger (OLM) format. For more information on the `registry+v1` format, see diff --git a/internal/provisioner/helm/helm.go b/pkg/provisioner/helm/helm.go similarity index 100% rename from internal/provisioner/helm/helm.go rename to pkg/provisioner/helm/helm.go diff --git a/internal/provisioner/plain/plain.go b/pkg/provisioner/plain/plain.go similarity index 100% rename from internal/provisioner/plain/plain.go rename to pkg/provisioner/plain/plain.go diff --git a/internal/provisioner/registry/registry.go b/pkg/provisioner/registry/registry.go similarity index 92% rename from internal/provisioner/registry/registry.go rename to pkg/provisioner/registry/registry.go index 572e8385..76794b4e 100644 --- a/internal/provisioner/registry/registry.go +++ b/pkg/provisioner/registry/registry.go @@ -10,8 +10,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" rukpakv1alpha2 "github.com/operator-framework/rukpak/api/v1alpha2" - "github.com/operator-framework/rukpak/internal/provisioner/plain" "github.com/operator-framework/rukpak/pkg/convert" + "github.com/operator-framework/rukpak/pkg/provisioner/plain" ) const ( diff --git a/test/e2e/api_validation_test.go b/test/e2e/api_validation_test.go index 6866c6b5..ebce167c 100644 --- a/test/e2e/api_validation_test.go +++ b/test/e2e/api_validation_test.go @@ -13,7 +13,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" rukpakv1alpha2 "github.com/operator-framework/rukpak/api/v1alpha2" - "github.com/operator-framework/rukpak/internal/provisioner/plain" + "github.com/operator-framework/rukpak/pkg/provisioner/plain" ) var _ = Describe("bundle api validation", func() { diff --git a/test/e2e/helm_provisioner_test.go b/test/e2e/helm_provisioner_test.go index 6c9a01c4..0c8813ba 100644 --- a/test/e2e/helm_provisioner_test.go +++ b/test/e2e/helm_provisioner_test.go @@ -15,7 +15,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" rukpakv1alpha2 "github.com/operator-framework/rukpak/api/v1alpha2" - "github.com/operator-framework/rukpak/internal/provisioner/helm" + "github.com/operator-framework/rukpak/pkg/provisioner/helm" ) var _ = Describe("helm provisioner bundledeployment", func() { diff --git a/test/e2e/plain_provisioner_test.go b/test/e2e/plain_provisioner_test.go index 3098ccf0..5b9fedd9 100644 --- a/test/e2e/plain_provisioner_test.go +++ b/test/e2e/plain_provisioner_test.go @@ -29,7 +29,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" rukpakv1alpha2 "github.com/operator-framework/rukpak/api/v1alpha2" - "github.com/operator-framework/rukpak/internal/provisioner/plain" + "github.com/operator-framework/rukpak/pkg/provisioner/plain" "github.com/operator-framework/rukpak/pkg/storage" "github.com/operator-framework/rukpak/pkg/util" ) diff --git a/test/e2e/registry_provisioner_test.go b/test/e2e/registry_provisioner_test.go index 73c425d1..728792b4 100644 --- a/test/e2e/registry_provisioner_test.go +++ b/test/e2e/registry_provisioner_test.go @@ -12,7 +12,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" rukpakv1alpha2 "github.com/operator-framework/rukpak/api/v1alpha2" - registryprovisioner "github.com/operator-framework/rukpak/internal/provisioner/registry" + registryprovisioner "github.com/operator-framework/rukpak/pkg/provisioner/registry" ) var _ = Describe("registry provisioner bundle", func() { diff --git a/test/e2e/webhook_test.go b/test/e2e/webhook_test.go index 1977b8f7..3abd225a 100644 --- a/test/e2e/webhook_test.go +++ b/test/e2e/webhook_test.go @@ -10,7 +10,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" rukpakv1alpha2 "github.com/operator-framework/rukpak/api/v1alpha2" - "github.com/operator-framework/rukpak/internal/provisioner/plain" + "github.com/operator-framework/rukpak/pkg/provisioner/plain" ) var _ = Describe("bundle deployment api validating webhook", func() {