From 6eae6177c798cddaf4509eadadea0168494099ac Mon Sep 17 00:00:00 2001 From: Sarah Wang Date: Thu, 26 Dec 2024 15:27:55 -0500 Subject: [PATCH] [cleanup] Remove operator reference in /api folder, refactor v2alpha files (#1576) * remove move utils and reference to defaulting from api * moving more out of api v2alpha1/test to pkg/testutils and v2alpha1/datadogagent_default to internal/controller/defaults * refactoring otel collector * Update datadogagent_default_test.go --- api/datadoghq/v2alpha1/const.go | 54 - .../controller/datadogagent/common/utils.go | 3 +- .../datadogagent/component/agent/default.go | 31 +- .../component/clusteragent/default.go | 23 +- .../component/clusteragent/default_test.go | 3 +- .../component/clusteragent/utils.go | 7 +- .../component/clusterchecksrunner/default.go | 21 +- .../controller_reconcile_agent.go | 5 +- .../controller_reconcile_agent_test.go | 95 +- .../datadogagent/controller_reconcile_ccr.go | 3 +- .../controller_reconcile_ccr_test.go | 13 +- .../datadogagent/controller_reconcile_dca.go | 3 +- .../controller_reconcile_dca_test.go | 16 +- .../datadogagent/controller_reconcile_v2.go | 3 +- .../datadogagent/controller_v2_test.go | 32 +- .../defaults}/datadogagent_default.go | 131 +- .../defaults}/datadogagent_default_test.go | 1502 +++++++++-------- .../feature/admissioncontroller/feature.go | 9 +- .../admissioncontroller/feature_test.go | 32 +- .../datadogagent/feature/apm/feature.go | 21 +- .../datadogagent/feature/apm/feature_test.go | 46 +- .../datadogagent/feature/asm/feature_test.go | 16 +- .../feature/autoscaling/feature.go | 3 +- .../feature/clusterchecks/feature.go | 3 +- .../feature/clusterchecks/feature_test.go | 22 +- .../datadogagent/feature/cspm/feature.go | 5 +- .../datadogagent/feature/cws/feature.go | 3 +- .../datadogagent/feature/dogstatsd/feature.go | 5 +- .../feature/dogstatsd/feature_test.go | 24 +- .../feature/enabledefault/feature.go | 13 +- .../feature/enabledefault/feature_test.go | 4 +- .../feature/enabledefault/rbac.go | 4 +- .../feature/enabledefault/utils_test.go | 6 +- .../feature/eventcollection/feature.go | 5 +- .../feature/eventcollection/feature_test.go | 8 +- .../feature/externalmetrics/feature.go | 7 +- .../datadogagent/feature/helmcheck/feature.go | 7 +- .../feature/helmcheck/feature_test.go | 8 +- .../feature/kubernetesstatecore/feature.go | 7 +- .../kubernetesstatecore/feature_test.go | 14 +- .../feature/livecontainer/feature_test.go | 14 +- .../feature/liveprocess/feature_test.go | 18 +- .../feature/logcollection/feature_test.go | 14 +- .../feature/orchestratorexplorer/feature.go | 11 +- .../orchestratorexplorer/feature_test.go | 10 +- .../feature/otelcollector/configmap_test.go | 4 +- .../feature/otelcollector/feature.go | 3 +- .../feature/otelcollector/feature_test.go | 24 +- .../datadogagent/feature/otlp/feature.go | 5 +- .../datadogagent/feature/otlp/feature_test.go | 6 +- .../feature/processdiscovery/feature_test.go | 18 +- .../feature/prometheusscrape/feature_test.go | 12 +- .../feature/remoteconfig/feature_test.go | 8 +- .../datadogagent/feature/test/factory_test.go | 34 +- internal/controller/datadogagent/finalizer.go | 3 +- .../datadogagent/override/container.go | 13 +- .../controller/datadogagent/override/fips.go | 3 +- .../datadogagent/override/fips_test.go | 12 +- .../datadogagent/override/global.go | 9 +- .../datadogagent/override/global_test.go | 21 +- .../datadogagent/override/podtemplatespec.go | 3 +- internal/controller/testutils/agent.go | 13 +- pkg/config/config.go | 3 +- pkg/constants/const.go | 62 + .../v2alpha1 => pkg/constants}/utils.go | 55 +- .../v2alpha1 => pkg/constants}/utils_test.go | 102 +- .../utils/datadog/metrics_forwarder_test.go | 22 +- .../test => pkg/testutils}/builder.go | 14 +- .../v2alpha1/test => pkg/testutils}/new.go | 2 +- 69 files changed, 1392 insertions(+), 1343 deletions(-) rename {api/datadoghq/v2alpha1 => internal/controller/datadogagent/defaults}/datadogagent_default.go (81%) rename {api/datadoghq/v2alpha1 => internal/controller/datadogagent/defaults}/datadogagent_default_test.go (58%) create mode 100644 pkg/constants/const.go rename {api/datadoghq/v2alpha1 => pkg/constants}/utils.go (73%) rename {api/datadoghq/v2alpha1 => pkg/constants}/utils_test.go (69%) rename {api/datadoghq/v2alpha1/test => pkg/testutils}/builder.go (99%) rename {api/datadoghq/v2alpha1/test => pkg/testutils}/new.go (98%) diff --git a/api/datadoghq/v2alpha1/const.go b/api/datadoghq/v2alpha1/const.go index d14341593..ef52fb674 100644 --- a/api/datadoghq/v2alpha1/const.go +++ b/api/datadoghq/v2alpha1/const.go @@ -8,7 +8,6 @@ package v2alpha1 // This file tracks constants related to the DatadogAgent CRD const ( - // ClusterAgentReconcileConditionType ReconcileConditionType for Cluster Agent component ClusterAgentReconcileConditionType = "ClusterAgentReconcile" // AgentReconcileConditionType ReconcileConditionType for Agent component @@ -25,59 +24,6 @@ const ( // ExtraChecksdConfigMapName is the name of the ConfigMap storing Custom Checksd data ExtraChecksdConfigMapName = "%s-extra-checksd" - // DefaultAgentHealthPort default agent health port - DefaultAgentHealthPort int32 = 5555 - - // Liveness probe default config - DefaultLivenessProbeInitialDelaySeconds int32 = 15 - DefaultLivenessProbePeriodSeconds int32 = 15 - DefaultLivenessProbeTimeoutSeconds int32 = 5 - DefaultLivenessProbeSuccessThreshold int32 = 1 - DefaultLivenessProbeFailureThreshold int32 = 6 - DefaultLivenessProbeHTTPPath = "/live" - - // Readiness probe default config - DefaultReadinessProbeInitialDelaySeconds int32 = 15 - DefaultReadinessProbePeriodSeconds int32 = 15 - DefaultReadinessProbeTimeoutSeconds int32 = 5 - DefaultReadinessProbeSuccessThreshold int32 = 1 - DefaultReadinessProbeFailureThreshold int32 = 6 - DefaultReadinessProbeHTTPPath = "/ready" - - // Startup probe default config - DefaultStartupProbeInitialDelaySeconds int32 = 15 - DefaultStartupProbePeriodSeconds int32 = 15 - DefaultStartupProbeTimeoutSeconds int32 = 5 - DefaultStartupProbeSuccessThreshold int32 = 1 - DefaultStartupProbeFailureThreshold int32 = 6 - DefaultStartupProbeHTTPPath = "/startup" - - // Agent Data plane default liveness/readiness probe configs - DefaultADPLivenessProbeInitialDelaySeconds int32 = 5 - DefaultADPLivenessProbePeriodSeconds int32 = 5 - DefaultADPLivenessProbeTimeoutSeconds int32 = 5 - DefaultADPLivenessProbeSuccessThreshold int32 = 1 - DefaultADPLivenessProbeFailureThreshold int32 = 12 - - DefaultADPReadinessProbeInitialDelaySeconds int32 = 5 - DefaultADPReadinessProbePeriodSeconds int32 = 5 - DefaultADPReadinessProbeTimeoutSeconds int32 = 5 - DefaultADPReadinessProbeSuccessThreshold int32 = 1 - DefaultADPReadinessProbeFailureThreshold int32 = 12 - - DefaultADPHealthPort = 5100 - - // DefaultApmPort default apm port - DefaultApmPort = 8126 - // DefaultApmPortName default apm port name - DefaultApmPortName = "traceport" - - // DefaultAgentResourceSuffix use as suffix for agent resource naming - DefaultAgentResourceSuffix = "agent" - // DefaultClusterAgentResourceSuffix use as suffix for cluster-agent resource naming - DefaultClusterAgentResourceSuffix = "cluster-agent" - // DefaultClusterChecksRunnerResourceSuffix use as suffix for cluster-checks-runner resource naming - DefaultClusterChecksRunnerResourceSuffix = "cluster-checks-runner" // DefaultMetricsServerResourceSuffix use as suffix for cluster-agent metrics-server resource naming DefaultMetricsServerResourceSuffix = "cluster-agent-metrics-server" // DefaultAPPKeyKey default app-key key (use in secret for instance). diff --git a/internal/controller/datadogagent/common/utils.go b/internal/controller/datadogagent/common/utils.go index b6e716408..6cb0a9e3d 100644 --- a/internal/controller/datadogagent/common/utils.go +++ b/internal/controller/datadogagent/common/utils.go @@ -12,6 +12,7 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/kubernetes" "github.com/DataDog/datadog-operator/pkg/utils" @@ -120,7 +121,7 @@ const ( func GetAgentLocalServiceSelector(dda metav1.Object) map[string]string { return map[string]string{ kubernetes.AppKubernetesPartOfLabelKey: object.NewPartOfLabelValue(dda).String(), - apicommon.AgentDeploymentComponentLabelKey: v2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, } } diff --git a/internal/controller/datadogagent/component/agent/default.go b/internal/controller/datadogagent/component/agent/default.go index 1461f4b4b..3eaa40fd4 100644 --- a/internal/controller/datadogagent/component/agent/default.go +++ b/internal/controller/datadogagent/component/agent/default.go @@ -18,6 +18,7 @@ import ( componentdca "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/clusteragent" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils" "github.com/DataDog/datadog-operator/pkg/defaulting" @@ -28,7 +29,7 @@ import ( // NewDefaultAgentDaemonset return a new default agent DaemonSet func NewDefaultAgentDaemonset(dda metav1.Object, edsOptions *ExtendedDaemonsetOptions, agentComponent feature.RequiredComponent) *appsv1.DaemonSet { - daemonset := NewDaemonset(dda, edsOptions, v2alpha1.DefaultAgentResourceSuffix, GetAgentName(dda), common.GetAgentVersion(dda), nil) + daemonset := NewDaemonset(dda, edsOptions, constants.DefaultAgentResourceSuffix, GetAgentName(dda), common.GetAgentVersion(dda), nil) podTemplate := NewDefaultAgentPodTemplateSpec(dda, agentComponent, daemonset.GetLabels()) daemonset.Spec.Template = *podTemplate return daemonset @@ -36,7 +37,7 @@ func NewDefaultAgentDaemonset(dda metav1.Object, edsOptions *ExtendedDaemonsetOp // NewDefaultAgentExtendedDaemonset return a new default agent DaemonSet func NewDefaultAgentExtendedDaemonset(dda metav1.Object, edsOptions *ExtendedDaemonsetOptions, agentComponent feature.RequiredComponent) *edsv1alpha1.ExtendedDaemonSet { - edsDaemonset := NewExtendedDaemonset(dda, edsOptions, v2alpha1.DefaultAgentResourceSuffix, GetAgentName(dda), common.GetAgentVersion(dda), nil) + edsDaemonset := NewExtendedDaemonset(dda, edsOptions, constants.DefaultAgentResourceSuffix, GetAgentName(dda), common.GetAgentVersion(dda), nil) edsDaemonset.Spec.Template = *NewDefaultAgentPodTemplateSpec(dda, agentComponent, edsDaemonset.GetLabels()) return edsDaemonset } @@ -88,16 +89,16 @@ func DefaultCapabilitiesForSystemProbe() []corev1.Capability { // GetAgentName return the Agent name based on the DatadogAgent info func GetAgentName(dda metav1.Object) string { - return fmt.Sprintf("%s-%s", dda.GetName(), v2alpha1.DefaultAgentResourceSuffix) + return fmt.Sprintf("%s-%s", dda.GetName(), constants.DefaultAgentResourceSuffix) } // GetAgentRoleName returns the name of the role for the Agent func GetAgentRoleName(dda metav1.Object) string { - return fmt.Sprintf("%s-%s", dda.GetName(), v2alpha1.DefaultAgentResourceSuffix) + return fmt.Sprintf("%s-%s", dda.GetName(), constants.DefaultAgentResourceSuffix) } func getDefaultServiceAccountName(dda metav1.Object) string { - return fmt.Sprintf("%s-%s", dda.GetName(), v2alpha1.DefaultAgentResourceSuffix) + return fmt.Sprintf("%s-%s", dda.GetName(), constants.DefaultAgentResourceSuffix) } func agentImage() string { @@ -130,9 +131,9 @@ func agentSingleContainer(dda metav1.Object) []corev1.Container { Image: agentImage(), Env: envVarsForCoreAgent(dda), VolumeMounts: volumeMountsForCoreAgent(), - LivenessProbe: v2alpha1.GetDefaultLivenessProbe(), - ReadinessProbe: v2alpha1.GetDefaultReadinessProbe(), - StartupProbe: v2alpha1.GetDefaultStartupProbe(), + LivenessProbe: constants.GetDefaultLivenessProbe(), + ReadinessProbe: constants.GetDefaultReadinessProbe(), + StartupProbe: constants.GetDefaultStartupProbe(), } containers := []corev1.Container{ @@ -174,9 +175,9 @@ func coreAgentContainer(dda metav1.Object) corev1.Container { Command: []string{"agent", "run"}, Env: envVarsForCoreAgent(dda), VolumeMounts: volumeMountsForCoreAgent(), - LivenessProbe: v2alpha1.GetDefaultLivenessProbe(), - ReadinessProbe: v2alpha1.GetDefaultReadinessProbe(), - StartupProbe: v2alpha1.GetDefaultStartupProbe(), + LivenessProbe: constants.GetDefaultLivenessProbe(), + ReadinessProbe: constants.GetDefaultReadinessProbe(), + StartupProbe: constants.GetDefaultStartupProbe(), } } @@ -190,7 +191,7 @@ func traceAgentContainer(dda metav1.Object) corev1.Container { }, Env: envVarsForTraceAgent(dda), VolumeMounts: volumeMountsForTraceAgent(), - LivenessProbe: v2alpha1.GetDefaultTraceAgentProbe(), + LivenessProbe: constants.GetDefaultTraceAgentProbe(), } } @@ -282,8 +283,8 @@ func agentDataPlaneContainer(dda metav1.Object) corev1.Container { }, Env: commonEnvVars(dda), VolumeMounts: volumeMountsForAgentDataPlane(), - LivenessProbe: v2alpha1.GetDefaultAgentDataPlaneLivenessProbe(), - ReadinessProbe: v2alpha1.GetDefaultAgentDataPlaneReadinessProbe(), + LivenessProbe: constants.GetDefaultAgentDataPlaneLivenessProbe(), + ReadinessProbe: constants.GetDefaultAgentDataPlaneReadinessProbe(), } } @@ -361,7 +362,7 @@ func envVarsForCoreAgent(dda metav1.Object) []corev1.EnvVar { envs := []corev1.EnvVar{ { Name: v2alpha1.DDHealthPort, - Value: strconv.Itoa(int(v2alpha1.DefaultAgentHealthPort)), + Value: strconv.Itoa(int(constants.DefaultAgentHealthPort)), }, { Name: v2alpha1.DDLeaderElection, diff --git a/internal/controller/datadogagent/component/clusteragent/default.go b/internal/controller/datadogagent/component/clusteragent/default.go index 4742536a9..3bf1a8347 100644 --- a/internal/controller/datadogagent/component/clusteragent/default.go +++ b/internal/controller/datadogagent/component/clusteragent/default.go @@ -19,23 +19,24 @@ import ( apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/common" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils" "github.com/DataDog/datadog-operator/pkg/defaulting" ) // GetClusterAgentServiceName return the Cluster-Agent service name based on the DatadogAgent name func GetClusterAgentServiceName(dda metav1.Object) string { - return fmt.Sprintf("%s-%s", dda.GetName(), v2alpha1.DefaultClusterAgentResourceSuffix) + return fmt.Sprintf("%s-%s", dda.GetName(), constants.DefaultClusterAgentResourceSuffix) } // GetClusterAgentPodDisruptionBudgetName return the Cluster-Agent PodDisruptionBudget name based on the DatadogAgent name func GetClusterAgentPodDisruptionBudgetName(dda metav1.Object) string { - return fmt.Sprintf("%s-%s-pdb", dda.GetName(), v2alpha1.DefaultClusterAgentResourceSuffix) + return fmt.Sprintf("%s-%s-pdb", dda.GetName(), constants.DefaultClusterAgentResourceSuffix) } // GetClusterAgentName return the Cluster-Agent name based on the DatadogAgent name func GetClusterAgentName(dda metav1.Object) string { - return fmt.Sprintf("%s-%s", dda.GetName(), v2alpha1.DefaultClusterAgentResourceSuffix) + return fmt.Sprintf("%s-%s", dda.GetName(), constants.DefaultClusterAgentResourceSuffix) } // GetClusterAgentVersion return the Cluster-Agent version based on the DatadogAgent info @@ -46,17 +47,17 @@ func GetClusterAgentVersion(dda metav1.Object) string { // GetClusterAgentRbacResourcesName return the Cluster-Agent RBAC resource name func GetClusterAgentRbacResourcesName(dda metav1.Object) string { - return fmt.Sprintf("%s-%s", dda.GetName(), v2alpha1.DefaultClusterAgentResourceSuffix) + return fmt.Sprintf("%s-%s", dda.GetName(), constants.DefaultClusterAgentResourceSuffix) } // getDefaultServiceAccountName return the default Cluster-Agent ServiceAccountName func getDefaultServiceAccountName(dda metav1.Object) string { - return fmt.Sprintf("%s-%s", dda.GetName(), v2alpha1.DefaultClusterAgentResourceSuffix) + return fmt.Sprintf("%s-%s", dda.GetName(), constants.DefaultClusterAgentResourceSuffix) } // NewDefaultClusterAgentDeployment return a new default cluster-agent deployment func NewDefaultClusterAgentDeployment(dda metav1.Object) *appsv1.Deployment { - deployment := common.NewDeployment(dda, v2alpha1.DefaultClusterAgentResourceSuffix, GetClusterAgentName(dda), GetClusterAgentVersion(dda), nil) + deployment := common.NewDeployment(dda, constants.DefaultClusterAgentResourceSuffix, GetClusterAgentName(dda), GetClusterAgentVersion(dda), nil) podTemplate := NewDefaultClusterAgentPodTemplateSpec(dda) for key, val := range deployment.GetLabels() { podTemplate.Labels[key] = val @@ -126,9 +127,9 @@ func defaultPodSpec(dda metav1.Object, volumes []corev1.Volume, volumeMounts []c }, Env: envVars, VolumeMounts: volumeMounts, - LivenessProbe: v2alpha1.GetDefaultLivenessProbe(), - ReadinessProbe: v2alpha1.GetDefaultReadinessProbe(), - StartupProbe: v2alpha1.GetDefaultStartupProbe(), + LivenessProbe: constants.GetDefaultLivenessProbe(), + ReadinessProbe: constants.GetDefaultReadinessProbe(), + StartupProbe: constants.GetDefaultStartupProbe(), Command: nil, Args: nil, SecurityContext: &corev1.SecurityContext{ @@ -172,7 +173,7 @@ func defaultEnvVars(dda metav1.Object) []corev1.EnvVar { }, { Name: v2alpha1.DDHealthPort, - Value: strconv.Itoa(int(v2alpha1.DefaultAgentHealthPort)), + Value: strconv.Itoa(int(constants.DefaultAgentHealthPort)), }, { Name: v2alpha1.DDAPMInstrumentationInstallId, @@ -207,7 +208,7 @@ func DefaultAffinity() *corev1.Affinity { PodAffinityTerm: corev1.PodAffinityTerm{ LabelSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: v2alpha1.DefaultClusterAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterAgentResourceSuffix, }, }, TopologyKey: "kubernetes.io/hostname", diff --git a/internal/controller/datadogagent/component/clusteragent/default_test.go b/internal/controller/datadogagent/component/clusteragent/default_test.go index cffbda848..d208c71c7 100644 --- a/internal/controller/datadogagent/component/clusteragent/default_test.go +++ b/internal/controller/datadogagent/component/clusteragent/default_test.go @@ -9,6 +9,7 @@ import ( datadoghqv2alpha1 "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/common" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/defaulting" "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/stretchr/testify/assert" @@ -222,7 +223,7 @@ func clusterAgentDefaultEnvVars(dda *datadoghqv2alpha1.DatadogAgent) []corev1.En }, { Name: "DD_CLUSTER_AGENT_KUBERNETES_SERVICE_NAME", - Value: fmt.Sprintf("%s-%s", testDdaName, datadoghqv2alpha1.DefaultClusterAgentResourceSuffix), + Value: fmt.Sprintf("%s-%s", testDdaName, constants.DefaultClusterAgentResourceSuffix), }, { Name: "DD_LEADER_ELECTION", diff --git a/internal/controller/datadogagent/component/clusteragent/utils.go b/internal/controller/datadogagent/component/clusteragent/utils.go index 1f3db4d3b..eefeb2a24 100644 --- a/internal/controller/datadogagent/component/clusteragent/utils.go +++ b/internal/controller/datadogagent/component/clusteragent/utils.go @@ -15,6 +15,7 @@ import ( "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" "sigs.k8s.io/controller-runtime/pkg/client" + "github.com/DataDog/datadog-operator/pkg/constants" corev1 "k8s.io/api/core/v1" policyv1 "k8s.io/api/policy/v1" policyv1beta1 "k8s.io/api/policy/v1beta1" @@ -29,7 +30,7 @@ const ( // GetClusterAgentService returns the Cluster-Agent service func GetClusterAgentService(dda metav1.Object) *corev1.Service { - labels := object.GetDefaultLabels(dda, v2alpha1.DefaultClusterAgentResourceSuffix, GetClusterAgentVersion(dda)) + labels := object.GetDefaultLabels(dda, constants.DefaultClusterAgentResourceSuffix, GetClusterAgentVersion(dda)) annotations := object.GetDefaultAnnotations(dda) service := &corev1.Service{ @@ -43,7 +44,7 @@ func GetClusterAgentService(dda metav1.Object) *corev1.Service { Type: corev1.ServiceTypeClusterIP, Selector: map[string]string{ apicommon.AgentDeploymentNameLabelKey: dda.GetName(), - apicommon.AgentDeploymentComponentLabelKey: v2alpha1.DefaultClusterAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterAgentResourceSuffix, }, Ports: []corev1.ServicePort{ { @@ -65,7 +66,7 @@ func GetClusterAgentPodDisruptionBudget(dda metav1.Object, useV1BetaPDB bool) cl minAvailableStr := intstr.FromInt(pdbMinAvailableInstances) matchLabels := map[string]string{ apicommon.AgentDeploymentNameLabelKey: dda.GetName(), - apicommon.AgentDeploymentComponentLabelKey: v2alpha1.DefaultClusterAgentResourceSuffix} + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterAgentResourceSuffix} if useV1BetaPDB { return &policyv1beta1.PodDisruptionBudget{ ObjectMeta: metav1.ObjectMeta{ diff --git a/internal/controller/datadogagent/component/clusterchecksrunner/default.go b/internal/controller/datadogagent/component/clusterchecksrunner/default.go index 13a85b1e2..58287c260 100644 --- a/internal/controller/datadogagent/component/clusterchecksrunner/default.go +++ b/internal/controller/datadogagent/component/clusterchecksrunner/default.go @@ -22,6 +22,7 @@ import ( apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/common" componentdca "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/clusteragent" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/defaulting" ) @@ -31,12 +32,12 @@ const ( // GetClusterChecksRunnerName return the Cluster-Checks-Runner name based on the DatadogAgent name func GetClusterChecksRunnerName(dda metav1.Object) string { - return fmt.Sprintf("%s-%s", dda.GetName(), v2alpha1.DefaultClusterChecksRunnerResourceSuffix) + return fmt.Sprintf("%s-%s", dda.GetName(), constants.DefaultClusterChecksRunnerResourceSuffix) } // NewDefaultClusterChecksRunnerDeployment return a new default cluster-checks-runner deployment func NewDefaultClusterChecksRunnerDeployment(dda metav1.Object) *appsv1.Deployment { - deployment := common.NewDeployment(dda, v2alpha1.DefaultClusterChecksRunnerResourceSuffix, GetClusterChecksRunnerName(dda), common.GetAgentVersion(dda), nil) + deployment := common.NewDeployment(dda, constants.DefaultClusterChecksRunnerResourceSuffix, GetClusterChecksRunnerName(dda), common.GetAgentVersion(dda), nil) podTemplate := NewDefaultClusterChecksRunnerPodTemplateSpec(dda) for key, val := range deployment.GetLabels() { @@ -91,14 +92,14 @@ func NewDefaultClusterChecksRunnerPodTemplateSpec(dda metav1.Object) *corev1.Pod } func GetClusterChecksRunnerPodDisruptionBudgetName(dda metav1.Object) string { - return fmt.Sprintf("%s-%s-pdb", dda.GetName(), v2alpha1.DefaultClusterChecksRunnerResourceSuffix) + return fmt.Sprintf("%s-%s-pdb", dda.GetName(), constants.DefaultClusterChecksRunnerResourceSuffix) } func GetClusterChecksRunnerPodDisruptionBudget(dda metav1.Object, useV1BetaPDB bool) client.Object { maxUnavailableStr := intstr.FromInt(pdbMaxUnavailableInstances) matchLabels := map[string]string{ apicommon.AgentDeploymentNameLabelKey: dda.GetName(), - apicommon.AgentDeploymentComponentLabelKey: v2alpha1.DefaultClusterChecksRunnerResourceSuffix} + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterChecksRunnerResourceSuffix} if useV1BetaPDB { return &policyv1beta1.PodDisruptionBudget{ ObjectMeta: metav1.ObjectMeta{ @@ -129,7 +130,7 @@ func GetClusterChecksRunnerPodDisruptionBudget(dda metav1.Object, useV1BetaPDB b // getDefaultServiceAccountName return the default Cluster-Agent ServiceAccountName func getDefaultServiceAccountName(dda metav1.Object) string { - return fmt.Sprintf("%s-%s", dda.GetName(), v2alpha1.DefaultClusterChecksRunnerResourceSuffix) + return fmt.Sprintf("%s-%s", dda.GetName(), constants.DefaultClusterChecksRunnerResourceSuffix) } func clusterChecksRunnerImage() string { @@ -160,9 +161,9 @@ func defaultPodSpec(dda metav1.Object, volumes []corev1.Volume, volumeMounts []c Args: []string{ "agent run", }, - LivenessProbe: v2alpha1.GetDefaultLivenessProbe(), - ReadinessProbe: v2alpha1.GetDefaultReadinessProbe(), - StartupProbe: v2alpha1.GetDefaultStartupProbe(), + LivenessProbe: constants.GetDefaultLivenessProbe(), + ReadinessProbe: constants.GetDefaultReadinessProbe(), + StartupProbe: constants.GetDefaultStartupProbe(), SecurityContext: &corev1.SecurityContext{ ReadOnlyRootFilesystem: apiutils.NewBoolPointer(true), AllowPrivilegeEscalation: apiutils.NewBoolPointer(false), @@ -191,7 +192,7 @@ func defaultEnvVars(dda metav1.Object) []corev1.EnvVar { }, { Name: v2alpha1.DDHealthPort, - Value: strconv.Itoa(int(v2alpha1.DefaultAgentHealthPort)), + Value: strconv.Itoa(int(constants.DefaultAgentHealthPort)), }, { Name: v2alpha1.KubernetesEnvVar, @@ -266,7 +267,7 @@ func DefaultAffinity() *corev1.Affinity { PodAffinityTerm: corev1.PodAffinityTerm{ LabelSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: v2alpha1.DefaultClusterChecksRunnerResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterChecksRunnerResourceSuffix, }, }, TopologyKey: "kubernetes.io/hostname", diff --git a/internal/controller/datadogagent/controller_reconcile_agent.go b/internal/controller/datadogagent/controller_reconcile_agent.go index ca0114b77..54fcdb42d 100644 --- a/internal/controller/datadogagent/controller_reconcile_agent.go +++ b/internal/controller/datadogagent/controller_reconcile_agent.go @@ -17,6 +17,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/override" "github.com/DataDog/datadog-operator/pkg/agentprofile" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils/datadog" "github.com/DataDog/datadog-operator/pkg/kubernetes" edsv1alpha1 "github.com/DataDog/extendeddaemonset/api/v1alpha1" @@ -347,7 +348,7 @@ func (r *Reconciler) cleanupPodsForProfilesThatNoLongerApply(ctx context.Context ctx, agentPods, client.MatchingLabels(map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, }), client.InNamespace(ddaNamespace), ) @@ -394,7 +395,7 @@ func (r *Reconciler) cleanupPodsForProfilesThatNoLongerApply(ctx context.Context func (r *Reconciler) cleanupExtraneousDaemonSets(ctx context.Context, logger logr.Logger, dda *datadoghqv2alpha1.DatadogAgent, newStatus *datadoghqv2alpha1.DatadogAgentStatus, providerList map[string]struct{}, profiles []v1alpha1.DatadogAgentProfile) error { matchLabels := client.MatchingLabels{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", } diff --git a/internal/controller/datadogagent/controller_reconcile_agent_test.go b/internal/controller/datadogagent/controller_reconcile_agent_test.go index edf517bca..4cc45bdd4 100644 --- a/internal/controller/datadogagent/controller_reconcile_agent_test.go +++ b/internal/controller/datadogagent/controller_reconcile_agent_test.go @@ -10,6 +10,7 @@ import ( apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/agent" "github.com/DataDog/datadog-operator/pkg/agentprofile" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/kubernetes" edsdatadoghqv1alpha1 "github.com/DataDog/extendeddaemonset/api/v1alpha1" @@ -268,7 +269,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { ObjectMeta: metav1.ObjectMeta{ Name: "dda-foo-agent", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -286,7 +287,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "dda-foo-agent", ResourceVersion: "999", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -303,7 +304,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { ObjectMeta: metav1.ObjectMeta{ Name: "dda-foo-agent", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -322,7 +323,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "dda-foo-agent", ResourceVersion: "999", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -340,7 +341,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -368,7 +369,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, ResourceVersion: "999", @@ -388,7 +389,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -417,7 +418,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, ResourceVersion: "999", @@ -435,7 +436,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }}, }, @@ -444,7 +445,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent-with-profile-ns-1-profile-1", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -455,7 +456,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -483,7 +484,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, ResourceVersion: "999", @@ -502,7 +503,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -512,7 +513,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent-with-profile-ns-1-profile-1", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -523,7 +524,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -534,7 +535,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -545,7 +546,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -573,7 +574,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, ResourceVersion: "999", @@ -589,7 +590,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, ResourceVersion: "999", @@ -607,7 +608,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }}, }, @@ -617,7 +618,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }}, }, @@ -626,7 +627,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent-with-profile-ns-1-profile-1", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -637,7 +638,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -665,7 +666,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, ResourceVersion: "999", @@ -684,7 +685,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -694,7 +695,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent-with-profile-ns-1-profile-1", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -705,7 +706,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -716,7 +717,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -727,7 +728,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -758,7 +759,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, ResourceVersion: "999", @@ -776,7 +777,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "dda-foo-agent", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }}, }, @@ -785,7 +786,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent-with-profile-ns-1-profile-1", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -796,7 +797,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -829,7 +830,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent-with-profile-ns-1-profile-1", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, ResourceVersion: "999", @@ -840,7 +841,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "dda-foo-agent", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, ResourceVersion: "999", @@ -859,7 +860,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "dda-foo-agent", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -869,7 +870,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent-with-profile-ns-1-profile-1", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -880,7 +881,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -891,7 +892,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -902,7 +903,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -912,7 +913,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent-with-profile-ns-1-profile-1", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -945,7 +946,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent-with-profile-ns-1-profile-1", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, ResourceVersion: "999", @@ -960,7 +961,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "dda-foo-agent", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, ResourceVersion: "999", @@ -1088,7 +1089,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, }, }, }, @@ -1107,7 +1108,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent-with-profile-ns-1-profile-1", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, }, }, }, @@ -1139,7 +1140,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Name: "datadog-agent-with-profile-ns-1-profile-1", Namespace: "ns-1", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, }, ResourceVersion: "999", }, @@ -1193,7 +1194,7 @@ func Test_cleanupExtraneousDaemonSets(t *testing.T) { Namespace: "ns-1", Labels: map[string]string{ datadoghqv2alpha1.MD5AgentDeploymentProviderLabelKey: gkeCosProvider, - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, }, ResourceVersion: "999", }, diff --git a/internal/controller/datadogagent/controller_reconcile_ccr.go b/internal/controller/datadogagent/controller_reconcile_ccr.go index dff82d3e7..59742be38 100644 --- a/internal/controller/datadogagent/controller_reconcile_ccr.go +++ b/internal/controller/datadogagent/controller_reconcile_ccr.go @@ -15,6 +15,7 @@ import ( componentccr "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/clusterchecksrunner" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/override" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils/datadog" "github.com/DataDog/datadog-operator/pkg/kubernetes" @@ -125,7 +126,7 @@ func deleteStatusWithClusterChecksRunner(newStatus *datadoghqv2alpha1.DatadogAge // cleanupOldCCRDeployments deletes CCR deployments when a CCR Deployment's name is changed using clusterChecksRunner name override func (r *Reconciler) cleanupOldCCRDeployments(ctx context.Context, logger logr.Logger, dda *datadoghqv2alpha1.DatadogAgent, newStatus *datadoghqv2alpha1.DatadogAgentStatus) error { matchLabels := client.MatchingLabels{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterChecksRunnerResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterChecksRunnerResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", } deploymentName := getDeploymentNameFromCCR(dda) diff --git a/internal/controller/datadogagent/controller_reconcile_ccr_test.go b/internal/controller/datadogagent/controller_reconcile_ccr_test.go index 7151931c3..a9345798e 100644 --- a/internal/controller/datadogagent/controller_reconcile_ccr_test.go +++ b/internal/controller/datadogagent/controller_reconcile_ccr_test.go @@ -7,6 +7,7 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" datadoghqv2alpha1 "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" apiutils "github.com/DataDog/datadog-operator/api/utils" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/kubernetes" "github.com/stretchr/testify/assert" appsv1 "k8s.io/api/apps/v1" @@ -97,7 +98,7 @@ func Test_cleanupOldCCRDeployments(t *testing.T) { ObjectMeta: metav1.ObjectMeta{ Name: "dda-foo-cluster-checks-runner", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterChecksRunnerResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterChecksRunnerResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -110,7 +111,7 @@ func Test_cleanupOldCCRDeployments(t *testing.T) { Name: "dda-foo-cluster-checks-runner", ResourceVersion: "999", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterChecksRunnerResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterChecksRunnerResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -126,7 +127,7 @@ func Test_cleanupOldCCRDeployments(t *testing.T) { ObjectMeta: metav1.ObjectMeta{ Name: "dda-foo-cluster-checks-runner", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterChecksRunnerResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterChecksRunnerResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -135,7 +136,7 @@ func Test_cleanupOldCCRDeployments(t *testing.T) { ObjectMeta: metav1.ObjectMeta{ Name: "foo-ccr", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterChecksRunnerResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterChecksRunnerResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -144,7 +145,7 @@ func Test_cleanupOldCCRDeployments(t *testing.T) { ObjectMeta: metav1.ObjectMeta{ Name: "bar-ccr", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterChecksRunnerResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterChecksRunnerResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -157,7 +158,7 @@ func Test_cleanupOldCCRDeployments(t *testing.T) { Name: "dda-foo-cluster-checks-runner", ResourceVersion: "999", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterChecksRunnerResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterChecksRunnerResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, diff --git a/internal/controller/datadogagent/controller_reconcile_dca.go b/internal/controller/datadogagent/controller_reconcile_dca.go index 48528c8c9..3b78145da 100644 --- a/internal/controller/datadogagent/controller_reconcile_dca.go +++ b/internal/controller/datadogagent/controller_reconcile_dca.go @@ -15,6 +15,7 @@ import ( componentdca "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/clusteragent" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/override" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils/datadog" "github.com/DataDog/datadog-operator/pkg/kubernetes" @@ -138,7 +139,7 @@ func (r *Reconciler) cleanupV2ClusterAgent(logger logr.Logger, dda *datadoghqv2a // cleanupOldDCADeployments deletes DCA deployments when a DCA Deployment's name is changed using clusterAgent name override func (r *Reconciler) cleanupOldDCADeployments(ctx context.Context, logger logr.Logger, dda *datadoghqv2alpha1.DatadogAgent, resourcesManager feature.ResourceManagers, newStatus *datadoghqv2alpha1.DatadogAgentStatus) error { matchLabels := client.MatchingLabels{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", } deploymentName := getDeploymentNameFromDCA(dda) diff --git a/internal/controller/datadogagent/controller_reconcile_dca_test.go b/internal/controller/datadogagent/controller_reconcile_dca_test.go index 0c43a730b..718115ec8 100644 --- a/internal/controller/datadogagent/controller_reconcile_dca_test.go +++ b/internal/controller/datadogagent/controller_reconcile_dca_test.go @@ -7,8 +7,10 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" datadoghqv2alpha1 "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" apiutils "github.com/DataDog/datadog-operator/api/utils" + "github.com/DataDog/datadog-operator/internal/controller/datadogagent/defaults" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/store" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/kubernetes" "github.com/stretchr/testify/assert" appsv1 "k8s.io/api/apps/v1" @@ -99,7 +101,7 @@ func Test_cleanupOldDCADeployments(t *testing.T) { ObjectMeta: metav1.ObjectMeta{ Name: "dda-foo-cluster-agent", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -112,7 +114,7 @@ func Test_cleanupOldDCADeployments(t *testing.T) { Name: "dda-foo-cluster-agent", ResourceVersion: "999", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -128,7 +130,7 @@ func Test_cleanupOldDCADeployments(t *testing.T) { ObjectMeta: metav1.ObjectMeta{ Name: "dda-foo-cluster-agent", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -137,7 +139,7 @@ func Test_cleanupOldDCADeployments(t *testing.T) { ObjectMeta: metav1.ObjectMeta{ Name: "foo-dca", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -146,7 +148,7 @@ func Test_cleanupOldDCADeployments(t *testing.T) { ObjectMeta: metav1.ObjectMeta{ Name: "bar-dca", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -159,7 +161,7 @@ func Test_cleanupOldDCADeployments(t *testing.T) { Name: "dda-foo-cluster-agent", ResourceVersion: "999", Labels: map[string]string{ - apicommon.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultClusterAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterAgentResourceSuffix, kubernetes.AppKubernetesManageByLabelKey: "datadog-operator", }, }, @@ -248,7 +250,7 @@ func Test_cleanupOldDCADeployments(t *testing.T) { Scheme: r.scheme, } instance := &datadoghqv2alpha1.DatadogAgent{} - datadoghqv2alpha1.DefaultDatadogAgent(instance.DeepCopy()) + defaults.DefaultDatadogAgent(instance.DeepCopy()) depsStore := store.NewStore(instance, storeOptions) resourcesManager := feature.NewResourceManagers(depsStore) diff --git a/internal/controller/datadogagent/controller_reconcile_v2.go b/internal/controller/datadogagent/controller_reconcile_v2.go index ee893fb15..de2c05f3a 100644 --- a/internal/controller/datadogagent/controller_reconcile_v2.go +++ b/internal/controller/datadogagent/controller_reconcile_v2.go @@ -12,6 +12,7 @@ import ( datadoghqv1alpha1 "github.com/DataDog/datadog-operator/api/datadoghq/v1alpha1" datadoghqv2alpha1 "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" + "github.com/DataDog/datadog-operator/internal/controller/datadogagent/defaults" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/override" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/store" @@ -87,7 +88,7 @@ func (r *Reconciler) internalReconcileV2(ctx context.Context, request reconcile. // Set default values for GlobalConfig and Features instanceCopy := instance.DeepCopy() - datadoghqv2alpha1.DefaultDatadogAgent(instanceCopy) + defaults.DefaultDatadogAgent(instanceCopy) return r.reconcileInstanceV2(ctx, reqLogger, instanceCopy) } diff --git a/internal/controller/datadogagent/controller_v2_test.go b/internal/controller/datadogagent/controller_v2_test.go index 42706c93d..ad22ec921 100644 --- a/internal/controller/datadogagent/controller_v2_test.go +++ b/internal/controller/datadogagent/controller_v2_test.go @@ -15,11 +15,11 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" componentagent "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/agent" - testutils "github.com/DataDog/datadog-operator/internal/controller/datadogagent/testutils" + agenttestutils "github.com/DataDog/datadog-operator/internal/controller/datadogagent/testutils" "github.com/DataDog/datadog-operator/pkg/kubernetes" + "github.com/DataDog/datadog-operator/pkg/testutils" assert "github.com/stretchr/testify/require" appsv1 "k8s.io/api/apps/v1" @@ -61,7 +61,7 @@ func TestReconcileDatadogAgentV2_Reconcile(t *testing.T) { logf.SetLogger(zap.New(zap.UseDevMode(true))) // Register operator types with the runtime scheme. - s := testutils.TestScheme() + s := agenttestutils.TestScheme() defaultRequeueDuration := 15 * time.Second @@ -83,7 +83,7 @@ func TestReconcileDatadogAgentV2_Reconcile(t *testing.T) { args: args{ request: newRequest(resourcesNamespace, resourcesName), loadFunc: func(c client.Client) { - dda := v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + dda := testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). Build() _ = c.Create(context.TODO(), dda) }, @@ -110,7 +110,7 @@ func TestReconcileDatadogAgentV2_Reconcile(t *testing.T) { args: args{ request: newRequest(resourcesNamespace, resourcesName), loadFunc: func(c client.Client) { - dda := v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + dda := testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithSingleContainerStrategy(false). Build() _ = c.Create(context.TODO(), dda) @@ -138,7 +138,7 @@ func TestReconcileDatadogAgentV2_Reconcile(t *testing.T) { args: args{ request: newRequest(resourcesNamespace, resourcesName), loadFunc: func(c client.Client) { - dda := v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + dda := testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithSingleContainerStrategy(true). Build() _ = c.Create(context.TODO(), dda) @@ -164,7 +164,7 @@ func TestReconcileDatadogAgentV2_Reconcile(t *testing.T) { args: args{ request: newRequest(resourcesNamespace, resourcesName), loadFunc: func(c client.Client) { - dda := v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + dda := testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithAPMEnabled(true). WithSingleContainerStrategy(false). Build() @@ -193,7 +193,7 @@ func TestReconcileDatadogAgentV2_Reconcile(t *testing.T) { args: args{ request: newRequest(resourcesNamespace, resourcesName), loadFunc: func(c client.Client) { - dda := v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + dda := testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithAPMEnabled(true). WithSingleContainerStrategy(true). Build() @@ -220,7 +220,7 @@ func TestReconcileDatadogAgentV2_Reconcile(t *testing.T) { args: args{ request: newRequest(resourcesNamespace, resourcesName), loadFunc: func(c client.Client) { - dda := v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + dda := testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithAPMEnabled(true). WithCWSEnabled(true). WithSingleContainerStrategy(false). @@ -252,7 +252,7 @@ func TestReconcileDatadogAgentV2_Reconcile(t *testing.T) { args: args{ request: newRequest(resourcesNamespace, resourcesName), loadFunc: func(c client.Client) { - dda := v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + dda := testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithAPMEnabled(true). WithCWSEnabled(true). WithSingleContainerStrategy(true). @@ -285,7 +285,7 @@ func TestReconcileDatadogAgentV2_Reconcile(t *testing.T) { args: args{ request: newRequest(resourcesNamespace, resourcesName), loadFunc: func(c client.Client) { - dda := v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + dda := testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithAPMEnabled(true). WithOOMKillEnabled(true). WithSingleContainerStrategy(false). @@ -316,7 +316,7 @@ func TestReconcileDatadogAgentV2_Reconcile(t *testing.T) { args: args{ request: newRequest(resourcesNamespace, resourcesName), loadFunc: func(c client.Client) { - dda := v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + dda := testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithAPMEnabled(true). WithOOMKillEnabled(true). WithSingleContainerStrategy(true). @@ -350,7 +350,7 @@ func TestReconcileDatadogAgentV2_Reconcile(t *testing.T) { fipsConfig := v2alpha1.FIPSConfig{ Enabled: apiutils.NewBoolPointer(true), } - dda := v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + dda := testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithFIPS(fipsConfig). Build() _ = c.Create(context.TODO(), dda) @@ -379,7 +379,7 @@ func TestReconcileDatadogAgentV2_Reconcile(t *testing.T) { args: args{ request: newRequest(resourcesNamespace, resourcesName), loadFunc: func(c client.Client) { - dda := v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + dda := testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithComponentOverride(v2alpha1.ClusterAgentComponentName, v2alpha1.DatadogAgentComponentOverride{ CreatePodDisruptionBudget: apiutils.NewBoolPointer(true), }). @@ -448,7 +448,7 @@ func Test_Introspection(t *testing.T) { logf.SetLogger(zap.New(zap.UseDevMode(true))) // Register operator types with the runtime scheme. - s := testutils.TestScheme() + s := agenttestutils.TestScheme() defaultRequeueDuration := 15 * time.Second @@ -470,7 +470,7 @@ func Test_Introspection(t *testing.T) { args: args{ request: newRequest(resourcesNamespace, resourcesName), loadFunc: func(c client.Client) { - dda := v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + dda := testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithComponentOverride(v2alpha1.NodeAgentComponentName, v2alpha1.DatadogAgentComponentOverride{ Affinity: &corev1.Affinity{ PodAntiAffinity: &corev1.PodAntiAffinity{ diff --git a/api/datadoghq/v2alpha1/datadogagent_default.go b/internal/controller/datadogagent/defaults/datadogagent_default.go similarity index 81% rename from api/datadoghq/v2alpha1/datadogagent_default.go rename to internal/controller/datadogagent/defaults/datadogagent_default.go index 97d54f895..1ebe56970 100644 --- a/api/datadoghq/v2alpha1/datadogagent_default.go +++ b/internal/controller/datadogagent/defaults/datadogagent_default.go @@ -3,9 +3,10 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016-present Datadog, Inc. -package v2alpha1 +package defaults import ( + "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/pkg/defaulting" ) @@ -42,7 +43,7 @@ const ( defaultAPMHostPortEnabled bool = false defaultAPMHostPort int32 = 8126 defaultAPMSocketEnabled bool = true - defaultAPMSocketHostPath string = DogstatsdAPMSocketHostPath + "/" + APMSocketName + defaultAPMSocketHostPath string = v2alpha1.DogstatsdAPMSocketHostPath + "/" + v2alpha1.APMSocketName defaultAPMSingleStepInstrEnabled bool = false defaultLanguageDetectionEnabled bool = true defaultCSPMEnabled bool = false @@ -61,7 +62,7 @@ const ( defaultDogstatsdOriginDetectionEnabled bool = false defaultDogstatsdHostPortEnabled bool = false defaultDogstatsdSocketEnabled bool = true - defaultDogstatsdHostSocketPath string = DogstatsdAPMSocketHostPath + "/" + DogstatsdSocketName + defaultDogstatsdHostSocketPath string = v2alpha1.DogstatsdAPMSocketHostPath + "/" + v2alpha1.DogstatsdSocketName defaultOTLPGRPCEnabled bool = false defaultOTLPGRPCHostPortEnabled bool = true @@ -113,7 +114,7 @@ const ( // defaultKubeletAgentCAPath = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" // defaultKubeletAgentCAPathHostPathSet = "/var/run/host-kubelet-ca.crt" - defaultContainerStrategy = OptimizedContainerStrategy + defaultContainerStrategy = v2alpha1.OptimizedContainerStrategy defaultHelmCheckEnabled bool = false defaultHelmCheckCollectEvents bool = false @@ -128,16 +129,16 @@ const ( ) // DefaultDatadogAgent defaults the DatadogAgentSpec GlobalConfig and Features. -func DefaultDatadogAgent(dda *DatadogAgent) { +func DefaultDatadogAgent(dda *v2alpha1.DatadogAgent) { defaultGlobalConfig(&dda.Spec) defaultFeaturesConfig(&dda.Spec) } // defaultGlobalConfig sets default values in DatadogAgentSpec.Global. -func defaultGlobalConfig(ddaSpec *DatadogAgentSpec) { +func defaultGlobalConfig(ddaSpec *v2alpha1.DatadogAgentSpec) { if ddaSpec.Global == nil { - ddaSpec.Global = &GlobalConfig{} + ddaSpec.Global = &v2alpha1.GlobalConfig{} } if ddaSpec.Global.Site == nil { @@ -147,15 +148,15 @@ func defaultGlobalConfig(ddaSpec *DatadogAgentSpec) { if ddaSpec.Global.Registry == nil { switch *ddaSpec.Global.Site { case defaultEuropeSite: - ddaSpec.Global.Registry = apiutils.NewStringPointer(DefaultEuropeImageRegistry) + ddaSpec.Global.Registry = apiutils.NewStringPointer(v2alpha1.DefaultEuropeImageRegistry) case defaultAsiaSite: - ddaSpec.Global.Registry = apiutils.NewStringPointer(DefaultAsiaImageRegistry) + ddaSpec.Global.Registry = apiutils.NewStringPointer(v2alpha1.DefaultAsiaImageRegistry) case defaultAzureSite: - ddaSpec.Global.Registry = apiutils.NewStringPointer(DefaultAzureImageRegistry) + ddaSpec.Global.Registry = apiutils.NewStringPointer(v2alpha1.DefaultAzureImageRegistry) case defaultGovSite: - ddaSpec.Global.Registry = apiutils.NewStringPointer(DefaultGovImageRegistry) + ddaSpec.Global.Registry = apiutils.NewStringPointer(v2alpha1.DefaultGovImageRegistry) default: - ddaSpec.Global.Registry = apiutils.NewStringPointer(DefaultImageRegistry) + ddaSpec.Global.Registry = apiutils.NewStringPointer(v2alpha1.DefaultImageRegistry) } } @@ -169,13 +170,13 @@ func defaultGlobalConfig(ddaSpec *DatadogAgentSpec) { } if ddaSpec.Global.FIPS == nil { - ddaSpec.Global.FIPS = &FIPSConfig{} + ddaSpec.Global.FIPS = &v2alpha1.FIPSConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Global.FIPS.Enabled, defaultFIPSEnabled) if *ddaSpec.Global.FIPS.Enabled { if ddaSpec.Global.FIPS.Image == nil { - ddaSpec.Global.FIPS.Image = &AgentImageConfig{} + ddaSpec.Global.FIPS.Image = &v2alpha1.AgentImageConfig{} } if ddaSpec.Global.FIPS.Image.Name == "" { ddaSpec.Global.FIPS.Image.Name = defaultFIPSImageName @@ -194,14 +195,14 @@ func defaultGlobalConfig(ddaSpec *DatadogAgentSpec) { // defaultFeaturesConfig sets default values in DatadogAgentSpec.Features. // Note: many default values are set in the Datadog Agent code and are not set here. -func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { +func defaultFeaturesConfig(ddaSpec *v2alpha1.DatadogAgentSpec) { if ddaSpec.Features == nil { - ddaSpec.Features = &DatadogFeatures{} + ddaSpec.Features = &v2alpha1.DatadogFeatures{} } // LogsCollection Feature if ddaSpec.Features.LogCollection == nil { - ddaSpec.Features.LogCollection = &LogCollectionFeatureConfig{} + ddaSpec.Features.LogCollection = &v2alpha1.LogCollectionFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.LogCollection.Enabled, defaultLogCollectionEnabled) @@ -214,67 +215,67 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { apiutils.DefaultStringIfUnset(&ddaSpec.Features.LogCollection.ContainerSymlinksPath, defaultLogContainerSymlinksPath) - apiutils.DefaultStringIfUnset(&ddaSpec.Features.LogCollection.TempStoragePath, DefaultLogTempStoragePath) + apiutils.DefaultStringIfUnset(&ddaSpec.Features.LogCollection.TempStoragePath, v2alpha1.DefaultLogTempStoragePath) } // LiveContainerCollection Feature if ddaSpec.Features.LiveContainerCollection == nil { - ddaSpec.Features.LiveContainerCollection = &LiveContainerCollectionFeatureConfig{} + ddaSpec.Features.LiveContainerCollection = &v2alpha1.LiveContainerCollectionFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.LiveContainerCollection.Enabled, defaultLiveContainerCollectionEnabled) // OTelCollector Feature if ddaSpec.Features.OtelCollector == nil { - ddaSpec.Features.OtelCollector = &OtelCollectorFeatureConfig{} + ddaSpec.Features.OtelCollector = &v2alpha1.OtelCollectorFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.OtelCollector.Enabled, defaultOtelCollectorEnabled) // LiveProcessCollection Feature if ddaSpec.Features.LiveProcessCollection == nil { - ddaSpec.Features.LiveProcessCollection = &LiveProcessCollectionFeatureConfig{} + ddaSpec.Features.LiveProcessCollection = &v2alpha1.LiveProcessCollectionFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.LiveProcessCollection.Enabled, defaultLiveProcessCollectionEnabled) // ProcessDiscovery Feature if ddaSpec.Features.ProcessDiscovery == nil { - ddaSpec.Features.ProcessDiscovery = &ProcessDiscoveryFeatureConfig{} + ddaSpec.Features.ProcessDiscovery = &v2alpha1.ProcessDiscoveryFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.ProcessDiscovery.Enabled, defaultProcessDiscoveryEnabled) // OOMKill Feature if ddaSpec.Features.OOMKill == nil { - ddaSpec.Features.OOMKill = &OOMKillFeatureConfig{} + ddaSpec.Features.OOMKill = &v2alpha1.OOMKillFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.OOMKill.Enabled, defaultOOMKillEnabled) // TCPQueueLength Feature if ddaSpec.Features.TCPQueueLength == nil { - ddaSpec.Features.TCPQueueLength = &TCPQueueLengthFeatureConfig{} + ddaSpec.Features.TCPQueueLength = &v2alpha1.TCPQueueLengthFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.TCPQueueLength.Enabled, defaultTCPQueueLengthEnabled) // EBPFCheck Feature if ddaSpec.Features.EBPFCheck == nil { - ddaSpec.Features.EBPFCheck = &EBPFCheckFeatureConfig{} + ddaSpec.Features.EBPFCheck = &v2alpha1.EBPFCheckFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.EBPFCheck.Enabled, defaultEBPFCheckEnabled) if ddaSpec.Features.ServiceDiscovery == nil { - ddaSpec.Features.ServiceDiscovery = &ServiceDiscoveryFeatureConfig{} + ddaSpec.Features.ServiceDiscovery = &v2alpha1.ServiceDiscoveryFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.ServiceDiscovery.Enabled, defaultServiceDiscoveryEnabled) // APM Feature // APM is enabled by default if ddaSpec.Features.APM == nil { - ddaSpec.Features.APM = &APMFeatureConfig{} + ddaSpec.Features.APM = &v2alpha1.APMFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.APM.Enabled, defaultAPMEnabled) if *ddaSpec.Features.APM.Enabled { if ddaSpec.Features.APM.HostPortConfig == nil { - ddaSpec.Features.APM.HostPortConfig = &HostPortConfig{} + ddaSpec.Features.APM.HostPortConfig = &v2alpha1.HostPortConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.APM.HostPortConfig.Enabled, defaultAPMHostPortEnabled) @@ -282,7 +283,7 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { apiutils.DefaultInt32IfUnset(&ddaSpec.Features.APM.HostPortConfig.Port, defaultAPMHostPort) if ddaSpec.Features.APM.UnixDomainSocketConfig == nil { - ddaSpec.Features.APM.UnixDomainSocketConfig = &UnixDomainSocketConfig{} + ddaSpec.Features.APM.UnixDomainSocketConfig = &v2alpha1.UnixDomainSocketConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.APM.UnixDomainSocketConfig.Enabled, defaultAPMSocketEnabled) @@ -290,11 +291,11 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { apiutils.DefaultStringIfUnset(&ddaSpec.Features.APM.UnixDomainSocketConfig.Path, defaultAPMSocketHostPath) if ddaSpec.Features.APM.SingleStepInstrumentation == nil { - ddaSpec.Features.APM.SingleStepInstrumentation = &SingleStepInstrumentation{} + ddaSpec.Features.APM.SingleStepInstrumentation = &v2alpha1.SingleStepInstrumentation{} } if ddaSpec.Features.APM.SingleStepInstrumentation.LanguageDetection == nil { - ddaSpec.Features.APM.SingleStepInstrumentation.LanguageDetection = &LanguageDetectionConfig{} + ddaSpec.Features.APM.SingleStepInstrumentation.LanguageDetection = &v2alpha1.LanguageDetectionConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.APM.SingleStepInstrumentation.Enabled, defaultAPMSingleStepInstrEnabled) @@ -303,49 +304,49 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // ASM Features if ddaSpec.Features.ASM == nil { - ddaSpec.Features.ASM = &ASMFeatureConfig{} + ddaSpec.Features.ASM = &v2alpha1.ASMFeatureConfig{} } if ddaSpec.Features.ASM.Threats == nil { - ddaSpec.Features.ASM.Threats = &ASMThreatsConfig{} + ddaSpec.Features.ASM.Threats = &v2alpha1.ASMThreatsConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.ASM.Threats.Enabled, defaultAdmissionASMThreatsEnabled) if ddaSpec.Features.ASM.SCA == nil { - ddaSpec.Features.ASM.SCA = &ASMSCAConfig{} + ddaSpec.Features.ASM.SCA = &v2alpha1.ASMSCAConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.ASM.SCA.Enabled, defaultAdmissionASMSCAEnabled) if ddaSpec.Features.ASM.IAST == nil { - ddaSpec.Features.ASM.IAST = &ASMIASTConfig{} + ddaSpec.Features.ASM.IAST = &v2alpha1.ASMIASTConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.ASM.IAST.Enabled, defaultAdmissionASMIASTEnabled) // CSPM (Cloud Security Posture Management) Feature if ddaSpec.Features.CSPM == nil { - ddaSpec.Features.CSPM = &CSPMFeatureConfig{} + ddaSpec.Features.CSPM = &v2alpha1.CSPMFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.CSPM.Enabled, defaultCSPMEnabled) if *ddaSpec.Features.CSPM.Enabled { if ddaSpec.Features.CSPM.HostBenchmarks == nil { - ddaSpec.Features.CSPM.HostBenchmarks = &CSPMHostBenchmarksConfig{} + ddaSpec.Features.CSPM.HostBenchmarks = &v2alpha1.CSPMHostBenchmarksConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.CSPM.HostBenchmarks.Enabled, defaultCSPMHostBenchmarksEnabled) } // CWS (Cloud Workload Security) Feature if ddaSpec.Features.CWS == nil { - ddaSpec.Features.CWS = &CWSFeatureConfig{} + ddaSpec.Features.CWS = &v2alpha1.CWSFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.CWS.Enabled, defaultCWSEnabled) if *ddaSpec.Features.CWS.Enabled { if ddaSpec.Features.CWS.Network == nil { - ddaSpec.Features.CWS.Network = &CWSNetworkConfig{} + ddaSpec.Features.CWS.Network = &v2alpha1.CWSNetworkConfig{} } if ddaSpec.Features.CWS.SecurityProfiles == nil { - ddaSpec.Features.CWS.SecurityProfiles = &CWSSecurityProfilesConfig{} + ddaSpec.Features.CWS.SecurityProfiles = &v2alpha1.CWSSecurityProfilesConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.CWS.SyscallMonitorEnabled, defaultCWSSyscallMonitorEnabled) @@ -355,7 +356,7 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // NPM (Network Performance Monitoring) Feature if ddaSpec.Features.NPM == nil { - ddaSpec.Features.NPM = &NPMFeatureConfig{} + ddaSpec.Features.NPM = &v2alpha1.NPMFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.NPM.Enabled, defaultNPMEnabled) @@ -366,28 +367,28 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // USM (Universal Service Monitoring) Feature if ddaSpec.Features.USM == nil { - ddaSpec.Features.USM = &USMFeatureConfig{} + ddaSpec.Features.USM = &v2alpha1.USMFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.USM.Enabled, defaultUSMEnabled) // Dogstatsd Feature if ddaSpec.Features.Dogstatsd == nil { - ddaSpec.Features.Dogstatsd = &DogstatsdFeatureConfig{} + ddaSpec.Features.Dogstatsd = &v2alpha1.DogstatsdFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.Dogstatsd.OriginDetectionEnabled, defaultDogstatsdOriginDetectionEnabled) if ddaSpec.Features.Dogstatsd.HostPortConfig == nil { - ddaSpec.Features.Dogstatsd.HostPortConfig = &HostPortConfig{ + ddaSpec.Features.Dogstatsd.HostPortConfig = &v2alpha1.HostPortConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled), } } if *ddaSpec.Features.Dogstatsd.HostPortConfig.Enabled { - apiutils.DefaultInt32IfUnset(&ddaSpec.Features.Dogstatsd.HostPortConfig.Port, DefaultDogstatsdPort) + apiutils.DefaultInt32IfUnset(&ddaSpec.Features.Dogstatsd.HostPortConfig.Port, v2alpha1.DefaultDogstatsdPort) } if ddaSpec.Features.Dogstatsd.UnixDomainSocketConfig == nil { - ddaSpec.Features.Dogstatsd.UnixDomainSocketConfig = &UnixDomainSocketConfig{} + ddaSpec.Features.Dogstatsd.UnixDomainSocketConfig = &v2alpha1.UnixDomainSocketConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.Dogstatsd.UnixDomainSocketConfig.Enabled, defaultDogstatsdSocketEnabled) @@ -397,18 +398,18 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // OTLP ingest feature if ddaSpec.Features.OTLP == nil { - ddaSpec.Features.OTLP = &OTLPFeatureConfig{} + ddaSpec.Features.OTLP = &v2alpha1.OTLPFeatureConfig{} } if ddaSpec.Features.OTLP.Receiver.Protocols.GRPC == nil { - ddaSpec.Features.OTLP.Receiver.Protocols.GRPC = &OTLPGRPCConfig{} + ddaSpec.Features.OTLP.Receiver.Protocols.GRPC = &v2alpha1.OTLPGRPCConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.OTLP.Receiver.Protocols.GRPC.Enabled, defaultOTLPGRPCEnabled) if apiutils.BoolValue(ddaSpec.Features.OTLP.Receiver.Protocols.GRPC.Enabled) { if ddaSpec.Features.OTLP.Receiver.Protocols.GRPC.HostPortConfig == nil { - ddaSpec.Features.OTLP.Receiver.Protocols.GRPC.HostPortConfig = &HostPortConfig{} + ddaSpec.Features.OTLP.Receiver.Protocols.GRPC.HostPortConfig = &v2alpha1.HostPortConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.OTLP.Receiver.Protocols.GRPC.HostPortConfig.Enabled, defaultOTLPGRPCHostPortEnabled) } @@ -416,14 +417,14 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { apiutils.DefaultStringIfUnset(&ddaSpec.Features.OTLP.Receiver.Protocols.GRPC.Endpoint, defaultOTLPGRPCEndpoint) if ddaSpec.Features.OTLP.Receiver.Protocols.HTTP == nil { - ddaSpec.Features.OTLP.Receiver.Protocols.HTTP = &OTLPHTTPConfig{} + ddaSpec.Features.OTLP.Receiver.Protocols.HTTP = &v2alpha1.OTLPHTTPConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.OTLP.Receiver.Protocols.HTTP.Enabled, defaultOTLPHTTPEnabled) if apiutils.BoolValue(ddaSpec.Features.OTLP.Receiver.Protocols.HTTP.Enabled) { if ddaSpec.Features.OTLP.Receiver.Protocols.HTTP.HostPortConfig == nil { - ddaSpec.Features.OTLP.Receiver.Protocols.HTTP.HostPortConfig = &HostPortConfig{} + ddaSpec.Features.OTLP.Receiver.Protocols.HTTP.HostPortConfig = &v2alpha1.HostPortConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.OTLP.Receiver.Protocols.HTTP.HostPortConfig.Enabled, defaultOTLPHTTPHostPortEnabled) } @@ -432,7 +433,7 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // RemoteConfiguration feature if ddaSpec.Features.RemoteConfiguration == nil { - ddaSpec.Features.RemoteConfiguration = &RemoteConfigurationFeatureConfig{} + ddaSpec.Features.RemoteConfiguration = &v2alpha1.RemoteConfigurationFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.RemoteConfiguration.Enabled, defaultRemoteConfigurationEnabled) @@ -440,11 +441,11 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // EventCollection Feature if ddaSpec.Features.EventCollection == nil { - ddaSpec.Features.EventCollection = &EventCollectionFeatureConfig{} + ddaSpec.Features.EventCollection = &v2alpha1.EventCollectionFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.EventCollection.CollectKubernetesEvents, defaultCollectKubernetesEvents) if apiutils.BoolValue(ddaSpec.Features.EventCollection.UnbundleEvents) && ddaSpec.Features.EventCollection.CollectedEventTypes == nil { - ddaSpec.Features.EventCollection.CollectedEventTypes = []EventTypes{ + ddaSpec.Features.EventCollection.CollectedEventTypes = []v2alpha1.EventTypes{ { Kind: "Pod", Reasons: []string{"Failed", "BackOff", "Unhealthy", "FailedScheduling", "FailedMount", "FailedAttachVolume"}, @@ -462,7 +463,7 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // OrchestratorExplorer check Feature if ddaSpec.Features.OrchestratorExplorer == nil { - ddaSpec.Features.OrchestratorExplorer = &OrchestratorExplorerFeatureConfig{} + ddaSpec.Features.OrchestratorExplorer = &v2alpha1.OrchestratorExplorerFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.OrchestratorExplorer.Enabled, defaultOrchestratorExplorerEnabled) @@ -472,13 +473,13 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // KubeStateMetricsCore check Feature if ddaSpec.Features.KubeStateMetricsCore == nil { - ddaSpec.Features.KubeStateMetricsCore = &KubeStateMetricsCoreFeatureConfig{} + ddaSpec.Features.KubeStateMetricsCore = &v2alpha1.KubeStateMetricsCoreFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.KubeStateMetricsCore.Enabled, defaultKubeStateMetricsCoreEnabled) // AdmissionController Feature if ddaSpec.Features.AdmissionController == nil { - ddaSpec.Features.AdmissionController = &AdmissionControllerFeatureConfig{} + ddaSpec.Features.AdmissionController = &v2alpha1.AdmissionControllerFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.AdmissionController.Enabled, defaultAdmissionControllerEnabled) @@ -490,13 +491,13 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // AdmissionControllerValidation Feature if ddaSpec.Features.AdmissionController.Validation == nil { - ddaSpec.Features.AdmissionController.Validation = &AdmissionControllerValidationConfig{} + ddaSpec.Features.AdmissionController.Validation = &v2alpha1.AdmissionControllerValidationConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.AdmissionController.Validation.Enabled, defaultAdmissionControllerValidationEnabled) // AdmissionControllerMutation Feature if ddaSpec.Features.AdmissionController.Mutation == nil { - ddaSpec.Features.AdmissionController.Mutation = &AdmissionControllerMutationConfig{} + ddaSpec.Features.AdmissionController.Mutation = &v2alpha1.AdmissionControllerMutationConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.AdmissionController.Mutation.Enabled, defaultAdmissionControllerMutationEnabled) @@ -507,13 +508,13 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // K8s Admission Events in AdmissonController Feature if ddaSpec.Features.AdmissionController.KubernetesAdmissionEvents == nil { - ddaSpec.Features.AdmissionController.KubernetesAdmissionEvents = &KubernetesAdmissionEventsConfig{} + ddaSpec.Features.AdmissionController.KubernetesAdmissionEvents = &v2alpha1.KubernetesAdmissionEventsConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.AdmissionController.KubernetesAdmissionEvents.Enabled, defaultAdmissionControllerKubernetesAdmissionEventsEnabled) // CWS Instrumentation in AdmissionController Feature if ddaSpec.Features.AdmissionController.CWSInstrumentation == nil { - ddaSpec.Features.AdmissionController.CWSInstrumentation = &CWSInstrumentationConfig{} + ddaSpec.Features.AdmissionController.CWSInstrumentation = &v2alpha1.CWSInstrumentationConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.AdmissionController.CWSInstrumentation.Enabled, DefaultAdmissionControllerCWSInstrumentationEnabled) @@ -523,7 +524,7 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // ExternalMetricsServer Feature if ddaSpec.Features.ExternalMetricsServer == nil { - ddaSpec.Features.ExternalMetricsServer = &ExternalMetricsServerFeatureConfig{} + ddaSpec.Features.ExternalMetricsServer = &v2alpha1.ExternalMetricsServerFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.ExternalMetricsServer.Enabled, defaultExternalMetricsServerEnabled) @@ -535,7 +536,7 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // ClusterChecks Feature if ddaSpec.Features.ClusterChecks == nil { - ddaSpec.Features.ClusterChecks = &ClusterChecksFeatureConfig{} + ddaSpec.Features.ClusterChecks = &v2alpha1.ClusterChecksFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.ClusterChecks.Enabled, defaultClusterChecksEnabled) @@ -545,7 +546,7 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // PrometheusScrape Feature if ddaSpec.Features.PrometheusScrape == nil { - ddaSpec.Features.PrometheusScrape = &PrometheusScrapeFeatureConfig{} + ddaSpec.Features.PrometheusScrape = &v2alpha1.PrometheusScrapeFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.PrometheusScrape.Enabled, defaultPrometheusScrapeEnabled) @@ -556,7 +557,7 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) { // Helm Check Feature if ddaSpec.Features.HelmCheck == nil { - ddaSpec.Features.HelmCheck = &HelmCheckFeatureConfig{} + ddaSpec.Features.HelmCheck = &v2alpha1.HelmCheckFeatureConfig{} } apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.HelmCheck.Enabled, defaultHelmCheckEnabled) diff --git a/api/datadoghq/v2alpha1/datadogagent_default_test.go b/internal/controller/datadogagent/defaults/datadogagent_default_test.go similarity index 58% rename from api/datadoghq/v2alpha1/datadogagent_default_test.go rename to internal/controller/datadogagent/defaults/datadogagent_default_test.go index 35804fce8..98d61fd6b 100644 --- a/api/datadoghq/v2alpha1/datadogagent_default_test.go +++ b/internal/controller/datadogagent/defaults/datadogagent_default_test.go @@ -3,11 +3,12 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016-present Datadog, Inc. -package v2alpha1 +package defaults import ( "testing" + "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/google/go-cmp/cmp" @@ -22,112 +23,112 @@ const ( func Test_defaultGlobal(t *testing.T) { tests := []struct { name string - ddaSpec *DatadogAgentSpec - want *DatadogAgentSpec + ddaSpec *v2alpha1.DatadogAgentSpec + want *v2alpha1.DatadogAgentSpec }{ { name: "global is nil", - ddaSpec: &DatadogAgentSpec{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ Global: nil, }, - want: &DatadogAgentSpec{ - Global: &GlobalConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{ Site: apiutils.NewStringPointer(defaultSite), - Registry: apiutils.NewStringPointer(DefaultImageRegistry), + Registry: apiutils.NewStringPointer(v2alpha1.DefaultImageRegistry), LogLevel: apiutils.NewStringPointer(defaultLogLevel), }, }, }, { name: "test registry defaulting based on site - EU", - ddaSpec: &DatadogAgentSpec{ - Global: &GlobalConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{ Site: apiutils.NewStringPointer(defaultEuropeSite), }, }, - want: &DatadogAgentSpec{ - Global: &GlobalConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{ Site: apiutils.NewStringPointer(defaultEuropeSite), - Registry: apiutils.NewStringPointer(DefaultEuropeImageRegistry), + Registry: apiutils.NewStringPointer(v2alpha1.DefaultEuropeImageRegistry), LogLevel: apiutils.NewStringPointer(defaultLogLevel), }, }, }, { name: "test registry defaulting based on site - Asia", - ddaSpec: &DatadogAgentSpec{ - Global: &GlobalConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{ Site: apiutils.NewStringPointer(defaultAsiaSite), }, }, - want: &DatadogAgentSpec{ - Global: &GlobalConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{ Site: apiutils.NewStringPointer(defaultAsiaSite), - Registry: apiutils.NewStringPointer(DefaultAsiaImageRegistry), + Registry: apiutils.NewStringPointer(v2alpha1.DefaultAsiaImageRegistry), LogLevel: apiutils.NewStringPointer(defaultLogLevel), }, }, }, { name: "test registry defaulting based on site - Azure", - ddaSpec: &DatadogAgentSpec{ - Global: &GlobalConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{ Site: apiutils.NewStringPointer(defaultAzureSite), }, }, - want: &DatadogAgentSpec{ - Global: &GlobalConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{ Site: apiutils.NewStringPointer(defaultAzureSite), - Registry: apiutils.NewStringPointer(DefaultAzureImageRegistry), + Registry: apiutils.NewStringPointer(v2alpha1.DefaultAzureImageRegistry), LogLevel: apiutils.NewStringPointer(defaultLogLevel), }, }, }, { name: "test registry defaulting based on site - Gov", - ddaSpec: &DatadogAgentSpec{ - Global: &GlobalConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{ Site: apiutils.NewStringPointer(defaultGovSite), }, }, - want: &DatadogAgentSpec{ - Global: &GlobalConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{ Site: apiutils.NewStringPointer(defaultGovSite), - Registry: apiutils.NewStringPointer(DefaultGovImageRegistry), + Registry: apiutils.NewStringPointer(v2alpha1.DefaultGovImageRegistry), LogLevel: apiutils.NewStringPointer(defaultLogLevel), }, }, }, { name: "test FIPS defaulting - disabled", - ddaSpec: &DatadogAgentSpec{ - Global: &GlobalConfig{}, + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{}, }, - want: &DatadogAgentSpec{ - Global: &GlobalConfig{ - FIPS: &FIPSConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{ + FIPS: &v2alpha1.FIPSConfig{ Enabled: apiutils.NewBoolPointer(defaultFIPSEnabled), }, Site: apiutils.NewStringPointer(defaultSite), - Registry: apiutils.NewStringPointer(DefaultImageRegistry), + Registry: apiutils.NewStringPointer(v2alpha1.DefaultImageRegistry), LogLevel: apiutils.NewStringPointer(defaultLogLevel), }, }, }, { name: "test FIPS defaulting - enabled", - ddaSpec: &DatadogAgentSpec{ - Global: &GlobalConfig{ - FIPS: &FIPSConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{ + FIPS: &v2alpha1.FIPSConfig{ Enabled: apiutils.NewBoolPointer(true), }, }, }, - want: &DatadogAgentSpec{ - Global: &GlobalConfig{ - FIPS: &FIPSConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Global: &v2alpha1.GlobalConfig{ + FIPS: &v2alpha1.FIPSConfig{ Enabled: apiutils.NewBoolPointer(true), - Image: &AgentImageConfig{ + Image: &v2alpha1.AgentImageConfig{ Name: defaultFIPSImageName, Tag: defaultFIPSImageTag, }, @@ -137,7 +138,7 @@ func Test_defaultGlobal(t *testing.T) { UseHTTPS: apiutils.NewBoolPointer(defaultFIPSUseHTTPS), }, Site: apiutils.NewStringPointer(defaultSite), - Registry: apiutils.NewStringPointer(DefaultImageRegistry), + Registry: apiutils.NewStringPointer(v2alpha1.DefaultImageRegistry), LogLevel: apiutils.NewStringPointer(defaultLogLevel), }, }, @@ -163,142 +164,142 @@ func Test_defaultGlobal(t *testing.T) { func Test_defaultFeatures(t *testing.T) { tests := []struct { name string - ddaSpec *DatadogAgentSpec - want *DatadogAgentSpec + ddaSpec *v2alpha1.DatadogAgentSpec + want *v2alpha1.DatadogAgentSpec }{ { name: "all features are nil", - ddaSpec: &DatadogAgentSpec{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ Features: nil, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLogCollectionEnabled), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveProcessCollectionEnabled), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMEnabled), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMEnabled), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSEnabled), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultNPMEnabled), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultExternalMetricsServerEnabled), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(DefaultAdmissionControllerCWSInstrumentationEnabled), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, @@ -306,208 +307,208 @@ func Test_defaultFeatures(t *testing.T) { }, { name: "all features are disabled", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{Enabled: apiutils.NewBoolPointer(valueFalse)}, - HTTP: &OTLPHTTPConfig{Enabled: apiutils.NewBoolPointer(valueFalse)}, + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{Enabled: apiutils.NewBoolPointer(valueFalse)}, + HTTP: &v2alpha1.OTLPHTTPConfig{Enabled: apiutils.NewBoolPointer(valueFalse)}, }}}, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(valueFalse), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), - Validation: &AdmissionControllerValidationConfig{Enabled: apiutils.NewBoolPointer(valueFalse)}, - Mutation: &AdmissionControllerMutationConfig{Enabled: apiutils.NewBoolPointer(valueFalse)}, + Validation: &v2alpha1.AdmissionControllerValidationConfig{Enabled: apiutils.NewBoolPointer(valueFalse)}, + Mutation: &v2alpha1.AdmissionControllerMutationConfig{Enabled: apiutils.NewBoolPointer(valueFalse)}, }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(valueFalse), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueFalse), }, }, @@ -515,141 +516,141 @@ func Test_defaultFeatures(t *testing.T) { }, { name: "liveProcess is enabled", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), }, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLogCollectionEnabled), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMEnabled), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMEnabled), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSEnabled), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultNPMEnabled), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultExternalMetricsServerEnabled), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(DefaultAdmissionControllerCWSInstrumentationEnabled), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, @@ -657,146 +658,146 @@ func Test_defaultFeatures(t *testing.T) { }, { name: "logCollection is enabled", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), }, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), ContainerCollectUsingFiles: apiutils.NewBoolPointer(defaultLogContainerCollectUsingFiles), ContainerLogsPath: apiutils.NewStringPointer(defaultLogContainerLogsPath), PodLogsPath: apiutils.NewStringPointer(defaultLogPodLogsPath), ContainerSymlinksPath: apiutils.NewStringPointer(defaultLogContainerSymlinksPath), - TempStoragePath: apiutils.NewStringPointer(DefaultLogTempStoragePath), + TempStoragePath: apiutils.NewStringPointer(v2alpha1.DefaultLogTempStoragePath), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveProcessCollectionEnabled), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMEnabled), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMEnabled), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSEnabled), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultNPMEnabled), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultExternalMetricsServerEnabled), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(DefaultAdmissionControllerCWSInstrumentationEnabled), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, @@ -804,141 +805,141 @@ func Test_defaultFeatures(t *testing.T) { }, { name: "APM is enabled", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - APM: &APMFeatureConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), }, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLogCollectionEnabled), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveProcessCollectionEnabled), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMEnabled), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSEnabled), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultNPMEnabled), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultExternalMetricsServerEnabled), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(DefaultAdmissionControllerCWSInstrumentationEnabled), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, @@ -946,143 +947,143 @@ func Test_defaultFeatures(t *testing.T) { }, { name: "NPM is enabled", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - NPM: &NPMFeatureConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), }, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLogCollectionEnabled), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveProcessCollectionEnabled), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMEnabled), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMEnabled), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSEnabled), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), EnableConntrack: apiutils.NewBoolPointer(defaultNPMEnableConntrack), CollectDNSStats: apiutils.NewBoolPointer(defaultNPMCollectDNSStats), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultExternalMetricsServerEnabled), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(DefaultAdmissionControllerCWSInstrumentationEnabled), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, @@ -1090,148 +1091,148 @@ func Test_defaultFeatures(t *testing.T) { }, { name: "OTLP is enabled", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(true), Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(true), Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLogCollectionEnabled), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveProcessCollectionEnabled), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMEnabled), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMEnabled), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSEnabled), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultNPMEnabled), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCHostPortEnabled)}, + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCHostPortEnabled)}, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCHostPortEnabled)}, + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCHostPortEnabled)}, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultExternalMetricsServerEnabled), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(DefaultAdmissionControllerCWSInstrumentationEnabled), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, @@ -1239,144 +1240,144 @@ func Test_defaultFeatures(t *testing.T) { }, { name: "ExternalMetricsServer is enabled", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), }, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLogCollectionEnabled), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveProcessCollectionEnabled), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMEnabled), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMEnabled), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSEnabled), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultNPMEnabled), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), RegisterAPIService: apiutils.NewBoolPointer(defaultRegisterAPIService), UseDatadogMetrics: apiutils.NewBoolPointer(defaultDatadogMetricsEnabled), Port: apiutils.NewInt32Pointer(defaultMetricsProviderPort), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(DefaultAdmissionControllerCWSInstrumentationEnabled), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, @@ -1384,141 +1385,141 @@ func Test_defaultFeatures(t *testing.T) { }, { name: "ClusterChecks feature with a field set, but \"enabled\" field not set", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - ClusterChecks: &ClusterChecksFeatureConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLogCollectionEnabled), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveProcessCollectionEnabled), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMEnabled), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMEnabled), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSEnabled), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultNPMEnabled), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultExternalMetricsServerEnabled), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(valueFalse), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(DefaultAdmissionControllerCWSInstrumentationEnabled), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, @@ -1526,156 +1527,156 @@ func Test_defaultFeatures(t *testing.T) { }, { name: "Admission controller enabled unset, other fields set", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - AdmissionController: &AdmissionControllerFeatureConfig{ - Validation: &AdmissionControllerValidationConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(true), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(true), }, MutateUnlabelled: apiutils.NewBoolPointer(true), AgentCommunicationMode: apiutils.NewStringPointer("socket"), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(true), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLogCollectionEnabled), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveProcessCollectionEnabled), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMEnabled), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMEnabled), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSEnabled), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultNPMEnabled), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultExternalMetricsServerEnabled), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(valueTrue), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), AgentCommunicationMode: apiutils.NewStringPointer("socket"), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), Mode: apiutils.NewStringPointer(DefaultAdmissionControllerCWSInstrumentationMode), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, @@ -1683,285 +1684,284 @@ func Test_defaultFeatures(t *testing.T) { }, { name: "Orchestrator explorer enabled unset, other fields set", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ CustomResources: []string{"datadoghq.com/v1alpha1/datadogmetrics"}, }, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLogCollectionEnabled), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveProcessCollectionEnabled), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMEnabled), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMEnabled), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSEnabled), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultNPMEnabled), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), CustomResources: []string{"datadoghq.com/v1alpha1/datadogmetrics"}, }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultExternalMetricsServerEnabled), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(DefaultAdmissionControllerCWSInstrumentationEnabled), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, }, }, - { name: "OTel Collector is enabled", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - OtelCollector: &OtelCollectorFeatureConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), }, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLogCollectionEnabled), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveProcessCollectionEnabled), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMEnabled), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMEnabled), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSEnabled), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultNPMEnabled), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultExternalMetricsServerEnabled), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(DefaultAdmissionControllerCWSInstrumentationEnabled), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, @@ -1970,162 +1970,162 @@ func Test_defaultFeatures(t *testing.T) { { // This test sets same defaults as the one with `Features: nil`; and leaves other configs as empty structs. name: "all feature configs are empty structs, configures defaults where applicable, leaves others empty", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{}, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{}, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{}, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{}, - OOMKill: &OOMKillFeatureConfig{}, - TCPQueueLength: &TCPQueueLengthFeatureConfig{}, - EBPFCheck: &EBPFCheckFeatureConfig{}, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{}, - APM: &APMFeatureConfig{}, - ASM: &ASMFeatureConfig{}, - CSPM: &CSPMFeatureConfig{}, - CWS: &CWSFeatureConfig{}, - NPM: &NPMFeatureConfig{}, - USM: &USMFeatureConfig{}, - OTLP: &OTLPFeatureConfig{}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{}, - EventCollection: &EventCollectionFeatureConfig{}, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{}, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{}, - AdmissionController: &AdmissionControllerFeatureConfig{}, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{}, - ClusterChecks: &ClusterChecksFeatureConfig{}, - PrometheusScrape: &PrometheusScrapeFeatureConfig{}, - HelmCheck: &HelmCheckFeatureConfig{}, + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{}, + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{}, + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{}, + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{}, + OOMKill: &v2alpha1.OOMKillFeatureConfig{}, + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{}, + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{}, + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{}, + APM: &v2alpha1.APMFeatureConfig{}, + ASM: &v2alpha1.ASMFeatureConfig{}, + CSPM: &v2alpha1.CSPMFeatureConfig{}, + CWS: &v2alpha1.CWSFeatureConfig{}, + NPM: &v2alpha1.NPMFeatureConfig{}, + USM: &v2alpha1.USMFeatureConfig{}, + OTLP: &v2alpha1.OTLPFeatureConfig{}, + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{}, + EventCollection: &v2alpha1.EventCollectionFeatureConfig{}, + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{}, + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{}, + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{}, + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{}, + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{}, + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{}, + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{}, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLogCollectionEnabled), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveProcessCollectionEnabled), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMEnabled), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMEnabled), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSEnabled), }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultNPMEnabled), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultExternalMetricsServerEnabled), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(DefaultAdmissionControllerCWSInstrumentationEnabled), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, @@ -2133,154 +2133,156 @@ func Test_defaultFeatures(t *testing.T) { }, { name: "CSPM and CWS are enabled", - ddaSpec: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - CSPM: &CSPMFeatureConfig{ + ddaSpec: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), }, }, }, - want: &DatadogAgentSpec{ - Features: &DatadogFeatures{ - LogCollection: &LogCollectionFeatureConfig{ + want: &v2alpha1.DatadogAgentSpec{ + Features: &v2alpha1.DatadogFeatures{ + LogCollection: &v2alpha1.LogCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLogCollectionEnabled), }, - LiveProcessCollection: &LiveProcessCollectionFeatureConfig{ + LiveProcessCollection: &v2alpha1.LiveProcessCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveProcessCollectionEnabled), }, - LiveContainerCollection: &LiveContainerCollectionFeatureConfig{ + LiveContainerCollection: &v2alpha1.LiveContainerCollectionFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultLiveContainerCollectionEnabled), }, - ProcessDiscovery: &ProcessDiscoveryFeatureConfig{ + ProcessDiscovery: &v2alpha1.ProcessDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultProcessDiscoveryEnabled), }, - OOMKill: &OOMKillFeatureConfig{ + OOMKill: &v2alpha1.OOMKillFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOOMKillEnabled), }, - TCPQueueLength: &TCPQueueLengthFeatureConfig{ + TCPQueueLength: &v2alpha1.TCPQueueLengthFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultTCPQueueLengthEnabled), }, - EBPFCheck: &EBPFCheckFeatureConfig{ + EBPFCheck: &v2alpha1.EBPFCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultEBPFCheckEnabled), }, - ServiceDiscovery: &ServiceDiscoveryFeatureConfig{ + ServiceDiscovery: &v2alpha1.ServiceDiscoveryFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultServiceDiscoveryEnabled), }, - APM: &APMFeatureConfig{ + APM: &v2alpha1.APMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMEnabled), - HostPortConfig: &HostPortConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{ Port: apiutils.NewInt32Pointer(defaultAPMHostPort), Enabled: apiutils.NewBoolPointer(defaultAPMHostPortEnabled), }, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultAPMSocketEnabled), Path: apiutils.NewStringPointer(defaultAPMSocketHostPath), }, - SingleStepInstrumentation: &SingleStepInstrumentation{ + SingleStepInstrumentation: &v2alpha1.SingleStepInstrumentation{ Enabled: apiutils.NewBoolPointer(defaultAPMSingleStepInstrEnabled), - LanguageDetection: &LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, + LanguageDetection: &v2alpha1.LanguageDetectionConfig{Enabled: apiutils.NewBoolPointer(defaultLanguageDetectionEnabled)}, }, }, - OtelCollector: &OtelCollectorFeatureConfig{ + OtelCollector: &v2alpha1.OtelCollectorFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOtelCollectorEnabled), }, - ASM: &ASMFeatureConfig{ - Threats: &ASMThreatsConfig{ + ASM: &v2alpha1.ASMFeatureConfig{ + Threats: &v2alpha1.ASMThreatsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMThreatsEnabled), }, - SCA: &ASMSCAConfig{ + SCA: &v2alpha1.ASMSCAConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMSCAEnabled), }, - IAST: &ASMIASTConfig{ + IAST: &v2alpha1.ASMIASTConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionASMIASTEnabled), }, }, - CSPM: &CSPMFeatureConfig{ + CSPM: &v2alpha1.CSPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), - HostBenchmarks: &CSPMHostBenchmarksConfig{ + HostBenchmarks: &v2alpha1.CSPMHostBenchmarksConfig{ Enabled: apiutils.NewBoolPointer(defaultCSPMHostBenchmarksEnabled), }, }, - CWS: &CWSFeatureConfig{ + CWS: &v2alpha1.CWSFeatureConfig{ Enabled: apiutils.NewBoolPointer(valueTrue), SyscallMonitorEnabled: apiutils.NewBoolPointer(defaultCWSSyscallMonitorEnabled), - Network: &CWSNetworkConfig{ + Network: &v2alpha1.CWSNetworkConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSNetworkEnabled), }, - SecurityProfiles: &CWSSecurityProfilesConfig{ + SecurityProfiles: &v2alpha1.CWSSecurityProfilesConfig{ Enabled: apiutils.NewBoolPointer(defaultCWSSecurityProfilesEnabled), }, }, - NPM: &NPMFeatureConfig{ + NPM: &v2alpha1.NPMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultNPMEnabled), }, - USM: &USMFeatureConfig{ + USM: &v2alpha1.USMFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultUSMEnabled), }, - Dogstatsd: &DogstatsdFeatureConfig{ + Dogstatsd: &v2alpha1.DogstatsdFeatureConfig{ OriginDetectionEnabled: apiutils.NewBoolPointer(defaultDogstatsdOriginDetectionEnabled), - HostPortConfig: &HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, - UnixDomainSocketConfig: &UnixDomainSocketConfig{ + HostPortConfig: &v2alpha1.HostPortConfig{Enabled: apiutils.NewBoolPointer(defaultDogstatsdHostPortEnabled)}, + UnixDomainSocketConfig: &v2alpha1.UnixDomainSocketConfig{ Enabled: apiutils.NewBoolPointer(defaultDogstatsdSocketEnabled), Path: apiutils.NewStringPointer(defaultDogstatsdHostSocketPath), }, }, - OTLP: &OTLPFeatureConfig{Receiver: OTLPReceiverConfig{Protocols: OTLPProtocolsConfig{ - GRPC: &OTLPGRPCConfig{ + OTLP: &v2alpha1.OTLPFeatureConfig{Receiver: v2alpha1.OTLPReceiverConfig{Protocols: v2alpha1.OTLPProtocolsConfig{ + GRPC: &v2alpha1.OTLPGRPCConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPGRPCEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPGRPCEndpoint), }, - HTTP: &OTLPHTTPConfig{ + HTTP: &v2alpha1.OTLPHTTPConfig{ Enabled: apiutils.NewBoolPointer(defaultOTLPHTTPEnabled), HostPortConfig: nil, Endpoint: apiutils.NewStringPointer(defaultOTLPHTTPEndpoint), }, - }}}, - RemoteConfiguration: &RemoteConfigurationFeatureConfig{ + }, + }, + }, + RemoteConfiguration: &v2alpha1.RemoteConfigurationFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultRemoteConfigurationEnabled), }, - EventCollection: &EventCollectionFeatureConfig{ + EventCollection: &v2alpha1.EventCollectionFeatureConfig{ CollectKubernetesEvents: apiutils.NewBoolPointer(defaultCollectKubernetesEvents), }, - OrchestratorExplorer: &OrchestratorExplorerFeatureConfig{ + OrchestratorExplorer: &v2alpha1.OrchestratorExplorerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultOrchestratorExplorerEnabled), ScrubContainers: apiutils.NewBoolPointer(defaultOrchestratorExplorerScrubContainers), }, - ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{ + ExternalMetricsServer: &v2alpha1.ExternalMetricsServerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultExternalMetricsServerEnabled), }, - KubeStateMetricsCore: &KubeStateMetricsCoreFeatureConfig{ + KubeStateMetricsCore: &v2alpha1.KubeStateMetricsCoreFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultKubeStateMetricsCoreEnabled), }, - ClusterChecks: &ClusterChecksFeatureConfig{ + ClusterChecks: &v2alpha1.ClusterChecksFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultClusterChecksEnabled), UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners), }, - AdmissionController: &AdmissionControllerFeatureConfig{ + AdmissionController: &v2alpha1.AdmissionControllerFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled), - Validation: &AdmissionControllerValidationConfig{ + Validation: &v2alpha1.AdmissionControllerValidationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled), }, - Mutation: &AdmissionControllerMutationConfig{ + Mutation: &v2alpha1.AdmissionControllerMutationConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled), }, MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled), ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName), - CWSInstrumentation: &CWSInstrumentationConfig{ + CWSInstrumentation: &v2alpha1.CWSInstrumentationConfig{ Enabled: apiutils.NewBoolPointer(DefaultAdmissionControllerCWSInstrumentationEnabled), }, - KubernetesAdmissionEvents: &KubernetesAdmissionEventsConfig{ + KubernetesAdmissionEvents: &v2alpha1.KubernetesAdmissionEventsConfig{ Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerKubernetesAdmissionEventsEnabled), }, }, - PrometheusScrape: &PrometheusScrapeFeatureConfig{ + PrometheusScrape: &v2alpha1.PrometheusScrapeFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultPrometheusScrapeEnabled), }, - HelmCheck: &HelmCheckFeatureConfig{ + HelmCheck: &v2alpha1.HelmCheckFeatureConfig{ Enabled: apiutils.NewBoolPointer(defaultHelmCheckEnabled), }, }, diff --git a/internal/controller/datadogagent/feature/admissioncontroller/feature.go b/internal/controller/datadogagent/feature/admissioncontroller/feature.go index f2720a2fe..9d72a7b33 100644 --- a/internal/controller/datadogagent/feature/admissioncontroller/feature.go +++ b/internal/controller/datadogagent/feature/admissioncontroller/feature.go @@ -16,6 +16,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/objects" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" cilium "github.com/DataDog/datadog-operator/pkg/cilium/v1" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/defaulting" corev1 "k8s.io/api/core/v1" @@ -92,7 +93,7 @@ func shouldEnablesidecarInjection(sidecarInjectionConf *v2alpha1.AgentSidecarInj func (f *admissionControllerFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp feature.RequiredComponents) { f.owner = dda - f.serviceAccountName = v2alpha1.GetClusterAgentServiceAccount(dda) + f.serviceAccountName = constants.GetClusterAgentServiceAccount(dda) ac := dda.Spec.Features.AdmissionController @@ -128,7 +129,7 @@ func (f *admissionControllerFeature) Configure(dda *v2alpha1.DatadogAgent) (reqC } // otherwise don't set to fall back to default agent setting `hostip` } - f.localServiceName = v2alpha1.GetLocalAgentServiceName(dda) + f.localServiceName = constants.GetLocalAgentServiceName(dda) reqComp = feature.RequiredComponents{ ClusterAgent: feature.RequiredComponent{IsRequired: apiutils.NewBoolPointer(true)}, } @@ -150,7 +151,7 @@ func (f *admissionControllerFeature) Configure(dda *v2alpha1.DatadogAgent) (reqC f.kubernetesAdmissionEvents = &KubernetesAdmissionEventConfig{enabled: true} } - _, f.networkPolicy = v2alpha1.IsNetworkPolicyEnabled(dda) + _, f.networkPolicy = constants.IsNetworkPolicyEnabled(dda) sidecarConfig := dda.Spec.Features.AdmissionController.AgentSidecarInjection if shouldEnablesidecarInjection(sidecarConfig) { @@ -240,7 +241,7 @@ func (f *admissionControllerFeature) ManageDependencies(managers feature.Resourc // service selector := map[string]string{ apicommon.AgentDeploymentNameLabelKey: f.owner.GetName(), - apicommon.AgentDeploymentComponentLabelKey: v2alpha1.DefaultClusterAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterAgentResourceSuffix, } port := []corev1.ServicePort{ { diff --git a/internal/controller/datadogagent/feature/admissioncontroller/feature_test.go b/internal/controller/datadogagent/feature/admissioncontroller/feature_test.go index 9e2963b95..80eaeabd4 100644 --- a/internal/controller/datadogagent/feature/admissioncontroller/feature_test.go +++ b/internal/controller/datadogagent/feature/admissioncontroller/feature_test.go @@ -9,12 +9,12 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" defaulting "github.com/DataDog/datadog-operator/pkg/defaulting" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -25,13 +25,13 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "Admission Controller not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). Build(), WantConfigure: false, }, { Name: "Admission Controller enabled with basic setup", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). Build(), WantConfigure: true, @@ -40,7 +40,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission Controller enabled with validation and mutation enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithAdmissionControllerValidationEnabled(true). WithAdmissionControllerMutationEnabled(true). @@ -51,7 +51,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission controller enabled, cwsInstrumentation enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithCWSInstrumentationEnabled(true). WithCWSInstrumentationMode("test-mode"). @@ -62,7 +62,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission Controller enabled with overriding registry", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithRegistry("testRegistry"). Build(), @@ -72,7 +72,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission Controller enabled with custom registry in global config, override with feature config", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithAdmissionControllerRegistry("featureRegistry"). WithRegistry("globalRegistry"). @@ -83,7 +83,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission Controller enabled with apm uds", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithAPMEnabled(true). WithAPMUDSEnabled(true, "testHostPath"). @@ -94,7 +94,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission Controller enabled with DSD uds", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithDogstatsdUnixDomainSocketConfigEnabled(true). Build(), @@ -104,7 +104,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission Controller enabled with sidecar basic setup", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithSidecarInjectionEnabled(true). Build(), @@ -114,7 +114,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission Controller enabled with sidecar injection adding global registry", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithSidecarInjectionEnabled(true). WithRegistry("globalRegistry"). @@ -125,7 +125,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission Controller enabled with sidecar injection adding both sidecar and global registry", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithSidecarInjectionEnabled(true). WithRegistry("globalRegistry"). @@ -137,7 +137,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission Controller enabled with sidecar injection adding test sidecar image and tag", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithSidecarInjectionEnabled(true). WithSidecarInjectionImageName("testAgentImage"). @@ -149,7 +149,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission Controller enabled with sidecar injection adding global image and tag", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithSidecarInjectionEnabled(true). WithComponentOverride(v2alpha1.NodeAgentComponentName, v2alpha1.DatadogAgentComponentOverride{ @@ -167,7 +167,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission Controller enabled with sidecar injection adding both global and sidecar image and tag", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithSidecarInjectionEnabled(true). WithComponentOverride(v2alpha1.NodeAgentComponentName, v2alpha1.DatadogAgentComponentOverride{ @@ -185,7 +185,7 @@ func Test_admissionControllerFeature_Configure(t *testing.T) { }, { Name: "Admission Controller enabled with sidecar injection with selector and profile", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithSidecarInjectionEnabled(true). WithSidecarInjectionSelectors("testKey", "testValue"). diff --git a/internal/controller/datadogagent/feature/apm/feature.go b/internal/controller/datadogagent/feature/apm/feature.go index 0390dbc2c..00b74d7e5 100644 --- a/internal/controller/datadogagent/feature/apm/feature.go +++ b/internal/controller/datadogagent/feature/apm/feature.go @@ -26,6 +26,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/merger" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/volume" cilium "github.com/DataDog/datadog-operator/pkg/cilium/v1" + "github.com/DataDog/datadog-operator/pkg/constants" ) func init() { @@ -103,13 +104,13 @@ func (f *apmFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp feature.Requ f.owner = dda apm := dda.Spec.Features.APM if shouldEnableAPM(apm) { - f.serviceAccountName = v2alpha1.GetClusterAgentServiceAccount(dda) - f.useHostNetwork = v2alpha1.IsHostNetworkEnabled(dda, v2alpha1.NodeAgentComponentName) + f.serviceAccountName = constants.GetClusterAgentServiceAccount(dda) + f.useHostNetwork = constants.IsHostNetworkEnabled(dda, v2alpha1.NodeAgentComponentName) // hostPort defaults to 'false' in the defaulting code f.hostPortEnabled = apiutils.BoolValue(apm.HostPortConfig.Enabled) f.hostPortHostPort = *apm.HostPortConfig.Port if f.hostPortEnabled { - if enabled, flavor := v2alpha1.IsNetworkPolicyEnabled(dda); enabled { + if enabled, flavor := constants.IsNetworkPolicyEnabled(dda); enabled { if flavor == v2alpha1.NetworkPolicyFlavorCilium { f.createCiliumNetworkPolicy = true } else { @@ -124,7 +125,7 @@ func (f *apmFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp feature.Requ if dda.Spec.Global.LocalService != nil { f.forceEnableLocalService = apiutils.BoolValue(dda.Spec.Global.LocalService.ForceEnableLocalService) } - f.localServiceName = v2alpha1.GetLocalAgentServiceName(dda) + f.localServiceName = constants.GetLocalAgentServiceName(dda) reqComp = feature.RequiredComponents{ Agent: feature.RequiredComponent{ @@ -177,9 +178,9 @@ func (f *apmFeature) ManageDependencies(managers feature.ResourceManagers, compo if common.ShouldCreateAgentLocalService(platformInfo.GetVersionInfo(), f.forceEnableLocalService) { apmPort := &corev1.ServicePort{ Protocol: corev1.ProtocolTCP, - TargetPort: intstr.FromInt(int(v2alpha1.DefaultApmPort)), - Port: v2alpha1.DefaultApmPort, - Name: v2alpha1.DefaultApmPortName, + TargetPort: intstr.FromInt(int(constants.DefaultApmPort)), + Port: constants.DefaultApmPort, + Name: constants.DefaultApmPortName, } if f.hostPortEnabled { apmPort.Port = f.hostPortHostPort @@ -337,13 +338,13 @@ func (f *apmFeature) manageNodeAgent(agentContainerName apicommon.AgentContainer // udp apmPort := &corev1.ContainerPort{ - Name: v2alpha1.DefaultApmPortName, - ContainerPort: v2alpha1.DefaultApmPort, + Name: constants.DefaultApmPortName, + ContainerPort: constants.DefaultApmPort, Protocol: corev1.ProtocolTCP, } if f.hostPortEnabled { apmPort.HostPort = f.hostPortHostPort - receiverPortEnvVarValue := v2alpha1.DefaultApmPort + receiverPortEnvVarValue := constants.DefaultApmPort // if using host network, host port should be set and needs to match container port if f.useHostNetwork { apmPort.ContainerPort = f.hostPortHostPort diff --git a/internal/controller/datadogagent/feature/apm/feature_test.go b/internal/controller/datadogagent/feature/apm/feature_test.go index 69b9aa0f6..a85b8629e 100644 --- a/internal/controller/datadogagent/feature/apm/feature_test.go +++ b/internal/controller/datadogagent/feature/apm/feature_test.go @@ -11,7 +11,6 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" "github.com/DataDog/datadog-operator/api/utils" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" @@ -19,6 +18,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/store" "github.com/DataDog/datadog-operator/pkg/kubernetes" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -78,14 +78,14 @@ func TestAPMFeature(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "apm not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(false). Build(), WantConfigure: false, }, { Name: "apm not enabled with single container strategy", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(false). WithSingleContainerStrategy(true). Build(), @@ -93,7 +93,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "apm enabled, use uds", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(false, apiutils.NewInt32Pointer(8126)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -103,7 +103,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "apm enabled, use uds with single container strategy", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(false, apiutils.NewInt32Pointer(8126)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -114,7 +114,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "apm enabled, use uds and host port", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(8126)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -124,7 +124,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "apm enabled, use uds and host port with single container strategy", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(8126)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -135,7 +135,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "apm enabled, use uds and custom host port", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(1234)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -145,7 +145,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "apm enabled, use uds and custom host port with single container strategy", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(1234)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -156,7 +156,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "apm enabled, use uds and host port enabled but no custom host port", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, nil). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -166,7 +166,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "apm enabled, use uds and host port enabled but no custom host port with single container strategy", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, nil). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -177,7 +177,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "apm enabled, host port enabled host network", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, nil). WithComponentOverride(v2alpha1.NodeAgentComponentName, v2alpha1.DatadogAgentComponentOverride{ @@ -189,7 +189,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "apm enabled, host port enabled host network with single container strategy", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, nil). WithComponentOverride(v2alpha1.NodeAgentComponentName, v2alpha1.DatadogAgentComponentOverride{ @@ -202,7 +202,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "apm enabled, custom host port host network", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(1234)). WithComponentOverride(v2alpha1.NodeAgentComponentName, v2alpha1.DatadogAgentComponentOverride{ @@ -214,7 +214,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "apm enabled, custom host port host network with single container strategy", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(1234)). WithComponentOverride(v2alpha1.NodeAgentComponentName, v2alpha1.DatadogAgentComponentOverride{ @@ -227,7 +227,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "basic apm single step instrumentation", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(8126)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -240,7 +240,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "error apm single step instrumentation without language detection", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(8126)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -264,7 +264,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "step instrumentation precedence", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(false). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(8126)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -275,7 +275,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "step instrumentation w/o AC", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(8126)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -289,7 +289,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "single step instrumentation namespace specific", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(8126)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -301,7 +301,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "single step instrumentation with language detection enabled, process check runs in process agent", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(8126)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -320,7 +320,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "single step instrumentation without language detection enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(8126)). WithAPMUDSEnabled(true, apmSocketHostPath). @@ -339,7 +339,7 @@ func TestAPMFeature(t *testing.T) { }, { Name: "single step instrumentation with language detection enabled, process check runs in core agent", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithAPMHostPortEnabled(true, apiutils.NewInt32Pointer(8126)). WithAPMUDSEnabled(true, apmSocketHostPath). diff --git a/internal/controller/datadogagent/feature/asm/feature_test.go b/internal/controller/datadogagent/feature/asm/feature_test.go index f4a33c48d..fd4a3e329 100644 --- a/internal/controller/datadogagent/feature/asm/feature_test.go +++ b/internal/controller/datadogagent/feature/asm/feature_test.go @@ -9,10 +9,10 @@ import ( "testing" apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/stretchr/testify/require" corev1 "k8s.io/api/core/v1" @@ -52,7 +52,7 @@ func TestASMFeature(t *testing.T) { test.FeatureTestSuite{ { Name: "ASM not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithASMEnabled(false, false, false). Build(), @@ -60,7 +60,7 @@ func TestASMFeature(t *testing.T) { }, { Name: "ASM Threats enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithASMEnabled(true, false, false). Build(), @@ -70,7 +70,7 @@ func TestASMFeature(t *testing.T) { }, { Name: "ASM Threats enabled, admission controller not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(false). WithASMEnabled(true, false, false). Build(), @@ -79,7 +79,7 @@ func TestASMFeature(t *testing.T) { }, { Name: "ASM Threats enabled, admission controller not configured", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithASMEnabled(true, false, false). Build(), @@ -87,7 +87,7 @@ func TestASMFeature(t *testing.T) { }, { Name: "ASM SCA enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithASMEnabled(false, true, false). WithAdmissionControllerEnabled(true). Build(), @@ -97,7 +97,7 @@ func TestASMFeature(t *testing.T) { }, { Name: "ASM IAST enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithASMEnabled(false, false, true). WithAdmissionControllerEnabled(true). Build(), @@ -107,7 +107,7 @@ func TestASMFeature(t *testing.T) { }, { Name: "ASM all enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithAdmissionControllerEnabled(true). WithASMEnabled(true, true, true). Build(), diff --git a/internal/controller/datadogagent/feature/autoscaling/feature.go b/internal/controller/datadogagent/feature/autoscaling/feature.go index 56b107923..2ce02f175 100644 --- a/internal/controller/datadogagent/feature/autoscaling/feature.go +++ b/internal/controller/datadogagent/feature/autoscaling/feature.go @@ -12,6 +12,7 @@ import ( "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" apiutils "github.com/DataDog/datadog-operator/api/utils" componentdca "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/clusteragent" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/go-logr/logr" @@ -63,7 +64,7 @@ func (f *autoscalingFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp feat admission := dda.Spec.Features.AdmissionController f.admissionControllerActivated = apiutils.BoolValue(admission.Enabled) - f.serviceAccountName = v2alpha1.GetClusterAgentServiceAccount(dda) + f.serviceAccountName = constants.GetClusterAgentServiceAccount(dda) return feature.RequiredComponents{ ClusterAgent: feature.RequiredComponent{IsRequired: apiutils.NewBoolPointer(true)}, diff --git a/internal/controller/datadogagent/feature/clusterchecks/feature.go b/internal/controller/datadogagent/feature/clusterchecks/feature.go index e688aff26..fd780132e 100644 --- a/internal/controller/datadogagent/feature/clusterchecks/feature.go +++ b/internal/controller/datadogagent/feature/clusterchecks/feature.go @@ -13,6 +13,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object" cilium "github.com/DataDog/datadog-operator/pkg/cilium/v1" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" "github.com/go-logr/logr" @@ -60,7 +61,7 @@ func (f *clusterChecksFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp fe f.updateConfigHash(dda) f.owner = dda - if enabled, flavor := v2alpha1.IsNetworkPolicyEnabled(dda); enabled { + if enabled, flavor := constants.IsNetworkPolicyEnabled(dda); enabled { if flavor == v2alpha1.NetworkPolicyFlavorCilium { f.createCiliumNetworkPolicy = true } else { diff --git a/internal/controller/datadogagent/feature/clusterchecks/feature_test.go b/internal/controller/datadogagent/feature/clusterchecks/feature_test.go index adf2ecd6f..f1eaf1055 100644 --- a/internal/controller/datadogagent/feature/clusterchecks/feature_test.go +++ b/internal/controller/datadogagent/feature/clusterchecks/feature_test.go @@ -15,11 +15,11 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -41,7 +41,7 @@ func TestClusterChecksFeature(t *testing.T) { }, { Name: "cluster checks not enabled and runners not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithClusterChecksEnabled(false). WithClusterChecksUseCLCEnabled(false). Build(), @@ -50,7 +50,7 @@ func TestClusterChecksFeature(t *testing.T) { }, { Name: "cluster checks not enabled and runners enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithClusterChecksEnabled(false). WithClusterChecksUseCLCEnabled(true). Build(), @@ -59,7 +59,7 @@ func TestClusterChecksFeature(t *testing.T) { }, { Name: "cluster checks enabled and runners not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithClusterChecksEnabled(true). WithClusterChecksUseCLCEnabled(false). Build(), @@ -69,7 +69,7 @@ func TestClusterChecksFeature(t *testing.T) { }, { Name: "cluster checks enabled and runners not enabled with single container strategy", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithClusterChecksEnabled(true). WithClusterChecksUseCLCEnabled(false). WithSingleContainerStrategy(true). @@ -80,7 +80,7 @@ func TestClusterChecksFeature(t *testing.T) { }, { Name: "cluster checks enabled and runners enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithClusterChecksEnabled(true). WithClusterChecksUseCLCEnabled(true). Build(), @@ -91,7 +91,7 @@ func TestClusterChecksFeature(t *testing.T) { }, { Name: "cluster checks enabled and runners enabled with single container strategy", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithClusterChecksEnabled(true). WithClusterChecksUseCLCEnabled(true). WithSingleContainerStrategy(true). @@ -126,19 +126,19 @@ func TestClusterAgentChecksumsDifferentForDifferentConfig(t *testing.T) { }, }, }, - v2alpha1test.NewDatadogAgentBuilder(). + testutils.NewDatadogAgentBuilder(). WithClusterChecksEnabled(false). WithClusterChecksUseCLCEnabled(false). Build(), - v2alpha1test.NewDatadogAgentBuilder(). + testutils.NewDatadogAgentBuilder(). WithClusterChecksEnabled(false). WithClusterChecksUseCLCEnabled(true). Build(), - v2alpha1test.NewDatadogAgentBuilder(). + testutils.NewDatadogAgentBuilder(). WithClusterChecksEnabled(true). WithClusterChecksUseCLCEnabled(false). Build(), - v2alpha1test.NewDatadogAgentBuilder(). + testutils.NewDatadogAgentBuilder(). WithClusterChecksEnabled(true). WithClusterChecksUseCLCEnabled(true). Build(), diff --git a/internal/controller/datadogagent/feature/cspm/feature.go b/internal/controller/datadogagent/feature/cspm/feature.go index 0848231cd..e97d48fb4 100644 --- a/internal/controller/datadogagent/feature/cspm/feature.go +++ b/internal/controller/datadogagent/feature/cspm/feature.go @@ -15,6 +15,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/configmap" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/volume" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" "github.com/DataDog/datadog-operator/pkg/kubernetes" @@ -71,7 +72,7 @@ func (f *cspmFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp feature.Req if cspmConfig != nil && apiutils.BoolValue(cspmConfig.Enabled) { f.enable = true - f.serviceAccountName = v2alpha1.GetClusterAgentServiceAccount(dda) + f.serviceAccountName = constants.GetClusterAgentServiceAccount(dda) if cspmConfig.CheckInterval != nil { f.checkInterval = strconv.FormatInt(cspmConfig.CheckInterval.Nanoseconds(), 10) @@ -88,7 +89,7 @@ func (f *cspmFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp feature.Req f.customConfigAnnotationValue = hash f.customConfigAnnotationKey = object.GetChecksumAnnotationKey(feature.CSPMIDType) } - f.configMapName = v2alpha1.GetConfName(dda, f.customConfig, v2alpha1.DefaultCSPMConf) + f.configMapName = constants.GetConfName(dda, f.customConfig, v2alpha1.DefaultCSPMConf) if cspmConfig.HostBenchmarks != nil && apiutils.BoolValue(cspmConfig.HostBenchmarks.Enabled) { f.hostBenchmarksEnabled = true diff --git a/internal/controller/datadogagent/feature/cws/feature.go b/internal/controller/datadogagent/feature/cws/feature.go index aa8631069..2d05eb42f 100644 --- a/internal/controller/datadogagent/feature/cws/feature.go +++ b/internal/controller/datadogagent/feature/cws/feature.go @@ -16,6 +16,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/agent" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/configmap" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" "github.com/DataDog/datadog-operator/pkg/kubernetes" "github.com/go-logr/logr" @@ -85,7 +86,7 @@ func (f *cwsFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp feature.Requ f.customConfigAnnotationValue = hash f.customConfigAnnotationKey = object.GetChecksumAnnotationKey(feature.CWSIDType) } - f.configMapName = v2alpha1.GetConfName(dda, f.customConfig, v2alpha1.DefaultCWSConf) + f.configMapName = constants.GetConfName(dda, f.customConfig, v2alpha1.DefaultCWSConf) if cwsConfig.Network != nil { f.networkEnabled = apiutils.BoolValue(cwsConfig.Network.Enabled) diff --git a/internal/controller/datadogagent/feature/dogstatsd/feature.go b/internal/controller/datadogagent/feature/dogstatsd/feature.go index 7521270ea..cb0fd7080 100644 --- a/internal/controller/datadogagent/feature/dogstatsd/feature.go +++ b/internal/controller/datadogagent/feature/dogstatsd/feature.go @@ -21,6 +21,7 @@ import ( featureutils "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/merger" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/volume" + "github.com/DataDog/datadog-operator/pkg/constants" ) func init() { @@ -80,7 +81,7 @@ func (f *dogstatsdFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp featur if dogstatsd.TagCardinality != nil { f.tagCardinality = *dogstatsd.TagCardinality } - f.useHostNetwork = v2alpha1.IsHostNetworkEnabled(dda, v2alpha1.NodeAgentComponentName) + f.useHostNetwork = constants.IsHostNetworkEnabled(dda, v2alpha1.NodeAgentComponentName) if dogstatsd.MapperProfiles != nil { f.mapperProfiles = dogstatsd.MapperProfiles } @@ -88,7 +89,7 @@ func (f *dogstatsdFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp featur if dda.Spec.Global.LocalService != nil { f.forceEnableLocalService = apiutils.BoolValue(dda.Spec.Global.LocalService.ForceEnableLocalService) } - f.localServiceName = v2alpha1.GetLocalAgentServiceName(dda) + f.localServiceName = constants.GetLocalAgentServiceName(dda) f.adpEnabled = featureutils.HasAgentDataPlaneAnnotation(dda) diff --git a/internal/controller/datadogagent/feature/dogstatsd/feature_test.go b/internal/controller/datadogagent/feature/dogstatsd/feature_test.go index 4d39aec73..c61933c4e 100644 --- a/internal/controller/datadogagent/feature/dogstatsd/feature_test.go +++ b/internal/controller/datadogagent/feature/dogstatsd/feature_test.go @@ -11,11 +11,11 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -40,7 +40,7 @@ func Test_DogstatsdFeature_Configure(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "dogstatsd udp hostport enabled", - DDA: v2alpha1test.NewDefaultDatadogAgentBuilder(). + DDA: testutils.NewDefaultDatadogAgentBuilder(). WithDogstatsdHostPortEnabled(true).BuildWithDefaults(), WantConfigure: true, Agent: test.NewDefaultComponentTest().WithWantFunc( @@ -51,7 +51,7 @@ func Test_DogstatsdFeature_Configure(t *testing.T) { }, { Name: "udp host network", - DDA: v2alpha1test.NewDefaultDatadogAgentBuilder(). + DDA: testutils.NewDefaultDatadogAgentBuilder(). WithDogstatsdHostPortEnabled(true). WithComponentOverride(v2alpha1.NodeAgentComponentName, v2alpha1.DatadogAgentComponentOverride{ HostNetwork: apiutils.NewBoolPointer(true), @@ -88,7 +88,7 @@ func Test_DogstatsdFeature_Configure(t *testing.T) { }, { Name: "udp host network custom host port", - DDA: v2alpha1test.NewDefaultDatadogAgentBuilder(). + DDA: testutils.NewDefaultDatadogAgentBuilder(). WithDogstatsdHostPortEnabled(true). WithDogstatsdHostPortConfig(1234). WithComponentOverride(v2alpha1.NodeAgentComponentName, v2alpha1.DatadogAgentComponentOverride{ @@ -126,7 +126,7 @@ func Test_DogstatsdFeature_Configure(t *testing.T) { }, { Name: "udp custom host port", - DDA: v2alpha1test.NewDefaultDatadogAgentBuilder(). + DDA: testutils.NewDefaultDatadogAgentBuilder(). WithDogstatsdHostPortEnabled(true). WithDogstatsdHostPortConfig(1234).BuildWithDefaults(), WantConfigure: true, @@ -160,7 +160,7 @@ func Test_DogstatsdFeature_Configure(t *testing.T) { }, { Name: "udp host port enabled no custom host port", - DDA: v2alpha1test.NewDefaultDatadogAgentBuilder(). + DDA: testutils.NewDefaultDatadogAgentBuilder(). WithDogstatsdHostPortEnabled(true). BuildWithDefaults(), WantConfigure: true, @@ -194,7 +194,7 @@ func Test_DogstatsdFeature_Configure(t *testing.T) { }, { Name: "udp origin detection enabled", - DDA: v2alpha1test.NewDefaultDatadogAgentBuilder(). + DDA: testutils.NewDefaultDatadogAgentBuilder(). WithDogstatsdHostPortEnabled(true). WithDogstatsdOriginDetectionEnabled(true).BuildWithDefaults(), WantConfigure: true, @@ -207,7 +207,7 @@ func Test_DogstatsdFeature_Configure(t *testing.T) { }, { Name: "uds disabled", - DDA: v2alpha1test.NewDefaultDatadogAgentBuilder(). + DDA: testutils.NewDefaultDatadogAgentBuilder(). WithDogstatsdUnixDomainSocketConfigEnabled(false).BuildWithDefaults(), WantConfigure: true, Agent: test.NewDefaultComponentTest().WithWantFunc( @@ -218,7 +218,7 @@ func Test_DogstatsdFeature_Configure(t *testing.T) { }, { Name: "uds custom host filepath", - DDA: v2alpha1test.NewDefaultDatadogAgentBuilder(). + DDA: testutils.NewDefaultDatadogAgentBuilder(). WithDogstatsdUnixDomainSocketConfigPath(customPath).BuildWithDefaults(), WantConfigure: true, Agent: test.NewDefaultComponentTest().WithWantFunc( @@ -249,7 +249,7 @@ func Test_DogstatsdFeature_Configure(t *testing.T) { }, { Name: "uds origin detection", - DDA: v2alpha1test.NewDefaultDatadogAgentBuilder(). + DDA: testutils.NewDefaultDatadogAgentBuilder(). WithDogstatsdOriginDetectionEnabled(true).BuildWithDefaults(), WantConfigure: true, Agent: test.NewDefaultComponentTest().WithWantFunc( @@ -262,7 +262,7 @@ func Test_DogstatsdFeature_Configure(t *testing.T) { }, { Name: "mapper profiles", - DDA: v2alpha1test.NewDefaultDatadogAgentBuilder(). + DDA: testutils.NewDefaultDatadogAgentBuilder(). WithDogstatsdMapperProfiles(customMapperProfilesConf).BuildWithDefaults(), WantConfigure: true, Agent: test.NewDefaultComponentTest().WithWantFunc( @@ -279,7 +279,7 @@ func Test_DogstatsdFeature_Configure(t *testing.T) { }, { Name: "udp origin detection enabled, orchestrator tag cardinality", - DDA: v2alpha1test.NewDefaultDatadogAgentBuilder(). + DDA: testutils.NewDefaultDatadogAgentBuilder(). WithDogstatsdHostPortEnabled(true). WithDogstatsdTagCardinality("orchestrator").BuildWithDefaults(), WantConfigure: true, diff --git a/internal/controller/datadogagent/feature/enabledefault/feature.go b/internal/controller/datadogagent/feature/enabledefault/feature.go index 8532429f6..779033b3a 100644 --- a/internal/controller/datadogagent/feature/enabledefault/feature.go +++ b/internal/controller/datadogagent/feature/enabledefault/feature.go @@ -19,6 +19,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" featureutils "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" "github.com/DataDog/datadog-operator/pkg/kubernetes" "github.com/DataDog/datadog-operator/pkg/version" @@ -124,13 +125,13 @@ func (f *defaultFeature) Configure(dda *v2alpha1.DatadogAgent) feature.RequiredC trueValue := true f.owner = dda - f.clusterAgent.serviceAccountName = v2alpha1.GetClusterAgentServiceAccount(dda) - f.agent.serviceAccountName = v2alpha1.GetAgentServiceAccount(dda) - f.clusterChecksRunner.serviceAccountName = v2alpha1.GetClusterChecksRunnerServiceAccount(dda) + f.clusterAgent.serviceAccountName = constants.GetClusterAgentServiceAccount(dda) + f.agent.serviceAccountName = constants.GetAgentServiceAccount(dda) + f.clusterChecksRunner.serviceAccountName = constants.GetClusterChecksRunnerServiceAccount(dda) - f.clusterAgent.serviceAccountAnnotations = v2alpha1.GetClusterAgentServiceAccountAnnotations(dda) - f.agent.serviceAccountAnnotations = v2alpha1.GetAgentServiceAccountAnnotations(dda) - f.clusterChecksRunner.serviceAccountAnnotations = v2alpha1.GetClusterChecksRunnerServiceAccountAnnotations(dda) + f.clusterAgent.serviceAccountAnnotations = constants.GetClusterAgentServiceAccountAnnotations(dda) + f.agent.serviceAccountAnnotations = constants.GetAgentServiceAccountAnnotations(dda) + f.clusterChecksRunner.serviceAccountAnnotations = constants.GetClusterChecksRunnerServiceAccountAnnotations(dda) if dda.ObjectMeta.Annotations != nil { f.adpEnabled = featureutils.HasAgentDataPlaneAnnotation(dda) diff --git a/internal/controller/datadogagent/feature/enabledefault/feature_test.go b/internal/controller/datadogagent/feature/enabledefault/feature_test.go index f660d1cc0..091fc3b55 100644 --- a/internal/controller/datadogagent/feature/enabledefault/feature_test.go +++ b/internal/controller/datadogagent/feature/enabledefault/feature_test.go @@ -16,10 +16,10 @@ import ( corev1 "k8s.io/api/core/v1" apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" + "github.com/DataDog/datadog-operator/pkg/testutils" ) type InstallInfoData struct { @@ -71,7 +71,7 @@ func Test_defaultFeature_ManageClusterAgent(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "Manage Cluster Agent service account name env variable", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithName("datadog"). WithEventCollectionKubernetesEvents(true). Build(), diff --git a/internal/controller/datadogagent/feature/enabledefault/rbac.go b/internal/controller/datadogagent/feature/enabledefault/rbac.go index cb7872d82..0b0819f63 100644 --- a/internal/controller/datadogagent/feature/enabledefault/rbac.go +++ b/internal/controller/datadogagent/feature/enabledefault/rbac.go @@ -9,8 +9,8 @@ import ( "fmt" "strings" - "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/common" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils" "github.com/DataDog/datadog-operator/pkg/kubernetes/rbac" @@ -186,7 +186,7 @@ func getLeaderElectionPolicyRuleDCA(dda metav1.Object) []rbacv1.PolicyRule { // getCCRRbacResourcesName returns the Cluster Checks Runner RBAC resource name func getCCRRbacResourcesName(dda metav1.Object) string { - return fmt.Sprintf("%s-%s", dda.GetName(), v2alpha1.DefaultClusterChecksRunnerResourceSuffix) + return fmt.Sprintf("%s-%s", dda.GetName(), constants.DefaultClusterChecksRunnerResourceSuffix) } // getDefaultClusterChecksRunnerClusterRolePolicyRules returns the default Cluster Role Policy Rules for the Cluster Checks Runner diff --git a/internal/controller/datadogagent/feature/enabledefault/utils_test.go b/internal/controller/datadogagent/feature/enabledefault/utils_test.go index 99495cd82..e3036ec4a 100644 --- a/internal/controller/datadogagent/feature/enabledefault/utils_test.go +++ b/internal/controller/datadogagent/feature/enabledefault/utils_test.go @@ -9,7 +9,7 @@ import ( "testing" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/stretchr/testify/assert" ) @@ -36,7 +36,7 @@ func Test_getDaemonSetNameFromDatadogAgent(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - dda := v2alpha1test.NewDatadogAgentBuilder(). + dda := testutils.NewDatadogAgentBuilder(). WithName(tt.ddaName). WithComponentOverride(v2alpha1.NodeAgentComponentName, v2alpha1.DatadogAgentComponentOverride{ Name: &tt.overrideAgentName, @@ -71,7 +71,7 @@ func Test_getDeploymentNameFromDatadogAgent(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - dda := v2alpha1test.NewDatadogAgentBuilder(). + dda := testutils.NewDatadogAgentBuilder(). WithName(tt.ddaName). WithComponentOverride(v2alpha1.ClusterAgentComponentName, v2alpha1.DatadogAgentComponentOverride{ Name: &tt.overrideClusterAgentName, diff --git a/internal/controller/datadogagent/feature/eventcollection/feature.go b/internal/controller/datadogagent/feature/eventcollection/feature.go index e6c58c207..7931ffae2 100644 --- a/internal/controller/datadogagent/feature/eventcollection/feature.go +++ b/internal/controller/datadogagent/feature/eventcollection/feature.go @@ -20,6 +20,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/volume" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" "github.com/DataDog/datadog-operator/pkg/kubernetes" @@ -69,12 +70,12 @@ func (f *eventCollectionFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp // v2alpha1 configures event collection using the cluster agent only // leader election is enabled by default if dda.Spec.Features != nil && dda.Spec.Features.EventCollection != nil && apiutils.BoolValue(dda.Spec.Features.EventCollection.CollectKubernetesEvents) { - f.serviceAccountName = v2alpha1.GetClusterAgentServiceAccount(dda) + f.serviceAccountName = constants.GetClusterAgentServiceAccount(dda) f.rbacSuffix = common.ClusterAgentSuffix if apiutils.BoolValue(dda.Spec.Features.EventCollection.UnbundleEvents) { if len(dda.Spec.Features.EventCollection.CollectedEventTypes) > 0 { - f.configMapName = v2alpha1.GetConfName(dda, nil, v2alpha1.DefaultKubeAPIServerConf) + f.configMapName = constants.GetConfName(dda, nil, v2alpha1.DefaultKubeAPIServerConf) f.unbundleEvents = *dda.Spec.Features.EventCollection.UnbundleEvents f.unbundleEventTypes = dda.Spec.Features.EventCollection.CollectedEventTypes } else { diff --git a/internal/controller/datadogagent/feature/eventcollection/feature_test.go b/internal/controller/datadogagent/feature/eventcollection/feature_test.go index bbdf67eef..b5cf6aefe 100644 --- a/internal/controller/datadogagent/feature/eventcollection/feature_test.go +++ b/internal/controller/datadogagent/feature/eventcollection/feature_test.go @@ -12,13 +12,13 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/store" "github.com/DataDog/datadog-operator/pkg/kubernetes" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -28,14 +28,14 @@ func Test_eventCollectionFeature_Configure(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "Event Collection not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithEventCollectionKubernetesEvents(false). Build(), WantConfigure: false, }, { Name: "Event Collection enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithName("ddaDCA"). WithEventCollectionKubernetesEvents(true). Build(), @@ -44,7 +44,7 @@ func Test_eventCollectionFeature_Configure(t *testing.T) { }, { Name: "Unbundle event enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithName("ddaDCA"). WithEventCollectionKubernetesEvents(true). WithEventCollectionUnbundleEvents(true, []v2alpha1.EventTypes{ diff --git a/internal/controller/datadogagent/feature/externalmetrics/feature.go b/internal/controller/datadogagent/feature/externalmetrics/feature.go index 7602f10e6..d73ab8f32 100644 --- a/internal/controller/datadogagent/feature/externalmetrics/feature.go +++ b/internal/controller/datadogagent/feature/externalmetrics/feature.go @@ -17,6 +17,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/objects" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" cilium "github.com/DataDog/datadog-operator/pkg/cilium/v1" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/kubernetes/rbac" "github.com/go-logr/logr" @@ -122,9 +123,9 @@ func (f *externalMetricsFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp } } - f.serviceAccountName = v2alpha1.GetClusterAgentServiceAccount(dda) + f.serviceAccountName = constants.GetClusterAgentServiceAccount(dda) - if enabled, flavor := v2alpha1.IsNetworkPolicyEnabled(dda); enabled { + if enabled, flavor := constants.IsNetworkPolicyEnabled(dda); enabled { if flavor == v2alpha1.NetworkPolicyFlavorCilium { f.createCiliumNetworkPolicy = true } else { @@ -154,7 +155,7 @@ func (f *externalMetricsFeature) ManageDependencies(managers feature.ResourceMan } selector := map[string]string{ apicommon.AgentDeploymentNameLabelKey: f.owner.GetName(), - apicommon.AgentDeploymentComponentLabelKey: v2alpha1.DefaultClusterAgentResourceSuffix, + apicommon.AgentDeploymentComponentLabelKey: constants.DefaultClusterAgentResourceSuffix, } serviceName := componentdca.GetMetricsServerServiceName(f.owner) if err := managers.ServiceManager().AddService(serviceName, ns, selector, emPorts, nil); err != nil { diff --git a/internal/controller/datadogagent/feature/helmcheck/feature.go b/internal/controller/datadogagent/feature/helmcheck/feature.go index 047fb8e34..6706a36dd 100644 --- a/internal/controller/datadogagent/feature/helmcheck/feature.go +++ b/internal/controller/datadogagent/feature/helmcheck/feature.go @@ -19,6 +19,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/volume" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" "github.com/DataDog/datadog-operator/pkg/kubernetes" ) @@ -75,12 +76,12 @@ func (f *helmCheckFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp featur f.configMapName = fmt.Sprintf("%s-%s", f.owner.GetName(), v2alpha1.DefaultHelmCheckConf) f.collectEvents = apiutils.BoolValue(helmCheck.CollectEvents) f.valuesAsTags = helmCheck.ValuesAsTags - f.serviceAccountName = v2alpha1.GetClusterAgentServiceAccount(dda) + f.serviceAccountName = constants.GetClusterAgentServiceAccount(dda) - if v2alpha1.IsClusterChecksEnabled(dda) && v2alpha1.IsCCREnabled(dda) { + if constants.IsClusterChecksEnabled(dda) && constants.IsCCREnabled(dda) { f.runInClusterChecksRunner = true f.rbacSuffix = common.ChecksRunnerSuffix - f.serviceAccountName = v2alpha1.GetClusterChecksRunnerServiceAccount(dda) + f.serviceAccountName = constants.GetClusterChecksRunnerServiceAccount(dda) reqComp.ClusterChecksRunner.IsRequired = apiutils.NewBoolPointer(true) } diff --git a/internal/controller/datadogagent/feature/helmcheck/feature_test.go b/internal/controller/datadogagent/feature/helmcheck/feature_test.go index a0f39abb5..093514854 100644 --- a/internal/controller/datadogagent/feature/helmcheck/feature_test.go +++ b/internal/controller/datadogagent/feature/helmcheck/feature_test.go @@ -18,7 +18,6 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" @@ -27,6 +26,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/store" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" "github.com/DataDog/datadog-operator/pkg/kubernetes" + "github.com/DataDog/datadog-operator/pkg/testutils" ) const resourcesName = "foo" @@ -38,14 +38,14 @@ func Test_helmCheckFeature_Configure(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "Helm check disabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithHelmCheckEnabled(false). Build(), WantConfigure: false, }, { Name: "Helm check enabled", - DDA: v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + DDA: testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithHelmCheckEnabled(true). WithHelmCheckCollectEvents(true). WithHelmCheckValuesAsTags(valuesAsTags). @@ -56,7 +56,7 @@ func Test_helmCheckFeature_Configure(t *testing.T) { }, { Name: "Helm check enabled and runs on cluster checks runner", - DDA: v2alpha1test.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). + DDA: testutils.NewInitializedDatadogAgentBuilder(resourcesNamespace, resourcesName). WithHelmCheckEnabled(true). WithHelmCheckCollectEvents(true). WithHelmCheckValuesAsTags(valuesAsTags). diff --git a/internal/controller/datadogagent/feature/kubernetesstatecore/feature.go b/internal/controller/datadogagent/feature/kubernetesstatecore/feature.go index 855be7e9e..fc39c1001 100644 --- a/internal/controller/datadogagent/feature/kubernetesstatecore/feature.go +++ b/internal/controller/datadogagent/feature/kubernetesstatecore/feature.go @@ -16,6 +16,7 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" apiutils "github.com/DataDog/datadog-operator/api/utils" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" "github.com/DataDog/datadog-operator/pkg/kubernetes" "github.com/DataDog/datadog-operator/pkg/utils" @@ -83,13 +84,13 @@ func (f *ksmFeature) Configure(dda *v2alpha1.DatadogAgent) feature.RequiredCompo f.collectAPIServiceMetrics = true f.collectCRDMetrics = true - f.serviceAccountName = v2alpha1.GetClusterAgentServiceAccount(dda) + f.serviceAccountName = constants.GetClusterAgentServiceAccount(dda) // This check will only run in the Cluster Checks Runners or Cluster Agent (not the Node Agent) if dda.Spec.Features.ClusterChecks != nil && apiutils.BoolValue(dda.Spec.Features.ClusterChecks.Enabled) && apiutils.BoolValue(dda.Spec.Features.ClusterChecks.UseClusterChecksRunners) { f.runInClusterChecksRunner = true f.rbacSuffix = common.ChecksRunnerSuffix - f.serviceAccountName = v2alpha1.GetClusterChecksRunnerServiceAccount(dda) + f.serviceAccountName = constants.GetClusterChecksRunnerServiceAccount(dda) output.ClusterChecksRunner.IsRequired = apiutils.NewBoolPointer(true) if ccrOverride, ok := dda.Spec.Override[v2alpha1.ClusterChecksRunnerComponentName]; ok { @@ -119,7 +120,7 @@ func (f *ksmFeature) Configure(dda *v2alpha1.DatadogAgent) feature.RequiredCompo f.customConfigAnnotationKey = object.GetChecksumAnnotationKey(feature.KubernetesStateCoreIDType) } - f.configConfigMapName = v2alpha1.GetConfName(dda, f.customConfig, v2alpha1.DefaultKubeStateMetricsCoreConf) + f.configConfigMapName = constants.GetConfName(dda, f.customConfig, v2alpha1.DefaultKubeStateMetricsCoreConf) } return output diff --git a/internal/controller/datadogagent/feature/kubernetesstatecore/feature_test.go b/internal/controller/datadogagent/feature/kubernetesstatecore/feature_test.go index 83f9e0137..6e07188f2 100644 --- a/internal/controller/datadogagent/feature/kubernetesstatecore/feature_test.go +++ b/internal/controller/datadogagent/feature/kubernetesstatecore/feature_test.go @@ -11,13 +11,13 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" mergerfake "github.com/DataDog/datadog-operator/internal/controller/datadogagent/merger/fake" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -36,14 +36,14 @@ func Test_ksmFeature_Configure(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "ksm-core not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithKSMEnabled(false). Build(), WantConfigure: false, }, { Name: "ksm-core not enabled with single agent container", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithKSMEnabled(false). WithSingleContainerStrategy(true). Build(), @@ -51,7 +51,7 @@ func Test_ksmFeature_Configure(t *testing.T) { }, { Name: "ksm-core enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithKSMEnabled(true). Build(), WantConfigure: true, @@ -60,7 +60,7 @@ func Test_ksmFeature_Configure(t *testing.T) { }, { Name: "ksm-core enabled with single agent container", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithKSMEnabled(true). WithSingleContainerStrategy(true). Build(), @@ -70,7 +70,7 @@ func Test_ksmFeature_Configure(t *testing.T) { }, { Name: "ksm-core enabled, custom config", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithKSMEnabled(true). WithKSMCustomConf(customData). Build(), @@ -80,7 +80,7 @@ func Test_ksmFeature_Configure(t *testing.T) { }, { Name: "ksm-core enabled, custom config with single agent container", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithKSMEnabled(true). WithKSMCustomConf(customData). WithSingleContainerStrategy(true). diff --git a/internal/controller/datadogagent/feature/livecontainer/feature_test.go b/internal/controller/datadogagent/feature/livecontainer/feature_test.go index 6eb8d89b7..5a0f8aa4c 100644 --- a/internal/controller/datadogagent/feature/livecontainer/feature_test.go +++ b/internal/controller/datadogagent/feature/livecontainer/feature_test.go @@ -10,12 +10,12 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" "github.com/DataDog/datadog-operator/api/utils" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -26,7 +26,7 @@ func TestLiveContainerFeature(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "live container collection enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveContainerCollectionEnabled(true). Build(), WantConfigure: true, @@ -34,7 +34,7 @@ func TestLiveContainerFeature(t *testing.T) { }, { Name: "live container collection enabled with single container", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveContainerCollectionEnabled(true). WithSingleContainerStrategy(true). Build(), @@ -43,7 +43,7 @@ func TestLiveContainerFeature(t *testing.T) { }, { Name: "live container collection enabled on core agent via env var", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveContainerCollectionEnabled(true). WithComponentOverride( v2alpha1.NodeAgentComponentName, @@ -58,7 +58,7 @@ func TestLiveContainerFeature(t *testing.T) { }, { Name: "live container collection enabled on core agent via spec", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveContainerCollectionEnabled(true). WithComponentOverride( v2alpha1.NodeAgentComponentName, @@ -73,7 +73,7 @@ func TestLiveContainerFeature(t *testing.T) { }, { Name: "live container collection enabled in core agent via spec without min version", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveContainerCollectionEnabled(true). WithComponentOverride( v2alpha1.NodeAgentComponentName, @@ -88,7 +88,7 @@ func TestLiveContainerFeature(t *testing.T) { }, { Name: "live container collection disabled on core agent via env var override", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveContainerCollectionEnabled(true). WithComponentOverride( v2alpha1.NodeAgentComponentName, diff --git a/internal/controller/datadogagent/feature/liveprocess/feature_test.go b/internal/controller/datadogagent/feature/liveprocess/feature_test.go index 8b7efe81b..4553c84fd 100644 --- a/internal/controller/datadogagent/feature/liveprocess/feature_test.go +++ b/internal/controller/datadogagent/feature/liveprocess/feature_test.go @@ -10,12 +10,12 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" "github.com/DataDog/datadog-operator/api/utils" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -26,14 +26,14 @@ func Test_liveProcessFeature_Configure(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "live process collection not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveProcessEnabled(false). Build(), WantConfigure: false, }, { Name: "live process collection enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveProcessEnabled(true). Build(), WantConfigure: true, @@ -41,7 +41,7 @@ func Test_liveProcessFeature_Configure(t *testing.T) { }, { Name: "live process collection enabled with scrub and strip args", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveProcessEnabled(true). WithLiveProcessScrubStrip(true, true). Build(), @@ -50,7 +50,7 @@ func Test_liveProcessFeature_Configure(t *testing.T) { }, { Name: "live process collection enabled in core agent via env vars", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveProcessEnabled(true). WithComponentOverride( v2alpha1.NodeAgentComponentName, @@ -65,7 +65,7 @@ func Test_liveProcessFeature_Configure(t *testing.T) { }, { Name: "live process collection enabled in core agent via spec", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveProcessEnabled(true). WithComponentOverride( v2alpha1.NodeAgentComponentName, @@ -80,7 +80,7 @@ func Test_liveProcessFeature_Configure(t *testing.T) { }, { Name: "live process collection enabled in core agent via spec without min version", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveProcessEnabled(true). WithComponentOverride( v2alpha1.NodeAgentComponentName, @@ -95,7 +95,7 @@ func Test_liveProcessFeature_Configure(t *testing.T) { }, { Name: "live process collection disabled in core agent via env var override", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveProcessEnabled(true). WithComponentOverride( v2alpha1.NodeAgentComponentName, @@ -111,7 +111,7 @@ func Test_liveProcessFeature_Configure(t *testing.T) { }, { Name: "live process collection enabled on single container", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLiveProcessEnabled(true). WithSingleContainerStrategy(true). Build(), diff --git a/internal/controller/datadogagent/feature/logcollection/feature_test.go b/internal/controller/datadogagent/feature/logcollection/feature_test.go index ed2dd1267..76caa7024 100644 --- a/internal/controller/datadogagent/feature/logcollection/feature_test.go +++ b/internal/controller/datadogagent/feature/logcollection/feature_test.go @@ -10,11 +10,11 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -25,14 +25,14 @@ func Test_LogCollectionFeature_Configure(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "log collection not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLogCollectionEnabled(false). BuildWithDefaults(), WantConfigure: false, }, { Name: "log collection enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLogCollectionEnabled(true). BuildWithDefaults(), WantConfigure: true, @@ -45,7 +45,7 @@ func Test_LogCollectionFeature_Configure(t *testing.T) { }, { Name: "container collect all enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLogCollectionEnabled(true). WithLogCollectionCollectAll(true). BuildWithDefaults(), @@ -59,7 +59,7 @@ func Test_LogCollectionFeature_Configure(t *testing.T) { }, { Name: "container collect using files disabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLogCollectionEnabled(true). WithLogCollectionCollectAll(true). WithLogCollectionLogCollectionUsingFiles(false). @@ -74,7 +74,7 @@ func Test_LogCollectionFeature_Configure(t *testing.T) { }, { Name: "open files limit set to custom value", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLogCollectionEnabled(true). WithLogCollectionOpenFilesLimit(250). BuildWithDefaults(), @@ -92,7 +92,7 @@ func Test_LogCollectionFeature_Configure(t *testing.T) { }, { Name: "custom volumes", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithLogCollectionEnabled(true). WithLogCollectionPaths("/custom/pod/logs", "/custom/container/logs", "/custom/symlink", "/custom/temp/storage"). BuildWithDefaults(), diff --git a/internal/controller/datadogagent/feature/orchestratorexplorer/feature.go b/internal/controller/datadogagent/feature/orchestratorexplorer/feature.go index e0fd74cbb..5eabba5ec 100644 --- a/internal/controller/datadogagent/feature/orchestratorexplorer/feature.go +++ b/internal/controller/datadogagent/feature/orchestratorexplorer/feature.go @@ -13,6 +13,7 @@ import ( "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" apiutils "github.com/DataDog/datadog-operator/api/utils" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" "github.com/DataDog/datadog-operator/pkg/kubernetes" "github.com/DataDog/datadog-operator/pkg/utils" @@ -112,19 +113,19 @@ func (f *orchestratorExplorerFeature) Configure(dda *v2alpha1.DatadogAgent) (req } f.customResources = dda.Spec.Features.OrchestratorExplorer.CustomResources - f.configConfigMapName = v2alpha1.GetConfName(dda, f.customConfig, v2alpha1.DefaultOrchestratorExplorerConf) + f.configConfigMapName = constants.GetConfName(dda, f.customConfig, v2alpha1.DefaultOrchestratorExplorerConf) f.scrubContainers = apiutils.BoolValue(orchestratorExplorer.ScrubContainers) f.extraTags = orchestratorExplorer.ExtraTags if orchestratorExplorer.DDUrl != nil { f.ddURL = *orchestratorExplorer.DDUrl } - f.serviceAccountName = v2alpha1.GetClusterAgentServiceAccount(dda) + f.serviceAccountName = constants.GetClusterAgentServiceAccount(dda) - if v2alpha1.IsClusterChecksEnabled(dda) { - if v2alpha1.IsCCREnabled(dda) { + if constants.IsClusterChecksEnabled(dda) { + if constants.IsCCREnabled(dda) { f.runInClusterChecksRunner = true f.rbacSuffix = common.ChecksRunnerSuffix - f.serviceAccountName = v2alpha1.GetClusterChecksRunnerServiceAccount(dda) + f.serviceAccountName = constants.GetClusterChecksRunnerServiceAccount(dda) reqComp.ClusterChecksRunner.IsRequired = apiutils.NewBoolPointer(true) } } diff --git a/internal/controller/datadogagent/feature/orchestratorexplorer/feature_test.go b/internal/controller/datadogagent/feature/orchestratorexplorer/feature_test.go index f580951a2..a822abdf4 100644 --- a/internal/controller/datadogagent/feature/orchestratorexplorer/feature_test.go +++ b/internal/controller/datadogagent/feature/orchestratorexplorer/feature_test.go @@ -11,13 +11,13 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" mergerfake "github.com/DataDog/datadog-operator/internal/controller/datadogagent/merger/fake" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -54,14 +54,14 @@ func Test_orchestratorExplorerFeature_Configure(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "orchestrator explorer not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOrchestratorExplorerEnabled(false). Build(), WantConfigure: false, }, { Name: "orchestrator explorer enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOrchestratorExplorerEnabled(true). WithOrchestratorExplorerScrubContainers(true). WithOrchestratorExplorerExtraTags([]string{"a:z", "b:y", "c:x"}). @@ -75,7 +75,7 @@ func Test_orchestratorExplorerFeature_Configure(t *testing.T) { }, { Name: "orchestrator explorer enabled and runs on cluster checks runner", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOrchestratorExplorerEnabled(true). WithOrchestratorExplorerScrubContainers(true). WithOrchestratorExplorerExtraTags([]string{"a:z", "b:y", "c:x"}). @@ -92,7 +92,7 @@ func Test_orchestratorExplorerFeature_Configure(t *testing.T) { }, { Name: "orchestrator explorer enabled on version requiring process agent", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOrchestratorExplorerEnabled(true). WithOrchestratorExplorerScrubContainers(true). WithOrchestratorExplorerExtraTags([]string{"a:z", "b:y", "c:x"}). diff --git a/internal/controller/datadogagent/feature/otelcollector/configmap_test.go b/internal/controller/datadogagent/feature/otelcollector/configmap_test.go index 3115aadcb..2a5c46aad 100644 --- a/internal/controller/datadogagent/feature/otelcollector/configmap_test.go +++ b/internal/controller/datadogagent/feature/otelcollector/configmap_test.go @@ -20,7 +20,7 @@ func Test_buildOtelCollectorConfigMap(t *testing.T) { // check config map configMapWant := &corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: "-otel-agent-config", + Name: "-otel-agent-config", }, Data: map[string]string{ "otel-config.yaml": defaultconfig.DefaultOtelCollectorConfig, @@ -31,7 +31,7 @@ func Test_buildOtelCollectorConfigMap(t *testing.T) { assert.True(t, ok) otelCollectorFeature.owner = &metav1.ObjectMeta{ - Name: "-otel-agent-config", + Name: "-otel-agent-config", } otelCollectorFeature.configMapName = "-otel-agent-config" otelCollectorFeature.customConfig = &v2alpha1.CustomConfig{} diff --git a/internal/controller/datadogagent/feature/otelcollector/feature.go b/internal/controller/datadogagent/feature/otelcollector/feature.go index 8c091d963..69083073d 100644 --- a/internal/controller/datadogagent/feature/otelcollector/feature.go +++ b/internal/controller/datadogagent/feature/otelcollector/feature.go @@ -11,6 +11,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/otelcollector/defaultconfig" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/configmap" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/volume" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/kubernetes" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -55,7 +56,7 @@ func (o *otelCollectorFeature) Configure(dda *v2alpha1.DatadogAgent) feature.Req if dda.Spec.Features.OtelCollector.Conf != nil { o.customConfig = dda.Spec.Features.OtelCollector.Conf } - o.configMapName = v2alpha1.GetConfName(dda, o.customConfig, v2alpha1.DefaultOTelAgentConf) + o.configMapName = constants.GetConfName(dda, o.customConfig, v2alpha1.DefaultOTelAgentConf) if dda.Spec.Features.OtelCollector.CoreConfig != nil { o.coreAgentConfig.enabled = dda.Spec.Features.OtelCollector.CoreConfig.Enabled diff --git a/internal/controller/datadogagent/feature/otelcollector/feature_test.go b/internal/controller/datadogagent/feature/otelcollector/feature_test.go index 93843b2e6..5f8c39d62 100644 --- a/internal/controller/datadogagent/feature/otelcollector/feature_test.go +++ b/internal/controller/datadogagent/feature/otelcollector/feature_test.go @@ -6,7 +6,6 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" @@ -14,6 +13,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/store" "github.com/DataDog/datadog-operator/pkg/kubernetes" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -57,14 +57,14 @@ func Test_otelCollectorFeature_Configure(t *testing.T) { // disabled { Name: "otel agent disabled without config", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOTelCollectorEnabled(false). Build(), WantConfigure: false, }, { Name: "otel agent disabled with config", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOTelCollectorEnabled(false). WithOTelCollectorConfig(). Build(), @@ -73,7 +73,7 @@ func Test_otelCollectorFeature_Configure(t *testing.T) { // enabled { Name: "otel agent enabled with config", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOTelCollectorEnabled(true). WithOTelCollectorConfig(). Build(), @@ -83,7 +83,7 @@ func Test_otelCollectorFeature_Configure(t *testing.T) { }, { Name: "otel agent enabled with configMap", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOTelCollectorEnabled(true). WithOTelCollectorConfigMap(). Build(), @@ -93,7 +93,7 @@ func Test_otelCollectorFeature_Configure(t *testing.T) { }, { Name: "otel agent enabled without config", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOTelCollectorEnabled(true). Build(), WantConfigure: true, @@ -102,7 +102,7 @@ func Test_otelCollectorFeature_Configure(t *testing.T) { }, { Name: "otel agent enabled without config non default ports", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOTelCollectorEnabled(true). WithOTelCollectorPorts(4444, 5555). Build(), @@ -119,7 +119,7 @@ func Test_otelCollectorFeature_Configure(t *testing.T) { // coreconfig { Name: "otel agent coreconfig enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOTelCollectorEnabled(true). WithOTelCollectorCoreConfigEnabled(true). Build(), @@ -129,7 +129,7 @@ func Test_otelCollectorFeature_Configure(t *testing.T) { }, { Name: "otel agent coreconfig disabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOTelCollectorEnabled(true). WithOTelCollectorCoreConfigEnabled(false). Build(), @@ -139,7 +139,7 @@ func Test_otelCollectorFeature_Configure(t *testing.T) { }, { Name: "otel agent coreconfig extensionTimeout", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOTelCollectorEnabled(true). WithOTelCollectorCoreConfigEnabled(false). WithOTelCollectorCoreConfigExtensionTimeout(13). @@ -155,7 +155,7 @@ func Test_otelCollectorFeature_Configure(t *testing.T) { }, { Name: "otel agent coreconfig extensionURL", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOTelCollectorEnabled(true). WithOTelCollectorCoreConfigEnabled(false). WithOTelCollectorCoreConfigExtensionURL("https://localhost:1234"). @@ -171,7 +171,7 @@ func Test_otelCollectorFeature_Configure(t *testing.T) { }, { Name: "otel agent coreconfig all env vars", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithOTelCollectorEnabled(true). WithOTelCollectorCoreConfigEnabled(true). WithOTelCollectorCoreConfigExtensionTimeout(13). diff --git a/internal/controller/datadogagent/feature/otlp/feature.go b/internal/controller/datadogagent/feature/otlp/feature.go index 9512f0aef..266b66464 100644 --- a/internal/controller/datadogagent/feature/otlp/feature.go +++ b/internal/controller/datadogagent/feature/otlp/feature.go @@ -19,6 +19,7 @@ import ( "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/pkg/cilium/v1" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/go-logr/logr" apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" @@ -111,7 +112,7 @@ func (f *otlpFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp feature.Req if dda.Spec.Global.LocalService != nil { f.forceEnableLocalService = apiutils.BoolValue(dda.Spec.Global.LocalService.ForceEnableLocalService) } - f.localServiceName = v2alpha1.GetLocalAgentServiceName(dda) + f.localServiceName = constants.GetLocalAgentServiceName(dda) if f.grpcEnabled || f.httpEnabled { reqComp = feature.RequiredComponents{ @@ -128,7 +129,7 @@ func (f *otlpFeature) Configure(dda *v2alpha1.DatadogAgent) (reqComp feature.Req } } if f.grpcEnabled || f.httpEnabled { - if enabled, flavor := v2alpha1.IsNetworkPolicyEnabled(dda); enabled { + if enabled, flavor := constants.IsNetworkPolicyEnabled(dda); enabled { if flavor == v2alpha1.NetworkPolicyFlavorCilium { f.createCiliumNetworkPolicy = true } else { diff --git a/internal/controller/datadogagent/feature/otlp/feature_test.go b/internal/controller/datadogagent/feature/otlp/feature_test.go index 1a5bcc549..7ef81d9bf 100644 --- a/internal/controller/datadogagent/feature/otlp/feature_test.go +++ b/internal/controller/datadogagent/feature/otlp/feature_test.go @@ -10,11 +10,11 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -392,7 +392,7 @@ type Settings struct { } func newAgent(set Settings) *v2alpha1.DatadogAgent { - return v2alpha1test.NewDatadogAgentBuilder(). + return testutils.NewDatadogAgentBuilder(). WithOTLPGRPCSettings(set.EnabledGRPC, set.EnabledGRPCHostPort, set.CustomGRPCHostPort, set.EndpointGRPC). WithOTLPHTTPSettings(set.EnabledHTTP, set.EnabledHTTPHostPort, set.CustomHTTPHostPort, set.EndpointHTTP). WithAPMEnabled(set.APM). @@ -400,7 +400,7 @@ func newAgent(set Settings) *v2alpha1.DatadogAgent { } func newAgentSingleContainer(set Settings) *v2alpha1.DatadogAgent { - return v2alpha1test.NewDatadogAgentBuilder(). + return testutils.NewDatadogAgentBuilder(). WithOTLPGRPCSettings(set.EnabledGRPC, set.EnabledGRPCHostPort, set.CustomGRPCHostPort, set.EndpointGRPC). WithOTLPHTTPSettings(set.EnabledHTTP, set.EnabledHTTPHostPort, set.CustomHTTPHostPort, set.EndpointHTTP). WithAPMEnabled(set.APM). diff --git a/internal/controller/datadogagent/feature/processdiscovery/feature_test.go b/internal/controller/datadogagent/feature/processdiscovery/feature_test.go index 5a9bcbca7..6217bd29b 100644 --- a/internal/controller/datadogagent/feature/processdiscovery/feature_test.go +++ b/internal/controller/datadogagent/feature/processdiscovery/feature_test.go @@ -10,12 +10,12 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" "github.com/DataDog/datadog-operator/api/utils" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -26,7 +26,7 @@ func Test_processDiscoveryFeature_Configure(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "process discovery enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithProcessDiscoveryEnabled(true). Build(), WantConfigure: true, @@ -34,21 +34,21 @@ func Test_processDiscoveryFeature_Configure(t *testing.T) { }, { Name: "process discovery disabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithProcessDiscoveryEnabled(false). Build(), WantConfigure: false, }, { Name: "process discovery config missing", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). Build(), WantConfigure: true, Agent: testExpectedAgent(apicommon.ProcessAgentContainerName, false), }, { Name: "process discovery enabled in core agent via env vars", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithProcessDiscoveryEnabled(true). WithComponentOverride( v2alpha1.NodeAgentComponentName, @@ -63,7 +63,7 @@ func Test_processDiscoveryFeature_Configure(t *testing.T) { }, { Name: "process discovery enabled in core agent via spec", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithProcessDiscoveryEnabled(true). WithComponentOverride( v2alpha1.NodeAgentComponentName, @@ -78,7 +78,7 @@ func Test_processDiscoveryFeature_Configure(t *testing.T) { }, { Name: "process discovery enabled in core agent via spec without min version", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithProcessDiscoveryEnabled(true). WithComponentOverride( v2alpha1.NodeAgentComponentName, @@ -93,7 +93,7 @@ func Test_processDiscoveryFeature_Configure(t *testing.T) { }, { Name: "process discovery disabled in core agent via env var override", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithProcessDiscoveryEnabled(true). WithComponentOverride( v2alpha1.NodeAgentComponentName, @@ -109,7 +109,7 @@ func Test_processDiscoveryFeature_Configure(t *testing.T) { }, { Name: "process discovery enabled on single container", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithProcessDiscoveryEnabled(true). WithSingleContainerStrategy(true). Build(), diff --git a/internal/controller/datadogagent/feature/prometheusscrape/feature_test.go b/internal/controller/datadogagent/feature/prometheusscrape/feature_test.go index b7e309fc8..694ba7411 100644 --- a/internal/controller/datadogagent/feature/prometheusscrape/feature_test.go +++ b/internal/controller/datadogagent/feature/prometheusscrape/feature_test.go @@ -9,11 +9,11 @@ import ( "testing" apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -39,14 +39,14 @@ func Test_prometheusScrapeFeature_Configure(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "Prometheus scrape not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithPrometheusScrapeEnabled(false). Build(), WantConfigure: false, }, { Name: "Prometheus scrape enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithPrometheusScrapeEnabled(true). Build(), WantConfigure: true, @@ -83,7 +83,7 @@ func Test_prometheusScrapeFeature_Configure(t *testing.T) { }, { Name: "Prometheus scrape service endpoints enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithPrometheusScrapeEnabled(true). WithPrometheusScrapeServiceEndpoints(true). Build(), @@ -121,7 +121,7 @@ func Test_prometheusScrapeFeature_Configure(t *testing.T) { }, { Name: "Prometheus scrape additional configs", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithPrometheusScrapeEnabled(true). WithPrometheusScrapeAdditionalConfigs(yamlConfigs). Build(), @@ -167,7 +167,7 @@ func Test_prometheusScrapeFeature_Configure(t *testing.T) { }, { Name: "version specified", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithPrometheusScrapeEnabled(true). WithPrometheusScrapeVersion(1). Build(), diff --git a/internal/controller/datadogagent/feature/remoteconfig/feature_test.go b/internal/controller/datadogagent/feature/remoteconfig/feature_test.go index 4b0aac129..9f199aacb 100644 --- a/internal/controller/datadogagent/feature/remoteconfig/feature_test.go +++ b/internal/controller/datadogagent/feature/remoteconfig/feature_test.go @@ -11,11 +11,11 @@ import ( corev1 "k8s.io/api/core/v1" apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/test" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -25,7 +25,7 @@ func Test_rcFeature_Configure(t *testing.T) { tests := test.FeatureTestSuite{ { Name: "RC not enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithRemoteConfigEnabled(false). Build(), WantConfigure: true, @@ -34,7 +34,7 @@ func Test_rcFeature_Configure(t *testing.T) { }, { Name: "RC enabled", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). WithRemoteConfigEnabled(true). Build(), WantConfigure: true, @@ -43,7 +43,7 @@ func Test_rcFeature_Configure(t *testing.T) { }, { Name: "RC default (no datadogagent_default.go)", - DDA: v2alpha1test.NewDatadogAgentBuilder(). + DDA: testutils.NewDatadogAgentBuilder(). Build(), WantConfigure: true, Agent: rcAgentNodeWantFunc(false), diff --git a/internal/controller/datadogagent/feature/test/factory_test.go b/internal/controller/datadogagent/feature/test/factory_test.go index 0fd469644..8d0491d17 100644 --- a/internal/controller/datadogagent/feature/test/factory_test.go +++ b/internal/controller/datadogagent/feature/test/factory_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DataDog/datadog-operator/api/datadoghq/common" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/stretchr/testify/assert" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" @@ -30,7 +30,7 @@ func TestBuilder(t *testing.T) { // This test relies on the fact that by default Live Container feature is enabled // in the default settings which enables process agent. name: "Default DDA, Core and Process agent enabled", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). BuildWithDefaults(), wantAgentContainer: map[common.AgentContainerName]bool{ common.UnprivilegedSingleAgentContainerName: false, @@ -45,7 +45,7 @@ func TestBuilder(t *testing.T) { }, { name: "Default DDA with single container strategy, 1 single container", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithSingleContainerStrategy(true). BuildWithDefaults(), wantAgentContainer: map[common.AgentContainerName]bool{ @@ -61,7 +61,7 @@ func TestBuilder(t *testing.T) { }, { name: "APM enabled, 3 agents", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). BuildWithDefaults(), wantAgentContainer: map[common.AgentContainerName]bool{ @@ -77,7 +77,7 @@ func TestBuilder(t *testing.T) { }, { name: "APM enabled with single container strategy, 1 single container", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithSingleContainerStrategy(true). WithAPMEnabled(true). BuildWithDefaults(), @@ -94,7 +94,7 @@ func TestBuilder(t *testing.T) { }, { name: "APM, NPM enabled, 4 agents", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithNPMEnabled(true). BuildWithDefaults(), @@ -111,7 +111,7 @@ func TestBuilder(t *testing.T) { }, { name: "APM, NPM enabled with single container strategy, 4 agents", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithSingleContainerStrategy(true). WithAPMEnabled(true). WithNPMEnabled(true). @@ -129,7 +129,7 @@ func TestBuilder(t *testing.T) { }, { name: "APM, NPM, CSPM enabled, 5 agents", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithAPMEnabled(true). WithNPMEnabled(true). WithCSPMEnabled(true). @@ -147,7 +147,7 @@ func TestBuilder(t *testing.T) { }, { name: "APM, NPM, CSPM enabled with single container strategy, 5 agents", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithSingleContainerStrategy(true). WithAPMEnabled(true). WithNPMEnabled(true). @@ -166,7 +166,7 @@ func TestBuilder(t *testing.T) { }, { name: "Default DDA, default feature Option, otel-agent-enabled annotation true", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithAnnotations(map[string]string{"agent.datadoghq.com/otel-agent-enabled": "true"}). BuildWithDefaults(), wantAgentContainer: map[common.AgentContainerName]bool{ @@ -182,7 +182,7 @@ func TestBuilder(t *testing.T) { }, { name: "Default DDA, default feature Option, otel-agent-enabled annotation false", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithAnnotations(map[string]string{"agent.datadoghq.com/otel-agent-enabled": "false"}). BuildWithDefaults(), wantAgentContainer: map[common.AgentContainerName]bool{ @@ -198,7 +198,7 @@ func TestBuilder(t *testing.T) { }, { name: "Default DDA, no otel annotation, Operator option enabled", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithAnnotations(map[string]string{"agent.datadoghq.com/otel-agent-enabled": "false"}). BuildWithDefaults(), wantAgentContainer: map[common.AgentContainerName]bool{ @@ -214,7 +214,7 @@ func TestBuilder(t *testing.T) { }, { name: "Default DDA, otel annotation false, otel collector feature enabled", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithAnnotations(map[string]string{"agent.datadoghq.com/otel-agent-enabled": "false"}). WithOTelCollectorEnabled(true). BuildWithDefaults(), @@ -231,7 +231,7 @@ func TestBuilder(t *testing.T) { }, { name: "Default DDA, otel annotation true, otel collector feature disabled", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithAnnotations(map[string]string{"agent.datadoghq.com/otel-agent-enabled": "true"}). WithOTelCollectorEnabled(false). BuildWithDefaults(), @@ -248,7 +248,7 @@ func TestBuilder(t *testing.T) { }, { name: "Default DDA, otel annotation true, otel collector feature enabled", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithAnnotations(map[string]string{"agent.datadoghq.com/otel-agent-enabled": "true"}). WithOTelCollectorEnabled(true). BuildWithDefaults(), @@ -265,7 +265,7 @@ func TestBuilder(t *testing.T) { }, { name: "Default DDA, default feature Option, adp-enabled annotation true", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithAnnotations(map[string]string{"agent.datadoghq.com/adp-enabled": "true"}). BuildWithDefaults(), wantAgentContainer: map[common.AgentContainerName]bool{ @@ -281,7 +281,7 @@ func TestBuilder(t *testing.T) { }, { name: "Default DDA, default feature Option, adp-enabled annotation false", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithAnnotations(map[string]string{"agent.datadoghq.com/adp-enabled": "false"}). BuildWithDefaults(), wantAgentContainer: map[common.AgentContainerName]bool{ diff --git a/internal/controller/datadogagent/finalizer.go b/internal/controller/datadogagent/finalizer.go index 4b5e39370..68ed87682 100644 --- a/internal/controller/datadogagent/finalizer.go +++ b/internal/controller/datadogagent/finalizer.go @@ -10,6 +10,7 @@ import ( "fmt" datadoghqv2alpha1 "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" + "github.com/DataDog/datadog-operator/internal/controller/datadogagent/defaults" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/override" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/store" @@ -68,7 +69,7 @@ func (r *Reconciler) finalizeDadV2(reqLogger logr.Logger, obj client.Object) err // We need to apply the defaults to be able to delete the resources // associated with those defaults. dda := obj.(*datadoghqv2alpha1.DatadogAgent).DeepCopy() - datadoghqv2alpha1.DefaultDatadogAgent(dda) + defaults.DefaultDatadogAgent(dda) if r.options.OperatorMetricsEnabled { r.forwarders.Unregister(dda) diff --git a/internal/controller/datadogagent/override/container.go b/internal/controller/datadogagent/override/container.go index 8a7d91e55..93b35ad7d 100644 --- a/internal/controller/datadogagent/override/container.go +++ b/internal/controller/datadogagent/override/container.go @@ -12,6 +12,7 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" + "github.com/DataDog/datadog-operator/pkg/constants" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/intstr" @@ -227,8 +228,8 @@ func overrideReadinessProbe(readinessProbeOverride *corev1.Probe) *corev1.Probe // Add default httpGet probeHandler if probeHandler is not configured in readinessProbe override if !hasProbeHandler(readinessProbeOverride) { readinessProbeOverride.HTTPGet = &corev1.HTTPGetAction{ - Path: v2alpha1.DefaultReadinessProbeHTTPPath, - Port: intstr.IntOrString{IntVal: v2alpha1.DefaultAgentHealthPort}} + Path: constants.DefaultReadinessProbeHTTPPath, + Port: intstr.IntOrString{IntVal: constants.DefaultAgentHealthPort}} } return readinessProbeOverride } @@ -237,8 +238,8 @@ func overrideLivenessProbe(livenessProbeOverride *corev1.Probe) *corev1.Probe { // Add default httpGet probeHandler if probeHandler is not configured in livenessProbe override if !hasProbeHandler(livenessProbeOverride) { livenessProbeOverride.HTTPGet = &corev1.HTTPGetAction{ - Path: v2alpha1.DefaultLivenessProbeHTTPPath, - Port: intstr.IntOrString{IntVal: v2alpha1.DefaultAgentHealthPort}} + Path: constants.DefaultLivenessProbeHTTPPath, + Port: intstr.IntOrString{IntVal: constants.DefaultAgentHealthPort}} } return livenessProbeOverride } @@ -247,8 +248,8 @@ func overrideStartupProbe(startupProbeOverride *corev1.Probe) *corev1.Probe { // Add default httpGet probeHandler if probeHandler is not configured in startupProbe override if !hasProbeHandler(startupProbeOverride) { startupProbeOverride.HTTPGet = &corev1.HTTPGetAction{ - Path: v2alpha1.DefaultStartupProbeHTTPPath, - Port: intstr.IntOrString{IntVal: v2alpha1.DefaultAgentHealthPort}} + Path: constants.DefaultStartupProbeHTTPPath, + Port: intstr.IntOrString{IntVal: constants.DefaultAgentHealthPort}} } return startupProbeOverride } diff --git a/internal/controller/datadogagent/override/fips.go b/internal/controller/datadogagent/override/fips.go index 1c56f3126..62fa6a2bc 100644 --- a/internal/controller/datadogagent/override/fips.go +++ b/internal/controller/datadogagent/override/fips.go @@ -16,6 +16,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/configmap" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/volume" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" "github.com/DataDog/datadog-operator/pkg/kubernetes" @@ -54,7 +55,7 @@ func applyFIPSConfig(logger logr.Logger, manager feature.PodTemplateManagers, dd // Configure FIPS container fipsContainer := getFIPSProxyContainer(fipsConfig) - image := v2alpha1.GetImage(fipsConfig.Image, globalConfig.Registry) + image := constants.GetImage(fipsConfig.Image, globalConfig.Registry) fipsContainer.Image = image if fipsConfig.Image.PullPolicy != nil { fipsContainer.ImagePullPolicy = *fipsConfig.Image.PullPolicy diff --git a/internal/controller/datadogagent/override/fips_test.go b/internal/controller/datadogagent/override/fips_test.go index b43482b7b..80f3059a5 100644 --- a/internal/controller/datadogagent/override/fips_test.go +++ b/internal/controller/datadogagent/override/fips_test.go @@ -12,12 +12,12 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/fake" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/store" "github.com/DataDog/datadog-operator/pkg/kubernetes" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -72,7 +72,7 @@ defaults }{ { name: "FIPS enabled", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithFIPS(v2alpha1.FIPSConfig{ Enabled: apiutils.NewBoolPointer(true), }). @@ -101,7 +101,7 @@ defaults }, { name: "FIPS custom image", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithFIPS(v2alpha1.FIPSConfig{ Enabled: apiutils.NewBoolPointer(true), Image: &v2alpha1.AgentImageConfig{ @@ -135,7 +135,7 @@ defaults }, { name: "FIPS custom port", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithFIPS(v2alpha1.FIPSConfig{ Enabled: apiutils.NewBoolPointer(true), Port: apiutils.NewInt32Pointer(2), @@ -165,7 +165,7 @@ defaults }, { name: "FIPS custom config - config map", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithFIPS(v2alpha1.FIPSConfig{ Enabled: apiutils.NewBoolPointer(true), CustomFIPSConfig: &v2alpha1.CustomConfig{ @@ -206,7 +206,7 @@ defaults }, { name: "FIPS custom config - config data", - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithFIPS(v2alpha1.FIPSConfig{ Enabled: apiutils.NewBoolPointer(true), CustomFIPSConfig: &v2alpha1.CustomConfig{ diff --git a/internal/controller/datadogagent/override/global.go b/internal/controller/datadogagent/override/global.go index e74007f49..3a1f43734 100644 --- a/internal/controller/datadogagent/override/global.go +++ b/internal/controller/datadogagent/override/global.go @@ -18,6 +18,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/objects" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/volume" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/defaulting" "github.com/DataDog/datadog-operator/pkg/kubernetes/rbac" rbacv1 "k8s.io/api/rbac/v1" @@ -115,7 +116,7 @@ func applyGlobalSettings(logger logr.Logger, manager feature.PodTemplateManagers dda, *config.Site, ddURL, - v2alpha1.IsHostNetworkEnabled(dda, v2alpha1.ClusterAgentComponentName), + constants.IsHostNetworkEnabled(dda, v2alpha1.ClusterAgentComponentName), dnsSelectorEndpoints, componentName, ), @@ -356,11 +357,11 @@ func applyGlobalSettings(logger logr.Logger, manager feature.PodTemplateManagers var componentSaName string switch componentName { case v2alpha1.ClusterAgentComponentName: - componentSaName = v2alpha1.GetClusterAgentServiceAccount(dda) + componentSaName = constants.GetClusterAgentServiceAccount(dda) case v2alpha1.NodeAgentComponentName: - componentSaName = v2alpha1.GetAgentServiceAccount(dda) + componentSaName = constants.GetAgentServiceAccount(dda) case v2alpha1.ClusterChecksRunnerComponentName: - componentSaName = v2alpha1.GetClusterChecksRunnerServiceAccount(dda) + componentSaName = constants.GetClusterChecksRunnerServiceAccount(dda) } agentName := dda.GetName() diff --git a/internal/controller/datadogagent/override/global_test.go b/internal/controller/datadogagent/override/global_test.go index 0808b2be5..7137e91fa 100644 --- a/internal/controller/datadogagent/override/global_test.go +++ b/internal/controller/datadogagent/override/global_test.go @@ -9,12 +9,13 @@ import ( "fmt" "testing" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/kubernetes" "github.com/DataDog/datadog-operator/pkg/kubernetes/rbac" + "github.com/DataDog/datadog-operator/pkg/testutils" apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - v2alpha1test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -67,7 +68,7 @@ func TestNodeAgentComponenGlobalSettings(t *testing.T) { { name: "Kubelet volume configured", singleContainerStrategyEnabled: false, - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithGlobalKubeletConfig(hostCAPath, agentCAPath, true). WithGlobalDockerSocketPath(dockerSocketPath). BuildWithDefaults(), @@ -92,7 +93,7 @@ func TestNodeAgentComponenGlobalSettings(t *testing.T) { { name: "Kubelet volume configured", singleContainerStrategyEnabled: true, - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithGlobalKubeletConfig(hostCAPath, agentCAPath, true). WithGlobalDockerSocketPath(dockerSocketPath). BuildWithDefaults(), @@ -117,7 +118,7 @@ func TestNodeAgentComponenGlobalSettings(t *testing.T) { { name: "Checks tag cardinality set to orchestrator", singleContainerStrategyEnabled: false, - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithChecksTagCardinality("orchestrator"). BuildWithDefaults(), wantEnvVars: getExpectedEnvVars(&corev1.EnvVar{ @@ -131,7 +132,7 @@ func TestNodeAgentComponenGlobalSettings(t *testing.T) { { name: "Unified origin detection activated", singleContainerStrategyEnabled: false, - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithOriginDetectionUnified(true). BuildWithDefaults(), wantEnvVars: getExpectedEnvVars(&corev1.EnvVar{ @@ -145,7 +146,7 @@ func TestNodeAgentComponenGlobalSettings(t *testing.T) { { name: "Global environment variable configured", singleContainerStrategyEnabled: false, - dda: v2alpha1test.NewDatadogAgentBuilder(). + dda: testutils.NewDatadogAgentBuilder(). WithEnvVars([]corev1.EnvVar{ { Name: "envA", @@ -177,7 +178,7 @@ func TestNodeAgentComponenGlobalSettings(t *testing.T) { dda: addNameNamespaceToDDA( ddaName, ddaNamespace, - v2alpha1test.NewDatadogAgentBuilder(). + testutils.NewDatadogAgentBuilder(). WithGlobalSecretBackendGlobalPerms(secretBackendCommand, secretBackendArgs, secretBackendTimeout). BuildWithDefaults(), ), @@ -206,7 +207,7 @@ func TestNodeAgentComponenGlobalSettings(t *testing.T) { dda: addNameNamespaceToDDA( ddaName, ddaNamespace, - v2alpha1test.NewDatadogAgentBuilder(). + testutils.NewDatadogAgentBuilder(). WithGlobalSecretBackendSpecificRoles(secretBackendCommand, secretBackendArgs, secretBackendTimeout, secretNamespace, secretNames). BuildWithDefaults(), ), @@ -369,7 +370,7 @@ func assertSecretBackendGlobalPerms(t testing.TB, resourcesManager feature.Resou expectedSubject := []rbacv1.Subject{ { Kind: "ServiceAccount", - Name: ddaName + "-" + v2alpha1.DefaultAgentResourceSuffix, + Name: ddaName + "-" + constants.DefaultAgentResourceSuffix, Namespace: ddaNamespace, }, } @@ -428,7 +429,7 @@ func assertSecretBackendSpecificPerms(t testing.TB, resourcesManager feature.Res expectedSubject := []rbacv1.Subject{ { Kind: "ServiceAccount", - Name: ddaName + "-" + v2alpha1.DefaultAgentResourceSuffix, + Name: ddaName + "-" + constants.DefaultAgentResourceSuffix, Namespace: ddaNamespace, }, } diff --git a/internal/controller/datadogagent/override/podtemplatespec.go b/internal/controller/datadogagent/override/podtemplatespec.go index 04aad9eb0..15bc929b6 100644 --- a/internal/controller/datadogagent/override/podtemplatespec.go +++ b/internal/controller/datadogagent/override/podtemplatespec.go @@ -18,6 +18,7 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/object/volume" + "github.com/DataDog/datadog-operator/pkg/constants" "github.com/DataDog/datadog-operator/pkg/controller/utils/comparison" "github.com/DataDog/datadog-operator/pkg/defaulting" ) @@ -245,7 +246,7 @@ func overrideImage(currentImg string, overrideImg *v2alpha1.AgentImageConfig) st overrideImgCopy.Tag = strings.TrimSuffix(splitName[1], defaulting.JMXTagSuffix) } - return v2alpha1.GetImage(&overrideImgCopy, ®istry) + return constants.GetImage(&overrideImgCopy, ®istry) } func mergeAffinities(affinity1 *v1.Affinity, affinity2 *v1.Affinity) *v1.Affinity { diff --git a/internal/controller/testutils/agent.go b/internal/controller/testutils/agent.go index 2b10da6c1..89244d725 100644 --- a/internal/controller/testutils/agent.go +++ b/internal/controller/testutils/agent.go @@ -25,6 +25,7 @@ import ( apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common" "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" apiutils "github.com/DataDog/datadog-operator/api/utils" + "github.com/DataDog/datadog-operator/pkg/constants" ) // NewDatadogAgentWithoutFeatures returns an agent without any features enabled @@ -474,9 +475,9 @@ func NewDatadogAgentWithOverrides(namespace string, name string) v2alpha1.Datado ReadinessProbe: &v1.Probe{ ProbeHandler: v1.ProbeHandler{ HTTPGet: &v1.HTTPGetAction{ - Path: v2alpha1.DefaultLivenessProbeHTTPPath, + Path: constants.DefaultLivenessProbeHTTPPath, Port: intstr.IntOrString{ - IntVal: v2alpha1.DefaultAgentHealthPort, + IntVal: constants.DefaultAgentHealthPort, }, }, }, @@ -489,9 +490,9 @@ func NewDatadogAgentWithOverrides(namespace string, name string) v2alpha1.Datado LivenessProbe: &v1.Probe{ ProbeHandler: v1.ProbeHandler{ HTTPGet: &v1.HTTPGetAction{ - Path: v2alpha1.DefaultLivenessProbeHTTPPath, + Path: constants.DefaultLivenessProbeHTTPPath, Port: intstr.IntOrString{ - IntVal: v2alpha1.DefaultAgentHealthPort, + IntVal: constants.DefaultAgentHealthPort, }, }, }, @@ -504,9 +505,9 @@ func NewDatadogAgentWithOverrides(namespace string, name string) v2alpha1.Datado StartupProbe: &v1.Probe{ ProbeHandler: v1.ProbeHandler{ HTTPGet: &v1.HTTPGetAction{ - Path: v2alpha1.DefaultLivenessProbeHTTPPath, + Path: constants.DefaultLivenessProbeHTTPPath, Port: intstr.IntOrString{ - IntVal: v2alpha1.DefaultAgentHealthPort, + IntVal: constants.DefaultAgentHealthPort, }, }, }, diff --git a/pkg/config/config.go b/pkg/config/config.go index 8e9698764..032b20398 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -24,6 +24,7 @@ import ( "github.com/DataDog/datadog-operator/api/datadoghq/common" datadoghqv1alpha1 "github.com/DataDog/datadog-operator/api/datadoghq/v1alpha1" datadoghqv2alpha1 "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" + "github.com/DataDog/datadog-operator/pkg/constants" ) // These constants are only used within pkg/config @@ -105,7 +106,7 @@ func CacheOptions(logger logr.Logger, opts WatchOptions) cache.Options { Namespaces: agentNamespaces, Label: labels.SelectorFromSet(map[string]string{ - common.AgentDeploymentComponentLabelKey: datadoghqv2alpha1.DefaultAgentResourceSuffix, + common.AgentDeploymentComponentLabelKey: constants.DefaultAgentResourceSuffix, }), Transform: func(obj interface{}) (interface{}, error) { diff --git a/pkg/constants/const.go b/pkg/constants/const.go new file mode 100644 index 000000000..2ab78928f --- /dev/null +++ b/pkg/constants/const.go @@ -0,0 +1,62 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024-present Datadog, Inc. + +package constants + +const ( + // Liveness probe default config + DefaultLivenessProbeInitialDelaySeconds int32 = 15 + DefaultLivenessProbePeriodSeconds int32 = 15 + DefaultLivenessProbeTimeoutSeconds int32 = 5 + DefaultLivenessProbeSuccessThreshold int32 = 1 + DefaultLivenessProbeFailureThreshold int32 = 6 + DefaultLivenessProbeHTTPPath = "/live" + + // Readiness probe default config + DefaultReadinessProbeInitialDelaySeconds int32 = 15 + DefaultReadinessProbePeriodSeconds int32 = 15 + DefaultReadinessProbeTimeoutSeconds int32 = 5 + DefaultReadinessProbeSuccessThreshold int32 = 1 + DefaultReadinessProbeFailureThreshold int32 = 6 + DefaultReadinessProbeHTTPPath = "/ready" + + // Startup probe default config + DefaultStartupProbeInitialDelaySeconds int32 = 15 + DefaultStartupProbePeriodSeconds int32 = 15 + DefaultStartupProbeTimeoutSeconds int32 = 5 + DefaultStartupProbeSuccessThreshold int32 = 1 + DefaultStartupProbeFailureThreshold int32 = 6 + DefaultStartupProbeHTTPPath = "/startup" + + // Agent Data plane default liveness/readiness probe configs + DefaultADPLivenessProbeInitialDelaySeconds int32 = 5 + DefaultADPLivenessProbePeriodSeconds int32 = 5 + DefaultADPLivenessProbeTimeoutSeconds int32 = 5 + DefaultADPLivenessProbeSuccessThreshold int32 = 1 + DefaultADPLivenessProbeFailureThreshold int32 = 12 + + DefaultADPReadinessProbeInitialDelaySeconds int32 = 5 + DefaultADPReadinessProbePeriodSeconds int32 = 5 + DefaultADPReadinessProbeTimeoutSeconds int32 = 5 + DefaultADPReadinessProbeSuccessThreshold int32 = 1 + DefaultADPReadinessProbeFailureThreshold int32 = 12 + + // DefaultAgentHealthPort default agent health port + DefaultAgentHealthPort int32 = 5555 + + DefaultADPHealthPort = 5100 + + // DefaultApmPort default apm port + DefaultApmPort = 8126 + // DefaultApmPortName default apm port name + DefaultApmPortName = "traceport" + + // DefaultAgentResourceSuffix use as suffix for agent resource naming + DefaultAgentResourceSuffix = "agent" + // DefaultClusterAgentResourceSuffix use as suffix for cluster-agent resource naming + DefaultClusterAgentResourceSuffix = "cluster-agent" + // DefaultClusterChecksRunnerResourceSuffix use as suffix for cluster-checks-runner resource naming + DefaultClusterChecksRunnerResourceSuffix = "cluster-checks-runner" +) diff --git a/api/datadoghq/v2alpha1/utils.go b/pkg/constants/utils.go similarity index 73% rename from api/datadoghq/v2alpha1/utils.go rename to pkg/constants/utils.go index ba3b10685..483f62349 100644 --- a/api/datadoghq/v2alpha1/utils.go +++ b/pkg/constants/utils.go @@ -3,13 +3,14 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016-present Datadog, Inc. -package v2alpha1 +package constants import ( "fmt" "github.com/DataDog/datadog-operator/pkg/defaulting" + "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" apiutils "github.com/DataDog/datadog-operator/api/utils" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -17,7 +18,7 @@ import ( ) // GetConfName get the name of the Configmap for a CustomConfigSpec -func GetConfName(owner metav1.Object, conf *CustomConfig, defaultName string) string { +func GetConfName(owner metav1.Object, conf *v2alpha1.CustomConfig, defaultName string) string { // `configData` and `configMap` can't be set together. // Return the default if the conf is not overridden or if it is just overridden with the ConfigData. if conf != nil && conf.ConfigMap != nil { @@ -27,61 +28,61 @@ func GetConfName(owner metav1.Object, conf *CustomConfig, defaultName string) st } // GetClusterAgentServiceAccount return the cluster-agent serviceAccountName -func GetClusterAgentServiceAccount(dda *DatadogAgent) string { +func GetClusterAgentServiceAccount(dda *v2alpha1.DatadogAgent) string { saDefault := fmt.Sprintf("%s-%s", dda.Name, DefaultClusterAgentResourceSuffix) - if dda.Spec.Override[ClusterAgentComponentName] != nil && dda.Spec.Override[ClusterAgentComponentName].ServiceAccountName != nil { - return *dda.Spec.Override[ClusterAgentComponentName].ServiceAccountName + if dda.Spec.Override[v2alpha1.ClusterAgentComponentName] != nil && dda.Spec.Override[v2alpha1.ClusterAgentComponentName].ServiceAccountName != nil { + return *dda.Spec.Override[v2alpha1.ClusterAgentComponentName].ServiceAccountName } return saDefault } // GetAgentServiceAccount returns the agent service account name -func GetAgentServiceAccount(dda *DatadogAgent) string { +func GetAgentServiceAccount(dda *v2alpha1.DatadogAgent) string { saDefault := fmt.Sprintf("%s-%s", dda.Name, DefaultAgentResourceSuffix) - if dda.Spec.Override[NodeAgentComponentName] != nil && dda.Spec.Override[NodeAgentComponentName].ServiceAccountName != nil { - return *dda.Spec.Override[NodeAgentComponentName].ServiceAccountName + if dda.Spec.Override[v2alpha1.NodeAgentComponentName] != nil && dda.Spec.Override[v2alpha1.NodeAgentComponentName].ServiceAccountName != nil { + return *dda.Spec.Override[v2alpha1.NodeAgentComponentName].ServiceAccountName } return saDefault } // GetClusterChecksRunnerServiceAccount return the cluster-checks-runner service account name -func GetClusterChecksRunnerServiceAccount(dda *DatadogAgent) string { +func GetClusterChecksRunnerServiceAccount(dda *v2alpha1.DatadogAgent) string { saDefault := fmt.Sprintf("%s-%s", dda.Name, DefaultClusterChecksRunnerResourceSuffix) - if dda.Spec.Override[ClusterChecksRunnerComponentName] != nil && dda.Spec.Override[ClusterChecksRunnerComponentName].ServiceAccountName != nil { - return *dda.Spec.Override[ClusterChecksRunnerComponentName].ServiceAccountName + if dda.Spec.Override[v2alpha1.ClusterChecksRunnerComponentName] != nil && dda.Spec.Override[v2alpha1.ClusterChecksRunnerComponentName].ServiceAccountName != nil { + return *dda.Spec.Override[v2alpha1.ClusterChecksRunnerComponentName].ServiceAccountName } return saDefault } // GetClusterAgentServiceAccountAnnotations returns the annotations for the cluster-agent service account. -func GetClusterAgentServiceAccountAnnotations(dda *DatadogAgent) map[string]string { +func GetClusterAgentServiceAccountAnnotations(dda *v2alpha1.DatadogAgent) map[string]string { defaultAnnotations := map[string]string{} - if dda.Spec.Override[ClusterAgentComponentName] != nil && dda.Spec.Override[ClusterAgentComponentName].ServiceAccountAnnotations != nil { - return dda.Spec.Override[ClusterAgentComponentName].ServiceAccountAnnotations + if dda.Spec.Override[v2alpha1.ClusterAgentComponentName] != nil && dda.Spec.Override[v2alpha1.ClusterAgentComponentName].ServiceAccountAnnotations != nil { + return dda.Spec.Override[v2alpha1.ClusterAgentComponentName].ServiceAccountAnnotations } return defaultAnnotations } // GetAgentServiceAccountAnnotations returns the annotations for the agent service account. -func GetAgentServiceAccountAnnotations(dda *DatadogAgent) map[string]string { +func GetAgentServiceAccountAnnotations(dda *v2alpha1.DatadogAgent) map[string]string { defaultAnnotations := map[string]string{} - if dda.Spec.Override[NodeAgentComponentName] != nil && dda.Spec.Override[NodeAgentComponentName].ServiceAccountAnnotations != nil { - return dda.Spec.Override[NodeAgentComponentName].ServiceAccountAnnotations + if dda.Spec.Override[v2alpha1.NodeAgentComponentName] != nil && dda.Spec.Override[v2alpha1.NodeAgentComponentName].ServiceAccountAnnotations != nil { + return dda.Spec.Override[v2alpha1.NodeAgentComponentName].ServiceAccountAnnotations } return defaultAnnotations } // GetClusterChecksRunnerServiceAccountAnnotations returns the annotations for the cluster-checks-runner service account. -func GetClusterChecksRunnerServiceAccountAnnotations(dda *DatadogAgent) map[string]string { +func GetClusterChecksRunnerServiceAccountAnnotations(dda *v2alpha1.DatadogAgent) map[string]string { defaultAnnotations := map[string]string{} - if dda.Spec.Override[ClusterChecksRunnerComponentName] != nil && dda.Spec.Override[ClusterChecksRunnerComponentName].ServiceAccountAnnotations != nil { - return dda.Spec.Override[ClusterChecksRunnerComponentName].ServiceAccountAnnotations + if dda.Spec.Override[v2alpha1.ClusterChecksRunnerComponentName] != nil && dda.Spec.Override[v2alpha1.ClusterChecksRunnerComponentName].ServiceAccountAnnotations != nil { + return dda.Spec.Override[v2alpha1.ClusterChecksRunnerComponentName].ServiceAccountAnnotations } return defaultAnnotations } // IsHostNetworkEnabled returns whether the pod should use the host's network namespace -func IsHostNetworkEnabled(dda *DatadogAgent, component ComponentName) bool { +func IsHostNetworkEnabled(dda *v2alpha1.DatadogAgent, component v2alpha1.ComponentName) bool { if dda.Spec.Override != nil { if c, ok := dda.Spec.Override[component]; ok { return apiutils.BoolValue(c.HostNetwork) @@ -91,17 +92,17 @@ func IsHostNetworkEnabled(dda *DatadogAgent, component ComponentName) bool { } // IsClusterChecksEnabled returns whether the DDA should use cluster checks -func IsClusterChecksEnabled(dda *DatadogAgent) bool { +func IsClusterChecksEnabled(dda *v2alpha1.DatadogAgent) bool { return dda.Spec.Features.ClusterChecks != nil && apiutils.BoolValue(dda.Spec.Features.ClusterChecks.Enabled) } // IsCCREnabled returns whether the DDA should use Cluster Checks Runners -func IsCCREnabled(dda *DatadogAgent) bool { +func IsCCREnabled(dda *v2alpha1.DatadogAgent) bool { return dda.Spec.Features.ClusterChecks != nil && apiutils.BoolValue(dda.Spec.Features.ClusterChecks.UseClusterChecksRunners) } // GetLocalAgentServiceName returns the name used for the local agent service -func GetLocalAgentServiceName(dda *DatadogAgent) string { +func GetLocalAgentServiceName(dda *v2alpha1.DatadogAgent) string { if dda.Spec.Global.LocalService != nil && dda.Spec.Global.LocalService.NameOverride != nil { return *dda.Spec.Global.LocalService.NameOverride } @@ -109,12 +110,12 @@ func GetLocalAgentServiceName(dda *DatadogAgent) string { } // IsNetworkPolicyEnabled returns whether a network policy should be created and which flavor to use -func IsNetworkPolicyEnabled(dda *DatadogAgent) (bool, NetworkPolicyFlavor) { +func IsNetworkPolicyEnabled(dda *v2alpha1.DatadogAgent) (bool, v2alpha1.NetworkPolicyFlavor) { if dda.Spec.Global != nil && dda.Spec.Global.NetworkPolicy != nil && apiutils.BoolValue(dda.Spec.Global.NetworkPolicy.Create) { if dda.Spec.Global.NetworkPolicy.Flavor != "" { return true, dda.Spec.Global.NetworkPolicy.Flavor } - return true, NetworkPolicyFlavorKubernetes + return true, v2alpha1.NetworkPolicyFlavorKubernetes } return false, "" } @@ -225,7 +226,7 @@ func GetDefaultAgentDataPlaneReadinessProbe() *corev1.Probe { } // GetImage builds the image string based on ImageConfig and the registry configuration. -func GetImage(imageSpec *AgentImageConfig, registry *string) string { +func GetImage(imageSpec *v2alpha1.AgentImageConfig, registry *string) string { if defaulting.IsImageNameContainsTag(imageSpec.Name) { return imageSpec.Name } diff --git a/api/datadoghq/v2alpha1/utils_test.go b/pkg/constants/utils_test.go similarity index 69% rename from api/datadoghq/v2alpha1/utils_test.go rename to pkg/constants/utils_test.go index bcef5620b..33263d21f 100644 --- a/api/datadoghq/v2alpha1/utils_test.go +++ b/pkg/constants/utils_test.go @@ -1,9 +1,8 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2016-present Datadog, Inc. - -package v2alpha1 +// Copyright 2024-present Datadog, Inc. +package constants import ( "fmt" @@ -11,6 +10,7 @@ import ( "github.com/stretchr/testify/assert" + "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/pkg/defaulting" @@ -21,13 +21,13 @@ func Test_GetImage(t *testing.T) { emptyRegistry := "" tests := []struct { name string - imageSpec *AgentImageConfig + imageSpec *v2alpha1.AgentImageConfig registry *string want string }{ { name: "backward compatible", - imageSpec: &AgentImageConfig{ + imageSpec: &v2alpha1.AgentImageConfig{ Name: defaulting.GetLatestAgentImage(), }, registry: nil, @@ -35,7 +35,7 @@ func Test_GetImage(t *testing.T) { }, { name: "nominal case", - imageSpec: &AgentImageConfig{ + imageSpec: &v2alpha1.AgentImageConfig{ Name: "agent", Tag: "7", }, @@ -44,7 +44,7 @@ func Test_GetImage(t *testing.T) { }, { name: "prioritize the full path", - imageSpec: &AgentImageConfig{ + imageSpec: &v2alpha1.AgentImageConfig{ Name: "docker.io/datadog/agent:7.28.1-rc.3", Tag: "latest", }, @@ -53,7 +53,7 @@ func Test_GetImage(t *testing.T) { }, { name: "default registry", - imageSpec: &AgentImageConfig{ + imageSpec: &v2alpha1.AgentImageConfig{ Name: "agent", Tag: "latest", }, @@ -62,7 +62,7 @@ func Test_GetImage(t *testing.T) { }, { name: "add jmx", - imageSpec: &AgentImageConfig{ + imageSpec: &v2alpha1.AgentImageConfig{ Name: "agent", Tag: defaulting.AgentLatestVersion, JMXEnabled: true, @@ -72,7 +72,7 @@ func Test_GetImage(t *testing.T) { }, { name: "cluster-agent", - imageSpec: &AgentImageConfig{ + imageSpec: &v2alpha1.AgentImageConfig{ Name: "cluster-agent", Tag: defaulting.ClusterAgentLatestVersion, JMXEnabled: false, @@ -82,7 +82,7 @@ func Test_GetImage(t *testing.T) { }, { name: "do not duplicate jmx", - imageSpec: &AgentImageConfig{ + imageSpec: &v2alpha1.AgentImageConfig{ Name: "agent", Tag: "latest-jmx", JMXEnabled: true, @@ -92,7 +92,7 @@ func Test_GetImage(t *testing.T) { }, { name: "do not add jmx", - imageSpec: &AgentImageConfig{ + imageSpec: &v2alpha1.AgentImageConfig{ Name: "agent", Tag: "latest-jmx", JMXEnabled: true, @@ -113,39 +113,39 @@ func TestServiceAccountNameOverride(t *testing.T) { ddaName := "test-dda" tests := []struct { name string - dda *DatadogAgent - want map[ComponentName]string + dda *v2alpha1.DatadogAgent + want map[v2alpha1.ComponentName]string }{ { name: "custom serviceaccount for dca and clc", - dda: &DatadogAgent{ + dda: &v2alpha1.DatadogAgent{ ObjectMeta: v1.ObjectMeta{ Name: ddaName, }, - Spec: DatadogAgentSpec{ - Override: map[ComponentName]*DatadogAgentComponentOverride{ - ClusterAgentComponentName: { + Spec: v2alpha1.DatadogAgentSpec{ + Override: map[v2alpha1.ComponentName]*v2alpha1.DatadogAgentComponentOverride{ + v2alpha1.ClusterAgentComponentName: { ServiceAccountName: &customServiceAccount, }, - ClusterChecksRunnerComponentName: { + v2alpha1.ClusterChecksRunnerComponentName: { ServiceAccountName: &customServiceAccount, }, }, }, }, - want: map[ComponentName]string{ - ClusterAgentComponentName: customServiceAccount, - NodeAgentComponentName: fmt.Sprintf("%s-%s", ddaName, DefaultAgentResourceSuffix), - ClusterChecksRunnerComponentName: customServiceAccount, + want: map[v2alpha1.ComponentName]string{ + v2alpha1.ClusterAgentComponentName: customServiceAccount, + v2alpha1.NodeAgentComponentName: fmt.Sprintf("%s-%s", ddaName, DefaultAgentResourceSuffix), + v2alpha1.ClusterChecksRunnerComponentName: customServiceAccount, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - res := map[ComponentName]string{} - res[NodeAgentComponentName] = GetAgentServiceAccount(tt.dda) - res[ClusterChecksRunnerComponentName] = GetClusterChecksRunnerServiceAccount(tt.dda) - res[ClusterAgentComponentName] = GetClusterAgentServiceAccount(tt.dda) + res := map[v2alpha1.ComponentName]string{} + res[v2alpha1.NodeAgentComponentName] = GetAgentServiceAccount(tt.dda) + res[v2alpha1.ClusterChecksRunnerComponentName] = GetClusterChecksRunnerServiceAccount(tt.dda) + res[v2alpha1.ClusterAgentComponentName] = GetClusterAgentServiceAccount(tt.dda) for name, sa := range tt.want { if res[name] != sa { t.Errorf("Service Account Override error = %v, want %v", res[name], tt.want[name]) @@ -164,40 +164,40 @@ func TestServiceAccountAnnotationOverride(t *testing.T) { ddaName := "test-dda" tests := []struct { name string - dda *DatadogAgent - want map[ComponentName]map[string]interface{} + dda *v2alpha1.DatadogAgent + want map[v2alpha1.ComponentName]map[string]interface{} }{ { name: "custom serviceaccount annotations for dda, dca and clc", - dda: &DatadogAgent{ + dda: &v2alpha1.DatadogAgent{ ObjectMeta: v1.ObjectMeta{ Name: ddaName, }, - Spec: DatadogAgentSpec{ - Override: map[ComponentName]*DatadogAgentComponentOverride{ - ClusterAgentComponentName: { + Spec: v2alpha1.DatadogAgentSpec{ + Override: map[v2alpha1.ComponentName]*v2alpha1.DatadogAgentComponentOverride{ + v2alpha1.ClusterAgentComponentName: { ServiceAccountName: &customServiceAccount, ServiceAccountAnnotations: customServiceAccountAnnotations, }, - ClusterChecksRunnerComponentName: { + v2alpha1.ClusterChecksRunnerComponentName: { ServiceAccountAnnotations: customServiceAccountAnnotations, }, - NodeAgentComponentName: { + v2alpha1.NodeAgentComponentName: { ServiceAccountAnnotations: customServiceAccountAnnotations, }, }, }, }, - want: map[ComponentName]map[string]interface{}{ - ClusterAgentComponentName: { + want: map[v2alpha1.ComponentName]map[string]interface{}{ + v2alpha1.ClusterAgentComponentName: { "name": customServiceAccount, "annotations": customServiceAccountAnnotations, }, - NodeAgentComponentName: { + v2alpha1.NodeAgentComponentName: { "name": fmt.Sprintf("%s-%s", ddaName, DefaultAgentResourceSuffix), "annotations": customServiceAccountAnnotations, }, - ClusterChecksRunnerComponentName: { + v2alpha1.ClusterChecksRunnerComponentName: { "name": fmt.Sprintf("%s-%s", ddaName, DefaultClusterChecksRunnerResourceSuffix), "annotations": customServiceAccountAnnotations, }, @@ -205,29 +205,29 @@ func TestServiceAccountAnnotationOverride(t *testing.T) { }, { name: "custom serviceaccount annotations for dca", - dda: &DatadogAgent{ + dda: &v2alpha1.DatadogAgent{ ObjectMeta: v1.ObjectMeta{ Name: ddaName, }, - Spec: DatadogAgentSpec{ - Override: map[ComponentName]*DatadogAgentComponentOverride{ - ClusterAgentComponentName: { + Spec: v2alpha1.DatadogAgentSpec{ + Override: map[v2alpha1.ComponentName]*v2alpha1.DatadogAgentComponentOverride{ + v2alpha1.ClusterAgentComponentName: { ServiceAccountName: &customServiceAccount, ServiceAccountAnnotations: customServiceAccountAnnotations, }, }, }, }, - want: map[ComponentName]map[string]interface{}{ - NodeAgentComponentName: { + want: map[v2alpha1.ComponentName]map[string]interface{}{ + v2alpha1.NodeAgentComponentName: { "name": fmt.Sprintf("%s-%s", ddaName, DefaultAgentResourceSuffix), "annotations": map[string]string{}, }, - ClusterAgentComponentName: { + v2alpha1.ClusterAgentComponentName: { "name": customServiceAccount, "annotations": customServiceAccountAnnotations, }, - ClusterChecksRunnerComponentName: { + v2alpha1.ClusterChecksRunnerComponentName: { "name": fmt.Sprintf("%s-%s", ddaName, DefaultClusterChecksRunnerResourceSuffix), "annotations": map[string]string{}, }, @@ -236,16 +236,16 @@ func TestServiceAccountAnnotationOverride(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - res := map[ComponentName]map[string]interface{}{ - NodeAgentComponentName: { + res := map[v2alpha1.ComponentName]map[string]interface{}{ + v2alpha1.NodeAgentComponentName: { "name": GetAgentServiceAccount(tt.dda), "annotations": GetAgentServiceAccountAnnotations(tt.dda), }, - ClusterChecksRunnerComponentName: { + v2alpha1.ClusterChecksRunnerComponentName: { "name": GetClusterChecksRunnerServiceAccount(tt.dda), "annotations": GetClusterChecksRunnerServiceAccountAnnotations(tt.dda), }, - ClusterAgentComponentName: { + v2alpha1.ClusterAgentComponentName: { "name": GetClusterAgentServiceAccount(tt.dda), "annotations": GetClusterAgentServiceAccountAnnotations(tt.dda), }, diff --git a/pkg/controller/utils/datadog/metrics_forwarder_test.go b/pkg/controller/utils/datadog/metrics_forwarder_test.go index cf4e7cd5d..06e17b4b4 100644 --- a/pkg/controller/utils/datadog/metrics_forwarder_test.go +++ b/pkg/controller/utils/datadog/metrics_forwarder_test.go @@ -16,11 +16,11 @@ import ( "testing" v2alpha1 "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - test "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1/test" apiutils "github.com/DataDog/datadog-operator/api/utils" "github.com/DataDog/datadog-operator/pkg/config" "github.com/DataDog/datadog-operator/pkg/kubernetes" "github.com/DataDog/datadog-operator/pkg/secrets" + "github.com/DataDog/datadog-operator/pkg/testutils" "github.com/stretchr/testify/mock" assert "github.com/stretchr/testify/require" @@ -178,7 +178,7 @@ func TestReconcileDatadogAgent_getCredentials(t *testing.T) { client: fake.NewFakeClient(), }, args: args{ - dda: test.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ + dda: testutils.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ Credentials: &v2alpha1.DatadogCredentials{ APIKey: apiutils.NewStringPointer(apiKey), }, @@ -197,7 +197,7 @@ func TestReconcileDatadogAgent_getCredentials(t *testing.T) { client: fake.NewFakeClient(), }, args: args{ - dda: test.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ + dda: testutils.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ Credentials: &v2alpha1.DatadogCredentials{ APIKey: apiutils.NewStringPointer(apiKey), }, @@ -216,7 +216,7 @@ func TestReconcileDatadogAgent_getCredentials(t *testing.T) { client: fake.NewFakeClient(), }, args: args{ - dda: test.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ + dda: testutils.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ Credentials: &v2alpha1.DatadogCredentials{ APISecret: &v2alpha1.SecretConfig{ SecretName: "datadog-creds-api", @@ -248,7 +248,7 @@ func TestReconcileDatadogAgent_getCredentials(t *testing.T) { client: fake.NewFakeClient(), }, args: args{ - dda: test.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ + dda: testutils.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ Credentials: &v2alpha1.DatadogCredentials{ APIKey: apiutils.NewStringPointer(encAPIKey), }, @@ -276,7 +276,7 @@ func TestReconcileDatadogAgent_getCredentials(t *testing.T) { client: fake.NewFakeClient(), }, args: args{ - dda: test.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ + dda: testutils.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ Credentials: &v2alpha1.DatadogCredentials{ APIKey: apiutils.NewStringPointer(encAPIKey), }, @@ -305,7 +305,7 @@ func TestReconcileDatadogAgent_getCredentials(t *testing.T) { client: fake.NewFakeClient(), }, args: args{ - dda: test.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{}), + dda: testutils.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{}), loadFunc: func(m *metricsForwarder, d *secrets.DummyDecryptor) { os.Unsetenv(v2alpha1.DDAPIKey) os.Unsetenv(v2alpha1.DDAppKey) @@ -703,14 +703,14 @@ func Test_getbaseURL(t *testing.T) { { name: "Get default baseURL", args: args{ - dda: test.NewDatadogAgent("foo", "bar", nil), + dda: testutils.NewDatadogAgent("foo", "bar", nil), }, want: "https://api.datadoghq.com", }, { name: "Compute baseURL from site when passing Site", args: args{ - dda: test.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ + dda: testutils.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ Site: &euSite, }), }, @@ -719,7 +719,7 @@ func Test_getbaseURL(t *testing.T) { { name: "Compute baseURL from endpoint.URL when Site is not defined", args: args{ - dda: test.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ + dda: testutils.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ Endpoint: &v2alpha1.Endpoint{ URL: apiutils.NewStringPointer("https://test.url.com"), }, @@ -730,7 +730,7 @@ func Test_getbaseURL(t *testing.T) { { name: "Test that DDUrl takes precedence over Site", args: args{ - dda: test.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ + dda: testutils.NewDatadogAgent("foo", "bar", &v2alpha1.GlobalConfig{ Site: &euSite, Endpoint: &v2alpha1.Endpoint{ URL: apiutils.NewStringPointer("https://test.url.com"), diff --git a/api/datadoghq/v2alpha1/test/builder.go b/pkg/testutils/builder.go similarity index 99% rename from api/datadoghq/v2alpha1/test/builder.go rename to pkg/testutils/builder.go index b8d754938..28a2f4e61 100644 --- a/api/datadoghq/v2alpha1/test/builder.go +++ b/pkg/testutils/builder.go @@ -3,14 +3,14 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016-present Datadog, Inc. -package test +package testutils import ( "github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1" - "github.com/DataDog/datadog-operator/api/utils" apiutils "github.com/DataDog/datadog-operator/api/utils" + "github.com/DataDog/datadog-operator/internal/controller/datadogagent/defaults" "github.com/DataDog/datadog-operator/internal/controller/datadogagent/feature/otelcollector/defaultconfig" - defaulting "github.com/DataDog/datadog-operator/pkg/defaulting" + "github.com/DataDog/datadog-operator/pkg/defaulting" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -39,7 +39,7 @@ func NewDatadogAgentBuilder() *DatadogAgentBuilder { // NewDefaultDatadogAgentBuilder created DatadogAgent and applies defaults func NewDefaultDatadogAgentBuilder() *DatadogAgentBuilder { dda := &v2alpha1.DatadogAgent{} - v2alpha1.DefaultDatadogAgent(dda) + defaults.DefaultDatadogAgent(dda) return &DatadogAgentBuilder{ datadogAgent: *dda, @@ -63,7 +63,7 @@ func (builder *DatadogAgentBuilder) Build() *v2alpha1.DatadogAgent { // BuildWithDefaults applies defaults to current properties and returns resulting DatadogAgent func (builder *DatadogAgentBuilder) BuildWithDefaults() *v2alpha1.DatadogAgent { - v2alpha1.DefaultDatadogAgent(&builder.datadogAgent) + defaults.DefaultDatadogAgent(&builder.datadogAgent) return &builder.datadogAgent } @@ -870,8 +870,8 @@ func (builder *DatadogAgentBuilder) WithSingleContainerStrategy(enabled bool) *D func (builder *DatadogAgentBuilder) WithCredentials(apiKey, appKey string) *DatadogAgentBuilder { builder.datadogAgent.Spec.Global.Credentials = &v2alpha1.DatadogCredentials{ - APIKey: utils.NewStringPointer(apiKey), - AppKey: utils.NewStringPointer(appKey), + APIKey: apiutils.NewStringPointer(apiKey), + AppKey: apiutils.NewStringPointer(appKey), } return builder } diff --git a/api/datadoghq/v2alpha1/test/new.go b/pkg/testutils/new.go similarity index 98% rename from api/datadoghq/v2alpha1/test/new.go rename to pkg/testutils/new.go index 97b00084b..8194719a9 100644 --- a/api/datadoghq/v2alpha1/test/new.go +++ b/pkg/testutils/new.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016-present Datadog, Inc. -package test +package testutils import ( "fmt"