From 0ae0bf285a5185db8ad2a71ae3300f1f1093ee9e Mon Sep 17 00:00:00 2001 From: Cedric Lamoriniere Date: Thu, 21 Mar 2024 21:56:55 +0100 Subject: [PATCH] finalize multigroup migration --- Dockerfile | 2 +- Makefile | 2 +- PROJECT | 24 ++++++++++++++----- bundle.Dockerfile | 2 +- ...rkpodautoscaler.clusterserviceversion.yaml | 2 +- bundle/metadata/annotations.yaml | 2 +- ...rkpodautoscaler.clusterserviceversion.yaml | 2 +- controllers/datadoghq/doc.go | 4 ++-- controllers/datadoghq/finalizer.go | 2 +- controllers/datadoghq/metrics.go | 2 +- controllers/datadoghq/replica_calculator.go | 2 +- .../datadoghq/replica_calculator_test.go | 2 +- .../test/watermarkpodautoscaler_e2e_test.go | 2 +- .../watermarkpodautoscaler_controller.go | 2 +- .../watermarkpodautoscaler_controller_test.go | 2 +- main.go | 7 +++--- 16 files changed, 37 insertions(+), 24 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6a4dbd8c..6b44b0b5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,7 @@ RUN go mod download # Copy the go source COPY main.go main.go -COPY api/ api/ +COPY apis/ apis/ COPY controllers/ controllers/ COPY pkg/ pkg/ COPY third_party/ third_party/ diff --git a/Makefile b/Makefile index 7a57b117..79a2dfeb 100644 --- a/Makefile +++ b/Makefile @@ -54,7 +54,7 @@ e2e: manager manifests verify-license goe2e # Runs e2e tests (expects a configured cluster) goe2e: - KUBEBUILDER_ASSETS="$(ROOT)/bin/$(PLATFORM)/" go test --tags=e2e ./controllers/test + KUBEBUILDER_ASSETS="$(ROOT)/bin/$(PLATFORM)/" go test --tags=e2e ./controllers/datadoghq/test # Build manager binary .PHONY: manager diff --git a/PROJECT b/PROJECT index ab6085ec..2265dbd4 100644 --- a/PROJECT +++ b/PROJECT @@ -1,17 +1,29 @@ domain: datadoghq.com -layout: go.kubebuilder.io/v2 +layout: +- go.kubebuilder.io/v3 +multigroup: true +plugins: + manifests.sdk.operatorframework.io/v2: {} + scorecard.sdk.operatorframework.io/v2: {} projectName: watermarkpodautoscaler repo: github.com/DataDog/watermarkpodautoscaler resources: -- - # TODO(user): Uncomment the below line if this resource implements a controller, else delete it. +- api: + crdVersion: v1 + namespaced: true controller: true domain: datadoghq.com group: datadoghq kind: WatermarkPodAutoscaler - # TODO(user): Update the package path for your API if the below value is incorrect. + path: github.com/DataDog/watermarkpodautoscaler/apis/datadoghq/v1alpha1 + version: v1alpha1 +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: datadoghq.com + group: datadoghq + kind: RecommendWatermarkPodAutoscaler path: github.com/DataDog/watermarkpodautoscaler/apis/datadoghq/v1alpha1 version: v1alpha1 version: "3" -plugins: - go.sdk.operatorframework.io/v2-alpha: {} diff --git a/bundle.Dockerfile b/bundle.Dockerfile index 86b2b1e2..4b3fed82 100644 --- a/bundle.Dockerfile +++ b/bundle.Dockerfile @@ -9,7 +9,7 @@ LABEL operators.operatorframework.io.bundle.channels.v1=alpha LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.23.0 LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 -LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v2 +LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3 # Labels for testing. LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1 diff --git a/bundle/manifests/watermarkpodautoscaler.clusterserviceversion.yaml b/bundle/manifests/watermarkpodautoscaler.clusterserviceversion.yaml index bc522eff..6affa2da 100644 --- a/bundle/manifests/watermarkpodautoscaler.clusterserviceversion.yaml +++ b/bundle/manifests/watermarkpodautoscaler.clusterserviceversion.yaml @@ -42,7 +42,7 @@ metadata: ] capabilities: Basic Install operators.operatorframework.io/builder: operator-sdk-v1.23.0 - operators.operatorframework.io/project_layout: go.kubebuilder.io/v2 + operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 name: watermarkpodautoscaler.v0.5.2 namespace: placeholder spec: diff --git a/bundle/metadata/annotations.yaml b/bundle/metadata/annotations.yaml index 1ac53ce6..fc9caa5b 100644 --- a/bundle/metadata/annotations.yaml +++ b/bundle/metadata/annotations.yaml @@ -8,7 +8,7 @@ annotations: operators.operatorframework.io.bundle.channel.default.v1: alpha operators.operatorframework.io.metrics.builder: operator-sdk-v1.23.0 operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 - operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v2 + operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 # Annotations for testing. operators.operatorframework.io.test.mediatype.v1: scorecard+v1 diff --git a/config/manifests/bases/watermarkpodautoscaler.clusterserviceversion.yaml b/config/manifests/bases/watermarkpodautoscaler.clusterserviceversion.yaml index 1d3aa57a..7de78fbb 100644 --- a/config/manifests/bases/watermarkpodautoscaler.clusterserviceversion.yaml +++ b/config/manifests/bases/watermarkpodautoscaler.clusterserviceversion.yaml @@ -40,7 +40,7 @@ metadata: ] capabilities: Basic Install operators.operatorframework.io/builder: operator-sdk-v1.23.0 - operators.operatorframework.io/project_layout: go.kubebuilder.io/v2 + operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 name: watermarkpodautoscaler.v0.6.0-rc.1 namespace: placeholder spec: diff --git a/controllers/datadoghq/doc.go b/controllers/datadoghq/doc.go index 3863216a..aff866a3 100644 --- a/controllers/datadoghq/doc.go +++ b/controllers/datadoghq/doc.go @@ -1,2 +1,2 @@ -// Package controllers containers all the WatermarkPodAutoscaler controller logic. -package controllers +// Package datadoghq containers all the WatermarkPodAutoscaler controller logic. +package datadoghq diff --git a/controllers/datadoghq/finalizer.go b/controllers/datadoghq/finalizer.go index c762c36a..74c920ca 100644 --- a/controllers/datadoghq/finalizer.go +++ b/controllers/datadoghq/finalizer.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016-present Datadog, Inc. -package controllers +package datadoghq import ( "context" diff --git a/controllers/datadoghq/metrics.go b/controllers/datadoghq/metrics.go index 94226989..6b460640 100644 --- a/controllers/datadoghq/metrics.go +++ b/controllers/datadoghq/metrics.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016-present Datadog, Inc. -package controllers +package datadoghq import ( "os" diff --git a/controllers/datadoghq/replica_calculator.go b/controllers/datadoghq/replica_calculator.go index 3edd6aae..3f6f1aa4 100644 --- a/controllers/datadoghq/replica_calculator.go +++ b/controllers/datadoghq/replica_calculator.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016-present Datadog, Inc. -package controllers +package datadoghq import ( "fmt" diff --git a/controllers/datadoghq/replica_calculator_test.go b/controllers/datadoghq/replica_calculator_test.go index 3933baaa..c9573ff4 100644 --- a/controllers/datadoghq/replica_calculator_test.go +++ b/controllers/datadoghq/replica_calculator_test.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016-present Datadog, Inc. -package controllers +package datadoghq import ( "fmt" diff --git a/controllers/datadoghq/test/watermarkpodautoscaler_e2e_test.go b/controllers/datadoghq/test/watermarkpodautoscaler_e2e_test.go index 87f56534..7f3da363 100644 --- a/controllers/datadoghq/test/watermarkpodautoscaler_e2e_test.go +++ b/controllers/datadoghq/test/watermarkpodautoscaler_e2e_test.go @@ -77,7 +77,7 @@ func ginkgoLog(format string, a ...interface{}) { var alreadyExistingObjs = map[dynclient.Object]bool{} func objectsBeforeEachFunc() { - objs, err := metricsserver.InitMetricsServerFiles(GinkgoWriter, "../../test/e2e/metricsserver/deploy", namespace) + objs, err := metricsserver.InitMetricsServerFiles(GinkgoWriter, "../../../test/e2e/metricsserver/deploy", namespace) Expect(err).Should(Succeed()) info("We extracted all the files") Expect(err).Should(Succeed()) diff --git a/controllers/datadoghq/watermarkpodautoscaler_controller.go b/controllers/datadoghq/watermarkpodautoscaler_controller.go index e3b07a0f..e3118bc3 100644 --- a/controllers/datadoghq/watermarkpodautoscaler_controller.go +++ b/controllers/datadoghq/watermarkpodautoscaler_controller.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016-present Datadog, Inc. -package controllers +package datadoghq import ( "context" diff --git a/controllers/datadoghq/watermarkpodautoscaler_controller_test.go b/controllers/datadoghq/watermarkpodautoscaler_controller_test.go index 174be98e..7e7c057d 100644 --- a/controllers/datadoghq/watermarkpodautoscaler_controller_test.go +++ b/controllers/datadoghq/watermarkpodautoscaler_controller_test.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016-present Datadog, Inc. -package controllers +package datadoghq import ( "context" diff --git a/main.go b/main.go index d55a950d..b804b8db 100644 --- a/main.go +++ b/main.go @@ -25,8 +25,9 @@ import ( ctrlzap "sigs.k8s.io/controller-runtime/pkg/log/zap" monitorv1alpha1 "github.com/DataDog/datadog-operator/apis/datadoghq/v1alpha1" + datadoghqv1alpha1 "github.com/DataDog/watermarkpodautoscaler/apis/datadoghq/v1alpha1" - controllers "github.com/DataDog/watermarkpodautoscaler/controllers/datadoghq" + datadoghqcontrollers "github.com/DataDog/watermarkpodautoscaler/controllers/datadoghq" "github.com/DataDog/watermarkpodautoscaler/pkg/config" "github.com/DataDog/watermarkpodautoscaler/pkg/version" // +kubebuilder:scaffold:imports @@ -125,11 +126,11 @@ func main() { managerLogger := ctrl.Log.WithName("controllers").WithName("WatermarkPodAutoscaler") klog.SetLogger(managerLogger) // Redirect klog to the controller logger (zap) - if err = (&controllers.WatermarkPodAutoscalerReconciler{ + if err = (&datadoghqcontrollers.WatermarkPodAutoscalerReconciler{ Client: mgr.GetClient(), Log: managerLogger, Scheme: mgr.GetScheme(), - Options: controllers.Options{SkipNotScalingEvents: skipNotScalingEvents}, + Options: datadoghqcontrollers.Options{SkipNotScalingEvents: skipNotScalingEvents}, }).SetupWithManager(mgr, workers); err != nil { setupLog.Error(err, "unable to create controller", "controller", "WatermarkPodAutoscaler") exitCode = 1