diff --git a/internal/controller/datadogagent/component_clusteragent.go b/internal/controller/datadogagent/component_clusteragent.go index e8165119a1..539257fd4c 100644 --- a/internal/controller/datadogagent/component_clusteragent.go +++ b/internal/controller/datadogagent/component_clusteragent.go @@ -56,9 +56,9 @@ func (c *ClusterAgentComponent) GetNewDeploymentFunc() func(dda metav1.Object, s return componentdca.NewDefaultClusterAgentDeployment } -func (c *ClusterAgentComponent) GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error { - return func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error { - return feat.ManageClusterAgent(managers, provider) +func (c *ClusterAgentComponent) GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers) error { + return func(feat feature.Feature, managers feature.PodTemplateManagers) error { + return feat.ManageClusterAgent(managers) } } diff --git a/internal/controller/datadogagent/component_clusterchecksrunner.go b/internal/controller/datadogagent/component_clusterchecksrunner.go index 745b693bd7..f7045b7a5a 100644 --- a/internal/controller/datadogagent/component_clusterchecksrunner.go +++ b/internal/controller/datadogagent/component_clusterchecksrunner.go @@ -58,9 +58,9 @@ func (c *ClusterChecksRunnerComponent) GetNewDeploymentFunc() func(dda metav1.Ob return componentccr.NewDefaultClusterChecksRunnerDeployment } -func (c *ClusterChecksRunnerComponent) GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error { - return func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error { - return feat.ManageClusterChecksRunner(managers, provider) +func (c *ClusterChecksRunnerComponent) GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers) error { + return func(feat feature.Feature, managers feature.PodTemplateManagers) error { + return feat.ManageClusterChecksRunner(managers) } } diff --git a/internal/controller/datadogagent/component_otelagentgateway.go b/internal/controller/datadogagent/component_otelagentgateway.go index 73f7e396d7..2eb590e5de 100644 --- a/internal/controller/datadogagent/component_otelagentgateway.go +++ b/internal/controller/datadogagent/component_otelagentgateway.go @@ -56,9 +56,9 @@ func (c *OtelAgentGatewayComponent) GetNewDeploymentFunc() func(dda metav1.Objec return componentotelagentgateway.NewDefaultOtelAgentGatewayDeployment } -func (c *OtelAgentGatewayComponent) GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error { - return func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error { - return feat.ManageOtelAgentGateway(managers, provider) +func (c *OtelAgentGatewayComponent) GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers) error { + return func(feat feature.Feature, managers feature.PodTemplateManagers) error { + return feat.ManageOtelAgentGateway(managers) } } diff --git a/internal/controller/datadogagent/component_reconciler.go b/internal/controller/datadogagent/component_reconciler.go index fce31e6a37..3911afef05 100644 --- a/internal/controller/datadogagent/component_reconciler.go +++ b/internal/controller/datadogagent/component_reconciler.go @@ -83,7 +83,7 @@ type ComponentReconciler interface { GetNewDeploymentFunc() func(dda metav1.Object, spec *datadoghqv2alpha1.DatadogAgentSpec) *appsv1.Deployment // GetManageFeatureFunc feature function to manage the component - GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error + GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers) error // UpdateStatus updates the status of the component UpdateStatus(deployment *appsv1.Deployment, newStatus *datadoghqv2alpha1.DatadogAgentStatus, updateTime metav1.Time, status metav1.ConditionStatus, reason, message string) @@ -189,7 +189,7 @@ func (r *ComponentRegistry) reconcileComponent(ctx context.Context, params *Reco // Apply features changes on the Deployment.Spec.Template var featErrors []error for _, feat := range params.Features { - if errFeat := component.GetManageFeatureFunc()(feat, podManagers, params.Provider); errFeat != nil { + if errFeat := component.GetManageFeatureFunc()(feat, podManagers); errFeat != nil { featErrors = append(featErrors, errFeat) } } diff --git a/internal/controller/datadogagent/feature/admissioncontroller/feature.go b/internal/controller/datadogagent/feature/admissioncontroller/feature.go index 65ced7ca81..e1409b2126 100644 --- a/internal/controller/datadogagent/feature/admissioncontroller/feature.go +++ b/internal/controller/datadogagent/feature/admissioncontroller/feature.go @@ -283,7 +283,7 @@ func (f *admissionControllerFeature) Configure(dda metav1.Object, ddaSpec *v2alp return reqComp } -func (f *admissionControllerFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *admissionControllerFeature) ManageDependencies(managers feature.ResourceManagers) error { ns := f.owner.GetNamespace() rbacName := componentdca.GetClusterAgentRbacResourcesName(f.owner) @@ -366,7 +366,7 @@ func (f *admissionControllerFeature) ManageDependencies(managers feature.Resourc return nil } -func (f *admissionControllerFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *admissionControllerFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { managers.EnvVar().AddEnvVarToContainer(apicommon.ClusterAgentContainerName, &corev1.EnvVar{ Name: DDAdmissionControllerEnabled, Value: "true", @@ -544,18 +544,18 @@ func (f *admissionControllerFeature) ManageClusterAgent(managers feature.PodTemp // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set.. // It should do nothing if the feature doesn't need to configure it. -func (f *admissionControllerFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *admissionControllerFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } -func (f *admissionControllerFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *admissionControllerFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { return nil } -func (f *admissionControllerFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *admissionControllerFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *admissionControllerFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *admissionControllerFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/apm/feature.go b/internal/controller/datadogagent/feature/apm/feature.go index 70bb617988..0f18639287 100644 --- a/internal/controller/datadogagent/feature/apm/feature.go +++ b/internal/controller/datadogagent/feature/apm/feature.go @@ -228,7 +228,7 @@ func (f *apmFeature) shouldEnableLanguageDetection() bool { // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *apmFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *apmFeature) ManageDependencies(managers feature.ResourceManagers) error { platformInfo := managers.Store().GetPlatformInfo() // agent local service if common.ShouldCreateAgentLocalService(platformInfo.GetVersionInfo(), f.forceEnableLocalService) { @@ -317,7 +317,7 @@ func (f *apmFeature) ManageDependencies(managers feature.ResourceManagers, provi // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *apmFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *apmFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { if f.udsEnabled { managers.EnvVar().AddEnvVarToContainer(apicommon.ClusterAgentContainerName, &corev1.EnvVar{ Name: DDTraceAgentHostSocketPath, @@ -423,19 +423,19 @@ func supportsInstrumentationTargets(ddaSpec *v2alpha1.DatadogAgentSpec) bool { // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *apmFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { - f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers, provider) +func (f *apmFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { + f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers) return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *apmFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { - f.manageNodeAgent(apicommon.TraceAgentContainerName, managers, provider) +func (f *apmFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { + f.manageNodeAgent(apicommon.TraceAgentContainerName, managers) return nil } -func (f *apmFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers, provider string) error { +func (f *apmFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers) error { managers.EnvVar().AddEnvVarToContainer(agentContainerName, &corev1.EnvVar{ Name: constants.DDAPMEnabled, @@ -535,10 +535,10 @@ func (f *apmFeature) manageNodeAgent(agentContainerName apicommon.AgentContainer // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *apmFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *apmFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *apmFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *apmFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/appsec/feature.go b/internal/controller/datadogagent/feature/appsec/feature.go index adbf0aab14..56f717ed0c 100644 --- a/internal/controller/datadogagent/feature/appsec/feature.go +++ b/internal/controller/datadogagent/feature/appsec/feature.go @@ -108,14 +108,14 @@ func (f *appsecFeature) Configure(dda metav1.Object, ddaSpec *v2alpha1.DatadogAg // ManageDependencies adds the RBAC necessary for the appsec feature to be enabled and is still required when disabled // to be able to do cleanup -func (f *appsecFeature) ManageDependencies(managers feature.ResourceManagers, _ string) error { +func (f *appsecFeature) ManageDependencies(managers feature.ResourceManagers) error { rbacName := getAppsecRBACResourceName(f.owner, f.rbacSuffix) return managers.RBACManager().AddClusterPolicyRules(f.owner.GetNamespace(), rbacName, f.serviceAccountName, getRBACPolicyRules()) } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *appsecFeature) ManageClusterAgent(managers feature.PodTemplateManagers, _ string) error { +func (f *appsecFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { if !f.config.isEnabled() { f.logger.V(2).Info("feature is disabled, adding no environment variables") return nil @@ -191,18 +191,18 @@ func (f *appsecFeature) ManageClusterAgent(managers feature.PodTemplateManagers, return nil } -func (f *appsecFeature) ManageSingleContainerNodeAgent(_ feature.PodTemplateManagers, _ string) error { +func (f *appsecFeature) ManageSingleContainerNodeAgent(_ feature.PodTemplateManagers) error { return nil } -func (f *appsecFeature) ManageNodeAgent(_ feature.PodTemplateManagers, _ string) error { +func (f *appsecFeature) ManageNodeAgent(_ feature.PodTemplateManagers) error { return nil } -func (f *appsecFeature) ManageClusterChecksRunner(_ feature.PodTemplateManagers, _ string) error { +func (f *appsecFeature) ManageClusterChecksRunner(_ feature.PodTemplateManagers) error { return nil } -func (f *appsecFeature) ManageOtelAgentGateway(_ feature.PodTemplateManagers, _ string) error { +func (f *appsecFeature) ManageOtelAgentGateway(_ feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/appsec/feature_test.go b/internal/controller/datadogagent/feature/appsec/feature_test.go index 2e39e86c67..9aabf8b41b 100644 --- a/internal/controller/datadogagent/feature/appsec/feature_test.go +++ b/internal/controller/datadogagent/feature/appsec/feature_test.go @@ -484,7 +484,7 @@ func TestAppsecFeatureManageClusterAgentDisabled(t *testing.T) { f.Configure(dda, &dda.Spec, nil) mgr := fake.NewPodTemplateManagers(t, corev1.PodTemplateSpec{}) - err := f.ManageClusterAgent(mgr, "") + err := f.ManageClusterAgent(mgr) assert.NoError(t, err) envVars := mgr.EnvVarMgr.EnvVarsByC[apicommon.ClusterAgentContainerName] @@ -506,7 +506,7 @@ func TestAppsecFeatureManageClusterAgentEnabled(t *testing.T) { f.Configure(dda, &dda.Spec, nil) mgr := fake.NewPodTemplateManagers(t, corev1.PodTemplateSpec{}) - err := f.ManageClusterAgent(mgr, "") + err := f.ManageClusterAgent(mgr) assert.NoError(t, err) envVars := mgr.EnvVarMgr.EnvVarsByC[apicommon.ClusterAgentContainerName] diff --git a/internal/controller/datadogagent/feature/asm/feature.go b/internal/controller/datadogagent/feature/asm/feature.go index e247fdea25..a84117d06a 100644 --- a/internal/controller/datadogagent/feature/asm/feature.go +++ b/internal/controller/datadogagent/feature/asm/feature.go @@ -74,13 +74,13 @@ func (f *asmFeature) Configure(_ metav1.Object, ddaSpec *v2alpha1.DatadogAgentSp // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *asmFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *asmFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *asmFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *asmFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { if f.threatsEnabled { if err := managers.EnvVar().AddEnvVarToContainerWithMergeFunc(apicommon.ClusterAgentContainerName, &corev1.EnvVar{ Name: DDAdmissionControllerAppsecEnabled, @@ -111,18 +111,18 @@ func (f *asmFeature) ManageClusterAgent(managers feature.PodTemplateManagers, pr return nil } -func (f *asmFeature) ManageSingleContainerNodeAgent(_ feature.PodTemplateManagers, _ string) error { +func (f *asmFeature) ManageSingleContainerNodeAgent(_ feature.PodTemplateManagers) error { return nil } -func (f *asmFeature) ManageNodeAgent(_ feature.PodTemplateManagers, _ string) error { +func (f *asmFeature) ManageNodeAgent(_ feature.PodTemplateManagers) error { return nil } -func (f *asmFeature) ManageClusterChecksRunner(_ feature.PodTemplateManagers, _ string) error { +func (f *asmFeature) ManageClusterChecksRunner(_ feature.PodTemplateManagers) error { return nil } -func (f *asmFeature) ManageOtelAgentGateway(_ feature.PodTemplateManagers, _ string) error { +func (f *asmFeature) ManageOtelAgentGateway(_ feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/autoscaling/feature.go b/internal/controller/datadogagent/feature/autoscaling/feature.go index 42d83a33cf..907700ce84 100644 --- a/internal/controller/datadogagent/feature/autoscaling/feature.go +++ b/internal/controller/datadogagent/feature/autoscaling/feature.go @@ -97,7 +97,7 @@ func (f *autoscalingFeature) Configure(dda metav1.Object, ddaSpec *v2alpha1.Data // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *autoscalingFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *autoscalingFeature) ManageDependencies(managers feature.ResourceManagers) error { // Hack to trigger an error if admission feature is not enabled as we cannot return an error in configure if f.workloadEnabled && !f.admissionControllerActivated { return errors.New("admission controller feature must be enabled to use the workload autoscaling feature") @@ -114,7 +114,7 @@ func (f *autoscalingFeature) ManageDependencies(managers feature.ResourceManager // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *autoscalingFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *autoscalingFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { if f.workloadEnabled { managers.EnvVar().AddEnvVarToContainer(apicommon.ClusterAgentContainerName, &corev1.EnvVar{ @@ -148,13 +148,13 @@ func (f *autoscalingFeature) ManageClusterAgent(managers feature.PodTemplateMana // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *autoscalingFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *autoscalingFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *autoscalingFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *autoscalingFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { if f.workloadEnabled { managers.EnvVar().AddEnvVarToContainer(apicommon.CoreAgentContainerName, &corev1.EnvVar{ @@ -173,10 +173,10 @@ func (f *autoscalingFeature) ManageNodeAgent(managers feature.PodTemplateManager // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *autoscalingFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *autoscalingFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *autoscalingFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *autoscalingFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/clusterchecks/feature.go b/internal/controller/datadogagent/feature/clusterchecks/feature.go index 2c00fdaec7..0a6bab928e 100644 --- a/internal/controller/datadogagent/feature/clusterchecks/feature.go +++ b/internal/controller/datadogagent/feature/clusterchecks/feature.go @@ -91,7 +91,7 @@ func (f *clusterChecksFeature) Configure(dda metav1.Object, ddaSpec *v2alpha1.Da return reqComp } -func (f *clusterChecksFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *clusterChecksFeature) ManageDependencies(managers feature.ResourceManagers) error { policyName, podSelector := objects.GetNetworkPolicyMetadata(f.owner, v2alpha1.ClusterAgentComponentName) _, ccrPodSelector := objects.GetNetworkPolicyMetadata(f.owner, v2alpha1.ClusterChecksRunnerComponentName) if f.createKubernetesNetworkPolicy { @@ -148,7 +148,7 @@ func (f *clusterChecksFeature) ManageDependencies(managers feature.ResourceManag return nil } -func (f *clusterChecksFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *clusterChecksFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { managers.EnvVar().AddEnvVarToContainer( apicommon.ClusterAgentContainerName, &corev1.EnvVar{ @@ -183,17 +183,17 @@ func (f *clusterChecksFeature) ManageClusterAgent(managers feature.PodTemplateMa // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *clusterChecksFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { - f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers, provider) +func (f *clusterChecksFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { + f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers) return nil } -func (f *clusterChecksFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { - f.manageNodeAgent(apicommon.CoreAgentContainerName, managers, provider) +func (f *clusterChecksFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { + f.manageNodeAgent(apicommon.CoreAgentContainerName, managers) return nil } -func (f *clusterChecksFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers, provider string) error { +func (f *clusterChecksFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers) error { if f.useClusterCheckRunners { managers.EnvVar().AddEnvVarToContainer( agentContainerName, @@ -215,7 +215,7 @@ func (f *clusterChecksFeature) manageNodeAgent(agentContainerName apicommon.Agen return nil } -func (f *clusterChecksFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *clusterChecksFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { if f.useClusterCheckRunners { managers.EnvVar().AddEnvVarToContainer( apicommon.ClusterChecksRunnersContainerName, @@ -237,7 +237,7 @@ func (f *clusterChecksFeature) ManageClusterChecksRunner(managers feature.PodTem return nil } -func (f *clusterChecksFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *clusterChecksFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/clusterchecks/feature_test.go b/internal/controller/datadogagent/feature/clusterchecks/feature_test.go index 169d1691c4..4dced2ec45 100644 --- a/internal/controller/datadogagent/feature/clusterchecks/feature_test.go +++ b/internal/controller/datadogagent/feature/clusterchecks/feature_test.go @@ -147,7 +147,7 @@ func TestClusterAgentChecksumsDifferentForDifferentConfig(t *testing.T) { for _, datadogAgent := range datadogAgents { feature.Configure(datadogAgent, &datadogAgent.Spec, nil) - feature.ManageClusterAgent(podTemplateManager, "") + feature.ManageClusterAgent(podTemplateManager) md5 := podTemplateManager.AnnotationMgr.Annotations[annotationKey] md5Values[md5] = "" } diff --git a/internal/controller/datadogagent/feature/controlplanemonitoring/feature.go b/internal/controller/datadogagent/feature/controlplanemonitoring/feature.go index 693b901241..bf39e479b6 100644 --- a/internal/controller/datadogagent/feature/controlplanemonitoring/feature.go +++ b/internal/controller/datadogagent/feature/controlplanemonitoring/feature.go @@ -51,6 +51,7 @@ func (f *controlPlaneMonitoringFeature) ID() feature.IDType { // Configure is used to configure the feature from a v2alpha1.DatadogAgent instance. func (f *controlPlaneMonitoringFeature) Configure(dda metav1.Object, ddaSpec *v2alpha1.DatadogAgentSpec, _ *v2alpha1.RemoteConfigConfiguration) (reqComp feature.RequiredComponents) { f.owner = dda + f.provider = dda.GetAnnotations()[kubernetes.ProviderAnnotationKey] f.defaultConfigMapName = defaultConfigMapName f.openshiftConfigMapName = openshiftConfigMapName f.eksConfigMapName = eksConfigMapName @@ -67,13 +68,12 @@ func (f *controlPlaneMonitoringFeature) Configure(dda metav1.Object, ddaSpec *v2 // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *controlPlaneMonitoringFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *controlPlaneMonitoringFeature) ManageDependencies(managers feature.ResourceManagers) error { if !f.enabled { return nil } - f.provider = provider // Create ConfigMaps for control plane monitoring - providerLabel, _ := kubernetes.GetProviderLabelKeyValue(provider) + providerLabel, _ := kubernetes.GetProviderLabelKeyValue(f.provider) if providerLabel == kubernetes.OpenShiftProviderLabel { // OpenShift ConfigMap openshiftConfigMap, err2 := f.buildControlPlaneMonitoringConfigMap(kubernetes.OpenShiftProviderLabel, f.openshiftConfigMapName) @@ -93,7 +93,7 @@ func (f *controlPlaneMonitoringFeature) ManageDependencies(managers feature.Reso f.logger.Info("OpenShift control plane monitoring requires manual etcd secret copy", "command", copyCommand, "note", "Run this command if cluster-checks-runner and node-agent pods fail to start due to missing etcd-metric-cert secret") - } else if provider == kubernetes.EKSCloudProvider { + } else if f.provider == kubernetes.EKSCloudProvider { // EKS ConfigMap eksConfigMap, err2 := f.buildControlPlaneMonitoringConfigMap(kubernetes.EKSProviderLabel, f.eksConfigMapName) if err2 != nil { @@ -110,15 +110,14 @@ func (f *controlPlaneMonitoringFeature) ManageDependencies(managers feature.Reso } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec -func (f *controlPlaneMonitoringFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { - f.provider = provider - providerLabel, _ := kubernetes.GetProviderLabelKeyValue(provider) +func (f *controlPlaneMonitoringFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { + providerLabel, _ := kubernetes.GetProviderLabelKeyValue(f.provider) // Select the appropriate configmap based on provider var configMapName string if providerLabel == kubernetes.OpenShiftProviderLabel { configMapName = f.openshiftConfigMapName - } else if provider == kubernetes.EKSCloudProvider { + } else if f.provider == kubernetes.EKSCloudProvider { configMapName = f.eksConfigMapName } else { return nil @@ -233,13 +232,13 @@ func (f *controlPlaneMonitoringFeature) ManageClusterAgent(managers feature.PodT // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *controlPlaneMonitoringFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *controlPlaneMonitoringFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *controlPlaneMonitoringFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *controlPlaneMonitoringFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { providerLabel, _ := kubernetes.GetProviderLabelKeyValue(f.provider) if providerLabel == kubernetes.OpenShiftProviderLabel { // Add etcd-certs volume (secret) @@ -283,7 +282,7 @@ func (f *controlPlaneMonitoringFeature) ManageNodeAgent(managers feature.PodTemp } // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec -func (f *controlPlaneMonitoringFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *controlPlaneMonitoringFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { providerLabel, _ := kubernetes.GetProviderLabelKeyValue(f.provider) if providerLabel == kubernetes.OpenShiftProviderLabel { // Add etcd-certs volume (secret) @@ -325,6 +324,6 @@ func (f *controlPlaneMonitoringFeature) ManageClusterChecksRunner(managers featu return nil } -func (f *controlPlaneMonitoringFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *controlPlaneMonitoringFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/cspm/feature.go b/internal/controller/datadogagent/feature/cspm/feature.go index 38b3cbae0a..251d48b0c5 100644 --- a/internal/controller/datadogagent/feature/cspm/feature.go +++ b/internal/controller/datadogagent/feature/cspm/feature.go @@ -145,7 +145,7 @@ func mergeConfigs(ddaSpec *v2alpha1.DatadogAgentSpec, ddaRCStatus *v2alpha1.Remo // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *cspmFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *cspmFeature) ManageDependencies(managers feature.ResourceManagers) error { // Create configMap if one does not already exist and ConfigData is defined if f.customConfig != nil && f.customConfig.ConfigMap == nil && f.customConfig.ConfigData != nil { cm, err := configmap.BuildConfigMapConfigData(f.owner.GetNamespace(), f.customConfig.ConfigData, f.configMapName, cspmConfFileName) @@ -174,7 +174,7 @@ func (f *cspmFeature) ManageDependencies(managers feature.ResourceManagers, prov // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *cspmFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *cspmFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { if f.customConfig != nil { var vol corev1.Volume var volMount corev1.VolumeMount @@ -235,13 +235,13 @@ func (f *cspmFeature) ManageClusterAgent(managers feature.PodTemplateManagers, p // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *cspmFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *cspmFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *cspmFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *cspmFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // Determine which container to use based on runInSystemProbe targetContainer := apicommon.SecurityAgentContainerName if f.runInSystemProbe { @@ -377,10 +377,10 @@ func (f *cspmFeature) ManageNodeAgent(managers feature.PodTemplateManagers, prov // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *cspmFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *cspmFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *cspmFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *cspmFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/cws/feature.go b/internal/controller/datadogagent/feature/cws/feature.go index 5efbc388ad..be61445ab6 100644 --- a/internal/controller/datadogagent/feature/cws/feature.go +++ b/internal/controller/datadogagent/feature/cws/feature.go @@ -152,7 +152,7 @@ func mergeConfigs(ddaSpec *v2alpha1.DatadogAgentSpec, ddaRCStatus *v2alpha1.Remo // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *cwsFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *cwsFeature) ManageDependencies(managers feature.ResourceManagers) error { // Create configMap if one does not already exist and ConfigData is defined if f.customConfig != nil && f.customConfig.ConfigMap == nil && f.customConfig.ConfigData != nil { cm, err := configmap.BuildConfigMapConfigData(f.owner.GetNamespace(), f.customConfig.ConfigData, f.configMapName, cwsConfFileName) @@ -177,20 +177,20 @@ func (f *cwsFeature) ManageDependencies(managers feature.ResourceManagers, provi // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *cwsFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *cwsFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *cwsFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *cwsFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *cwsFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *cwsFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // enable HostPID for system-probe managers.PodTemplateSpec().Spec.HostPID = true @@ -399,10 +399,10 @@ func (f *cwsFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provi // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *cwsFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *cwsFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *cwsFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *cwsFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/dataplane/feature.go b/internal/controller/datadogagent/feature/dataplane/feature.go index 717bd39308..e4ac76af88 100644 --- a/internal/controller/datadogagent/feature/dataplane/feature.go +++ b/internal/controller/datadogagent/feature/dataplane/feature.go @@ -70,26 +70,26 @@ func (f *dataPlaneFeature) Configure(dda metav1.Object, ddaSpec *v2alpha1.Datado // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *dataPlaneFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *dataPlaneFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *dataPlaneFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *dataPlaneFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *dataPlaneFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { - return f.ManageNodeAgent(managers, provider) +func (f *dataPlaneFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { + return f.ManageNodeAgent(managers) } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *dataPlaneFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *dataPlaneFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // We set the relevant configuration on the Core Agent specifically, which trickles down to the Data Plane when it // queries the Core Agent for its configuration. // @@ -125,10 +125,10 @@ func (f *dataPlaneFeature) ManageNodeAgent(managers feature.PodTemplateManagers, // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *dataPlaneFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *dataPlaneFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *dataPlaneFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *dataPlaneFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/dogstatsd/feature.go b/internal/controller/datadogagent/feature/dogstatsd/feature.go index af30efff88..105d96d0f0 100644 --- a/internal/controller/datadogagent/feature/dogstatsd/feature.go +++ b/internal/controller/datadogagent/feature/dogstatsd/feature.go @@ -132,7 +132,7 @@ func (f *dogstatsdFeature) Configure(dda metav1.Object, ddaSpec *v2alpha1.Datado // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *dogstatsdFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *dogstatsdFeature) ManageDependencies(managers feature.ResourceManagers) error { platformInfo := managers.Store().GetPlatformInfo() // agent local service if common.ShouldCreateAgentLocalService(platformInfo.GetVersionInfo(), f.forceEnableLocalService) { @@ -160,7 +160,7 @@ func (f *dogstatsdFeature) ManageDependencies(managers feature.ResourceManagers, // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *dogstatsdFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *dogstatsdFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { if f.udsEnabled { managers.EnvVar().AddEnvVarToContainer(apicommon.ClusterAgentContainerName, &corev1.EnvVar{ Name: DDDogstatsdHostSocketPath, @@ -177,8 +177,8 @@ func (f *dogstatsdFeature) ManageClusterAgent(managers feature.PodTemplateManage // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *dogstatsdFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { - f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers, provider) +func (f *dogstatsdFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { + f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers) if f.dataPlaneEnabled && f.dataPlaneDogstatsdEnabled && !f.agentSupportsADPDelegation { managers.EnvVar().AddEnvVarToContainer(apicommon.UnprivilegedSingleAgentContainerName, &corev1.EnvVar{ Name: common.DDDogstatsdEnabled, @@ -190,14 +190,14 @@ func (f *dogstatsdFeature) ManageSingleContainerNodeAgent(managers feature.PodTe // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *dogstatsdFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *dogstatsdFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // When the Data Plane feature is enabled, and handling DogStatsD, we apply the DSD configuration to the Data Plane // container instead. On Agent >= 7.75, the Core Agent observes DD_DATA_PLANE_ENABLED and // DD_DATA_PLANE_DOGSTATSD_ENABLED (set by the dataplane feature) and disables its own DSD server // automatically. On older agents those flags are unknown, so we set DD_USE_DOGSTATSD=false // explicitly to prevent a bind conflict between Core Agent DSD and ADP DSD. if f.dataPlaneEnabled && f.dataPlaneDogstatsdEnabled { - f.manageNodeAgent(apicommon.AgentDataPlaneContainerName, managers, provider) + f.manageNodeAgent(apicommon.AgentDataPlaneContainerName, managers) if !f.agentSupportsADPDelegation { managers.EnvVar().AddEnvVarToContainer(apicommon.CoreAgentContainerName, &corev1.EnvVar{ Name: common.DDDogstatsdEnabled, @@ -205,13 +205,13 @@ func (f *dogstatsdFeature) ManageNodeAgent(managers feature.PodTemplateManagers, }) } } else { - f.manageNodeAgent(apicommon.CoreAgentContainerName, managers, provider) + f.manageNodeAgent(apicommon.CoreAgentContainerName, managers) } return nil } -func (f *dogstatsdFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers, provider string) error { +func (f *dogstatsdFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers) error { // udp dogstatsdPort := &corev1.ContainerPort{ Name: defaultDogstatsdPortName, @@ -308,10 +308,10 @@ func (f *dogstatsdFeature) manageNodeAgent(agentContainerName apicommon.AgentCon // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *dogstatsdFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *dogstatsdFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *dogstatsdFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *dogstatsdFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/dummy/feature.go b/internal/controller/datadogagent/feature/dummy/feature.go index 4350ab938c..17b52598d9 100644 --- a/internal/controller/datadogagent/feature/dummy/feature.go +++ b/internal/controller/datadogagent/feature/dummy/feature.go @@ -41,13 +41,13 @@ func (f *dummyFeature) Configure(_ metav1.Object, _ *v2alpha1.DatadogAgentSpec, // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *dummyFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *dummyFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *dummyFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *dummyFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { podTemplate := managers.PodTemplateSpec() if podTemplate.Labels == nil { podTemplate.Labels = make(map[string]string) @@ -59,22 +59,22 @@ func (f *dummyFeature) ManageClusterAgent(managers feature.PodTemplateManagers, // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *dummyFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *dummyFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *dummyFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *dummyFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunnerAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *dummyFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *dummyFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *dummyFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *dummyFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/ebpfcheck/feature.go b/internal/controller/datadogagent/feature/ebpfcheck/feature.go index 741f676f0a..c8a26dc015 100644 --- a/internal/controller/datadogagent/feature/ebpfcheck/feature.go +++ b/internal/controller/datadogagent/feature/ebpfcheck/feature.go @@ -53,19 +53,19 @@ func (f *ebpfCheckFeature) Configure(_ metav1.Object, ddaSpec *v2alpha1.DatadogA // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *ebpfCheckFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *ebpfCheckFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *ebpfCheckFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *ebpfCheckFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *ebpfCheckFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *ebpfCheckFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // security context capabilities managers.SecurityContext().AddCapabilitiesToContainer(agent.DefaultCapabilitiesForSystemProbe(), apicommon.SystemProbeContainerName) @@ -105,16 +105,16 @@ func (f *ebpfCheckFeature) ManageNodeAgent(managers feature.PodTemplateManagers, // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *ebpfCheckFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *ebpfCheckFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *ebpfCheckFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *ebpfCheckFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *ebpfCheckFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *ebpfCheckFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/enabledefault/feature.go b/internal/controller/datadogagent/feature/enabledefault/feature.go index 9f1a8959ab..51abd700e3 100644 --- a/internal/controller/datadogagent/feature/enabledefault/feature.go +++ b/internal/controller/datadogagent/feature/enabledefault/feature.go @@ -59,35 +59,35 @@ func (f *defaultFeature) Configure(dda metav1.Object, ddaSpec *v2alpha1.DatadogA // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *defaultFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *defaultFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *defaultFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *defaultFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *defaultFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *defaultFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *defaultFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *defaultFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunnerAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *defaultFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *defaultFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *defaultFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *defaultFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/eventcollection/feature.go b/internal/controller/datadogagent/feature/eventcollection/feature.go index eada1cb0b6..a505f61115 100644 --- a/internal/controller/datadogagent/feature/eventcollection/feature.go +++ b/internal/controller/datadogagent/feature/eventcollection/feature.go @@ -97,7 +97,7 @@ func (f *eventCollectionFeature) Configure(dda metav1.Object, ddaSpec *v2alpha1. // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *eventCollectionFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *eventCollectionFeature) ManageDependencies(managers feature.ResourceManagers) error { // Manage RBAC rbacName := getRBACResourceName(f.owner, f.rbacSuffix) @@ -145,7 +145,7 @@ func (f *eventCollectionFeature) ManageDependencies(managers feature.ResourceMan // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *eventCollectionFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *eventCollectionFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { // Env vars managers.EnvVar().AddEnvVarToContainer(apicommon.ClusterAgentContainerName, &corev1.EnvVar{ Name: DDCollectKubernetesEvents, @@ -191,22 +191,22 @@ func (f *eventCollectionFeature) ManageClusterAgent(managers feature.PodTemplate // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *eventCollectionFeature) ManageSingleContainerNodeAgent(_ feature.PodTemplateManagers, _ string) error { +func (f *eventCollectionFeature) ManageSingleContainerNodeAgent(_ feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *eventCollectionFeature) ManageNodeAgent(_ feature.PodTemplateManagers, _ string) error { +func (f *eventCollectionFeature) ManageNodeAgent(_ feature.PodTemplateManagers) error { return nil } // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *eventCollectionFeature) ManageClusterChecksRunner(_ feature.PodTemplateManagers, _ string) error { +func (f *eventCollectionFeature) ManageClusterChecksRunner(_ feature.PodTemplateManagers) error { return nil } -func (f *eventCollectionFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *eventCollectionFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/externalmetrics/feature.go b/internal/controller/datadogagent/feature/externalmetrics/feature.go index 7f75d74aa6..2dbc7b4c27 100644 --- a/internal/controller/datadogagent/feature/externalmetrics/feature.go +++ b/internal/controller/datadogagent/feature/externalmetrics/feature.go @@ -148,7 +148,7 @@ func (f *externalMetricsFeature) Configure(dda metav1.Object, ddaSpec *v2alpha1. // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *externalMetricsFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *externalMetricsFeature) ManageDependencies(managers feature.ResourceManagers) error { ns := f.owner.GetNamespace() // service emPorts := []corev1.ServicePort{ @@ -266,7 +266,7 @@ func (f *externalMetricsFeature) ManageDependencies(managers feature.ResourceMan // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *externalMetricsFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *externalMetricsFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { managers.EnvVar().AddEnvVarToContainer(apicommon.ClusterAgentContainerName, &corev1.EnvVar{ Name: DDExternalMetricsProviderEnabled, Value: "true", @@ -342,22 +342,22 @@ func (f *externalMetricsFeature) ManageClusterAgent(managers feature.PodTemplate // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *externalMetricsFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *externalMetricsFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *externalMetricsFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *externalMetricsFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *externalMetricsFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *externalMetricsFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *externalMetricsFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *externalMetricsFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/flightrecorder/feature.go b/internal/controller/datadogagent/feature/flightrecorder/feature.go index a263186a44..6e1e7482dd 100644 --- a/internal/controller/datadogagent/feature/flightrecorder/feature.go +++ b/internal/controller/datadogagent/feature/flightrecorder/feature.go @@ -64,23 +64,23 @@ func (f *flightRecorderFeature) Configure(dda metav1.Object, _ *v2alpha1.Datadog } // ManageDependencies allows a feature to manage its dependencies. -func (f *flightRecorderFeature) ManageDependencies(_ feature.ResourceManagers, _ string) error { +func (f *flightRecorderFeature) ManageDependencies(_ feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec. -func (f *flightRecorderFeature) ManageClusterAgent(_ feature.PodTemplateManagers, _ string) error { +func (f *flightRecorderFeature) ManageClusterAgent(_ feature.PodTemplateManagers) error { return nil } // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. -func (f *flightRecorderFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { - return f.ManageNodeAgent(managers, provider) +func (f *flightRecorderFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { + return f.ManageNodeAgent(managers) } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec. -func (f *flightRecorderFeature) ManageNodeAgent(managers feature.PodTemplateManagers, _ string) error { +func (f *flightRecorderFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { if !f.enabled { return nil } @@ -152,11 +152,11 @@ func (f *flightRecorderFeature) ManageNodeAgent(managers feature.PodTemplateMana } // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec. -func (f *flightRecorderFeature) ManageClusterChecksRunner(_ feature.PodTemplateManagers, _ string) error { +func (f *flightRecorderFeature) ManageClusterChecksRunner(_ feature.PodTemplateManagers) error { return nil } // ManageOtelAgentGateway allows a feature to configure the OTel Agent Gateway's corev1.PodTemplateSpec. -func (f *flightRecorderFeature) ManageOtelAgentGateway(_ feature.PodTemplateManagers, _ string) error { +func (f *flightRecorderFeature) ManageOtelAgentGateway(_ feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/gpu/feature.go b/internal/controller/datadogagent/feature/gpu/feature.go index d56c8a77b0..c77c2c4644 100644 --- a/internal/controller/datadogagent/feature/gpu/feature.go +++ b/internal/controller/datadogagent/feature/gpu/feature.go @@ -77,13 +77,13 @@ func (f *gpuFeature) Configure(_ metav1.Object, ddaSpec *v2alpha1.DatadogAgentSp // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *gpuFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *gpuFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *gpuFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *gpuFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } @@ -199,7 +199,7 @@ func (f *gpuFeature) configureCgroupPermissions(managers feature.PodTemplateMana // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *gpuFeature) ManageNodeAgent(managers feature.PodTemplateManagers, _ string) error { +func (f *gpuFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // env var to enable the GPU core check enableCoreCheckEnvVar := &corev1.EnvVar{ Name: DDEnableGPUMonitoringCheckEnvVar, @@ -271,16 +271,16 @@ func (f *gpuFeature) ManageNodeAgent(managers feature.PodTemplateManagers, _ str // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *gpuFeature) ManageSingleContainerNodeAgent(feature.PodTemplateManagers, string) error { +func (f *gpuFeature) ManageSingleContainerNodeAgent(feature.PodTemplateManagers) error { return nil } // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *gpuFeature) ManageClusterChecksRunner(feature.PodTemplateManagers, string) error { +func (f *gpuFeature) ManageClusterChecksRunner(feature.PodTemplateManagers) error { return nil } -func (f *gpuFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *gpuFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/helmcheck/feature.go b/internal/controller/datadogagent/feature/helmcheck/feature.go index e2fb3b1d76..7f0017fd2d 100644 --- a/internal/controller/datadogagent/feature/helmcheck/feature.go +++ b/internal/controller/datadogagent/feature/helmcheck/feature.go @@ -113,7 +113,7 @@ func (f *helmCheckFeature) Configure(dda metav1.Object, ddaSpec *v2alpha1.Datado // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *helmCheckFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *helmCheckFeature) ManageDependencies(managers feature.ResourceManagers) error { if f.config != nil { // Add md5 hash annotation for configMap if f.configAnnotationKey != "" && f.configAnnotationValue != "" { @@ -133,7 +133,7 @@ func (f *helmCheckFeature) ManageDependencies(managers feature.ResourceManagers, // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *helmCheckFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *helmCheckFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { // Manage Helm check config in configMap var vol corev1.Volume var volMount corev1.VolumeMount @@ -159,22 +159,22 @@ func (f *helmCheckFeature) ManageClusterAgent(managers feature.PodTemplateManage // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *helmCheckFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *helmCheckFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *helmCheckFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *helmCheckFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunnerAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *helmCheckFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *helmCheckFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *helmCheckFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *helmCheckFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/hostprofiler/feature.go b/internal/controller/datadogagent/feature/hostprofiler/feature.go index 4b9651d17e..6879156ed1 100644 --- a/internal/controller/datadogagent/feature/hostprofiler/feature.go +++ b/internal/controller/datadogagent/feature/hostprofiler/feature.go @@ -63,18 +63,18 @@ func (o *hostProfilerFeature) Configure(dda metav1.Object, ddaSpec *v2alpha1.Dat return reqComp } -func (o *hostProfilerFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (o *hostProfilerFeature) ManageDependencies(managers feature.ResourceManagers) error { if o.hostPIDDisabledManually { return errHostPIDDisabledManually } return nil } -func (o *hostProfilerFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (o *hostProfilerFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } -func (o *hostProfilerFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (o *hostProfilerFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { if o.hostPIDDisabledManually { return errHostPIDDisabledManually } @@ -118,14 +118,14 @@ func (o *hostProfilerFeature) ManageNodeAgent(managers feature.PodTemplateManage return nil } -func (o *hostProfilerFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (o *hostProfilerFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } -func (o *hostProfilerFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (o *hostProfilerFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (o *hostProfilerFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (o *hostProfilerFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/kubernetesstatecore/feature.go b/internal/controller/datadogagent/feature/kubernetesstatecore/feature.go index fe78fe486e..2721bc0044 100644 --- a/internal/controller/datadogagent/feature/kubernetesstatecore/feature.go +++ b/internal/controller/datadogagent/feature/kubernetesstatecore/feature.go @@ -188,7 +188,7 @@ type collectorOptions struct { // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *ksmFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *ksmFeature) ManageDependencies(managers feature.ResourceManagers) error { // Create a configMap if CustomConfig.ConfigData is provided and CustomConfig.ConfigMap == nil, // OR if the default configMap is needed. pInfo := managers.Store().GetPlatformInfo() @@ -222,7 +222,7 @@ func (f *ksmFeature) ManageDependencies(managers feature.ResourceManagers, provi // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *ksmFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *ksmFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { // Manage KSM config in configmap var vol corev1.Volume var volMount corev1.VolumeMount @@ -265,7 +265,7 @@ func (f *ksmFeature) ManageClusterAgent(managers feature.PodTemplateManagers, pr // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *ksmFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *ksmFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { // Remove ksm v1 conf if the cluster checks are enabled and the ksm core is enabled ignoreAutoConf := &corev1.EnvVar{ Name: DDIgnoreAutoConf, @@ -277,7 +277,7 @@ func (f *ksmFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplate // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *ksmFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *ksmFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // Remove ksm v1 conf if the cluster checks are enabled and the ksm core is enabled ignoreAutoConf := &corev1.EnvVar{ Name: DDIgnoreAutoConf, @@ -289,10 +289,10 @@ func (f *ksmFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provi // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunnerAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *ksmFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *ksmFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *ksmFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *ksmFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/livecontainer/feature.go b/internal/controller/datadogagent/feature/livecontainer/feature.go index 77a74da33b..af676709a7 100644 --- a/internal/controller/datadogagent/feature/livecontainer/feature.go +++ b/internal/controller/datadogagent/feature/livecontainer/feature.go @@ -67,32 +67,32 @@ func (f *liveContainerFeature) Configure(_ metav1.Object, ddaSpec *v2alpha1.Data // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *liveContainerFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *liveContainerFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *liveContainerFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *liveContainerFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *liveContainerFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *liveContainerFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { runInCoreAgentEnvVar := &corev1.EnvVar{ Name: common.DDProcessConfigRunInCoreAgent, Value: apiutils.BoolToString(&f.runInCoreAgent), } managers.EnvVar().AddEnvVarToContainer(apicommon.UnprivilegedSingleAgentContainerName, runInCoreAgentEnvVar) - f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers, provider) + f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers) return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *liveContainerFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *liveContainerFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // Always add this envvar to Core and Process containers runInCoreAgentEnvVar := &corev1.EnvVar{ Name: common.DDProcessConfigRunInCoreAgent, @@ -105,11 +105,11 @@ func (f *liveContainerFeature) ManageNodeAgent(managers feature.PodTemplateManag if !f.runInCoreAgent { containerName = apicommon.ProcessAgentContainerName } - f.manageNodeAgent(containerName, managers, provider) + f.manageNodeAgent(containerName, managers) return nil } -func (f *liveContainerFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers, provider string) error { +func (f *liveContainerFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers) error { // cgroups volume mount cgroupsVol, cgroupsVolMount := volume.GetVolumes(common.CgroupsVolumeName, common.CgroupsHostPath, common.CgroupsMountPath, true) @@ -131,10 +131,10 @@ func (f *liveContainerFeature) manageNodeAgent(agentContainerName apicommon.Agen // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *liveContainerFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *liveContainerFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *liveContainerFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *liveContainerFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/liveprocess/feature.go b/internal/controller/datadogagent/feature/liveprocess/feature.go index 29a043d1f0..6ee831e964 100644 --- a/internal/controller/datadogagent/feature/liveprocess/feature.go +++ b/internal/controller/datadogagent/feature/liveprocess/feature.go @@ -75,32 +75,32 @@ func (f *liveProcessFeature) Configure(_ metav1.Object, ddaSpec *v2alpha1.Datado // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *liveProcessFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *liveProcessFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *liveProcessFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *liveProcessFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *liveProcessFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *liveProcessFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { runInCoreAgentEnvVar := &corev1.EnvVar{ Name: common.DDProcessConfigRunInCoreAgent, Value: apiutils.BoolToString(&f.runInCoreAgent), } managers.EnvVar().AddEnvVarToContainer(apicommon.UnprivilegedSingleAgentContainerName, runInCoreAgentEnvVar) - f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers, provider) + f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers) return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *liveProcessFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *liveProcessFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // Always add this envvar to Core and Process containers runInCoreAgentEnvVar := &corev1.EnvVar{ Name: common.DDProcessConfigRunInCoreAgent, @@ -113,11 +113,11 @@ func (f *liveProcessFeature) ManageNodeAgent(managers feature.PodTemplateManager if !f.runInCoreAgent { containerName = apicommon.ProcessAgentContainerName } - f.manageNodeAgent(containerName, managers, provider) + f.manageNodeAgent(containerName, managers) return nil } -func (f *liveProcessFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers, provider string) error { +func (f *liveProcessFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers) error { // passwd volume mount passwdVol, passwdVolMount := volume.GetVolumes(common.PasswdVolumeName, common.PasswdHostPath, common.PasswdMountPath, true) @@ -162,10 +162,10 @@ func (f *liveProcessFeature) manageNodeAgent(agentContainerName apicommon.AgentC // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *liveProcessFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *liveProcessFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *liveProcessFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *liveProcessFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/logcollection/feature.go b/internal/controller/datadogagent/feature/logcollection/feature.go index 2668320017..ba06041a06 100644 --- a/internal/controller/datadogagent/feature/logcollection/feature.go +++ b/internal/controller/datadogagent/feature/logcollection/feature.go @@ -87,32 +87,32 @@ func (f *logCollectionFeature) Configure(_ metav1.Object, ddaSpec *v2alpha1.Data // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *logCollectionFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *logCollectionFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *logCollectionFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *logCollectionFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *logCollectionFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { - f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers, provider) +func (f *logCollectionFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { + f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers) return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *logCollectionFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { - f.manageNodeAgent(apicommon.CoreAgentContainerName, managers, provider) +func (f *logCollectionFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { + f.manageNodeAgent(apicommon.CoreAgentContainerName, managers) return nil } -func (f *logCollectionFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers, provider string) error { +func (f *logCollectionFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers) error { // run path volume mount (replace default empty dir volume) pointerVol, pointerVolMount := volume.GetVolumes(pointerVolumeName, f.tempStoragePath, pointerVolumePath, false) managers.VolumeMount().AddVolumeMountToContainerWithMergeFunc(&pointerVolMount, agentContainerName, merger.OverrideCurrentVolumeMountMergeFunction) @@ -164,10 +164,10 @@ func (f *logCollectionFeature) manageNodeAgent(agentContainerName apicommon.Agen // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunnerAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *logCollectionFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *logCollectionFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *logCollectionFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *logCollectionFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/npm/feature.go b/internal/controller/datadogagent/feature/npm/feature.go index 66d03c73cb..52db24bf01 100644 --- a/internal/controller/datadogagent/feature/npm/feature.go +++ b/internal/controller/datadogagent/feature/npm/feature.go @@ -75,26 +75,26 @@ func (f *npmFeature) Configure(_ metav1.Object, ddaSpec *v2alpha1.DatadogAgentSp // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *npmFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *npmFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *npmFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *npmFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *npmFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *npmFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *npmFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *npmFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // enable HostPID for system-probe managers.PodTemplateSpec().Spec.HostPID = true @@ -191,10 +191,10 @@ func (f *npmFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provi // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *npmFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *npmFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *npmFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *npmFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/oomkill/feature.go b/internal/controller/datadogagent/feature/oomkill/feature.go index 18de450a71..7fe0e453f2 100644 --- a/internal/controller/datadogagent/feature/oomkill/feature.go +++ b/internal/controller/datadogagent/feature/oomkill/feature.go @@ -17,7 +17,6 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/agent" "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/kubernetes" ) func init() { @@ -54,26 +53,26 @@ func (f *oomKillFeature) Configure(_ metav1.Object, ddaSpec *v2alpha1.DatadogAge // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *oomKillFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *oomKillFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *oomKillFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *oomKillFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *oomKillFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *oomKillFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *oomKillFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *oomKillFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // security context capabilities managers.SecurityContext().AddCapabilitiesToContainer(agent.DefaultCapabilitiesForSystemProbe(), apicommon.SystemProbeContainerName) @@ -83,12 +82,9 @@ func (f *oomKillFeature) ManageNodeAgent(managers feature.PodTemplateManagers, p managers.Volume().AddVolume(&modulesVol) // src volume mount - _, providerValue := kubernetes.GetProviderLabelKeyValue(provider) - if providerValue != kubernetes.GKECosType { - srcVol, srcVolMount := volume.GetVolumes(common.SrcVolumeName, common.SrcVolumePath, common.SrcVolumePath, true) - managers.VolumeMount().AddVolumeMountToContainer(&srcVolMount, apicommon.SystemProbeContainerName) - managers.Volume().AddVolume(&srcVol) - } + srcVol, srcVolMount := volume.GetVolumes(common.SrcVolumeName, common.SrcVolumePath, common.SrcVolumePath, true) + managers.VolumeMount().AddVolumeMountToContainer(&srcVolMount, apicommon.SystemProbeContainerName) + managers.Volume().AddVolume(&srcVol) // debugfs volume mount debugfsVol, debugfsVolMount := volume.GetVolumes(common.DebugfsVolumeName, common.DebugfsPath, common.DebugfsPath, false) @@ -122,10 +118,10 @@ func (f *oomKillFeature) ManageNodeAgent(managers feature.PodTemplateManagers, p // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *oomKillFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *oomKillFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *oomKillFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *oomKillFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/orchestratorexplorer/feature.go b/internal/controller/datadogagent/feature/orchestratorexplorer/feature.go index 1e87c7a1b8..777afdb88a 100644 --- a/internal/controller/datadogagent/feature/orchestratorexplorer/feature.go +++ b/internal/controller/datadogagent/feature/orchestratorexplorer/feature.go @@ -185,7 +185,7 @@ func (f *orchestratorExplorerFeature) mergeConfigs(ddaSpec *v2alpha1.DatadogAgen // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *orchestratorExplorerFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *orchestratorExplorerFeature) ManageDependencies(managers feature.ResourceManagers) error { // Create a configMap if CustomConfig.ConfigData is provided and CustomConfig.ConfigMap == nil, // OR if the default configMap is needed. configCM, err := f.buildOrchestratorExplorerConfigMap() @@ -211,7 +211,7 @@ func (f *orchestratorExplorerFeature) ManageDependencies(managers feature.Resour // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *orchestratorExplorerFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *orchestratorExplorerFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { // Add the env var to explicitly disable this feature // Otherwise, this feature is enabled by default in the Agent code managers.EnvVar().AddEnvVar(f.getEnabledEnvVar()) @@ -258,7 +258,7 @@ func (f *orchestratorExplorerFeature) ManageClusterAgent(managers feature.PodTem // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *orchestratorExplorerFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *orchestratorExplorerFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { // Add the env var to explicitly disable this feature // Otherwise, this feature is enabled by default in the Agent code managers.EnvVar().AddEnvVar(f.getEnabledEnvVar()) @@ -275,7 +275,7 @@ func (f *orchestratorExplorerFeature) ManageSingleContainerNodeAgent(managers fe // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *orchestratorExplorerFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *orchestratorExplorerFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { containers := []apicommon.AgentContainerName{apicommon.CoreAgentContainerName} if f.processAgentRequired { containers = append(containers, apicommon.ProcessAgentContainerName) @@ -297,7 +297,7 @@ func (f *orchestratorExplorerFeature) ManageNodeAgent(managers feature.PodTempla // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *orchestratorExplorerFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *orchestratorExplorerFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { if f.runInClusterChecksRunner { // Add the env var to explicitly disable this feature // Otherwise, this feature is enabled by default in the Agent code @@ -314,6 +314,6 @@ func (f *orchestratorExplorerFeature) ManageClusterChecksRunner(managers feature return nil } -func (f *orchestratorExplorerFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *orchestratorExplorerFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/otelagentgateway/feature.go b/internal/controller/datadogagent/feature/otelagentgateway/feature.go index a08d92b95a..b46ff60ed6 100644 --- a/internal/controller/datadogagent/feature/otelagentgateway/feature.go +++ b/internal/controller/datadogagent/feature/otelagentgateway/feature.go @@ -128,7 +128,7 @@ func (f *otelAgentGatewayFeature) buildOTelAgentCoreConfigMap() (*corev1.ConfigM return nil, nil } -func (f *otelAgentGatewayFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *otelAgentGatewayFeature) ManageDependencies(managers feature.ResourceManagers) error { // check if an otel collector config was provided. If not, use default. if f.customConfig == nil { f.customConfig = &v2alpha1.CustomConfig{} @@ -193,27 +193,27 @@ func (f *otelAgentGatewayFeature) ManageDependencies(managers feature.ResourceMa return nil } -func (f *otelAgentGatewayFeature) ManageClusterAgent(feature.PodTemplateManagers, string) error { +func (f *otelAgentGatewayFeature) ManageClusterAgent(feature.PodTemplateManagers) error { // OtelAgentGateway doesn't need to configure the Cluster Agent return nil } -func (f *otelAgentGatewayFeature) ManageSingleContainerNodeAgent(feature.PodTemplateManagers, string) error { +func (f *otelAgentGatewayFeature) ManageSingleContainerNodeAgent(feature.PodTemplateManagers) error { // OtelAgentGateway doesn't need to configure the Node Agent return nil } -func (f *otelAgentGatewayFeature) ManageNodeAgent(feature.PodTemplateManagers, string) error { +func (f *otelAgentGatewayFeature) ManageNodeAgent(feature.PodTemplateManagers) error { // OtelAgentGateway doesn't need to configure the Node Agent return nil } -func (f *otelAgentGatewayFeature) ManageClusterChecksRunner(feature.PodTemplateManagers, string) error { +func (f *otelAgentGatewayFeature) ManageClusterChecksRunner(feature.PodTemplateManagers) error { // OtelAgentGateway doesn't need to configure the Cluster Checks Runner return nil } -func (f *otelAgentGatewayFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *otelAgentGatewayFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { var vol corev1.Volume if f.customConfig != nil && f.customConfig.ConfigMap != nil { // Custom config is referenced via ConfigMap diff --git a/internal/controller/datadogagent/feature/otelagentgateway/feature_test.go b/internal/controller/datadogagent/feature/otelagentgateway/feature_test.go index 4cc4ea19e3..a11539ff6e 100644 --- a/internal/controller/datadogagent/feature/otelagentgateway/feature_test.go +++ b/internal/controller/datadogagent/feature/otelagentgateway/feature_test.go @@ -372,24 +372,24 @@ func Test_otelAgentGatewayFeature_ID(t *testing.T) { func Test_otelAgentGatewayFeature_ManageClusterAgent(t *testing.T) { feat := &otelAgentGatewayFeature{} - err := feat.ManageClusterAgent(nil, "") + err := feat.ManageClusterAgent(nil) assert.NoError(t, err) } func Test_otelAgentGatewayFeature_ManageSingleContainerNodeAgent(t *testing.T) { feat := &otelAgentGatewayFeature{} - err := feat.ManageSingleContainerNodeAgent(nil, "") + err := feat.ManageSingleContainerNodeAgent(nil) assert.NoError(t, err) } func Test_otelAgentGatewayFeature_ManageNodeAgent(t *testing.T) { feat := &otelAgentGatewayFeature{} - err := feat.ManageNodeAgent(nil, "") + err := feat.ManageNodeAgent(nil) assert.NoError(t, err) } func Test_otelAgentGatewayFeature_ManageClusterChecksRunner(t *testing.T) { feat := &otelAgentGatewayFeature{} - err := feat.ManageClusterChecksRunner(nil, "") + err := feat.ManageClusterChecksRunner(nil) assert.NoError(t, err) } diff --git a/internal/controller/datadogagent/feature/otelcollector/feature.go b/internal/controller/datadogagent/feature/otelcollector/feature.go index f18987a059..63f56b1173 100644 --- a/internal/controller/datadogagent/feature/otelcollector/feature.go +++ b/internal/controller/datadogagent/feature/otelcollector/feature.go @@ -195,7 +195,7 @@ func (o *otelCollectorFeature) buildOTelAgentCoreConfigMap() (*corev1.ConfigMap, return nil, nil } -func (o *otelCollectorFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (o *otelCollectorFeature) ManageDependencies(managers feature.ResourceManagers) error { if o.incompatibleImage { return errIncompatibleImage } @@ -272,11 +272,11 @@ func (o *otelCollectorFeature) ManageDependencies(managers feature.ResourceManag return nil } -func (o *otelCollectorFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (o *otelCollectorFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } -func (o *otelCollectorFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (o *otelCollectorFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { if o.incompatibleImage { return errIncompatibleImage } @@ -407,14 +407,14 @@ func (o *otelCollectorFeature) ManageNodeAgent(managers feature.PodTemplateManag return nil } -func (o *otelCollectorFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (o *otelCollectorFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } -func (o *otelCollectorFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (o *otelCollectorFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (o *otelCollectorFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (o *otelCollectorFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/otlp/feature.go b/internal/controller/datadogagent/feature/otlp/feature.go index ef2598f36b..f80dace23a 100644 --- a/internal/controller/datadogagent/feature/otlp/feature.go +++ b/internal/controller/datadogagent/feature/otlp/feature.go @@ -143,7 +143,7 @@ func (f *otlpFeature) Configure(dda metav1.Object, ddaSpec *v2alpha1.DatadogAgen // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *otlpFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *otlpFeature) ManageDependencies(managers feature.ResourceManagers) error { platformInfo := managers.Store().GetPlatformInfo() versionInfo := platformInfo.GetVersionInfo() @@ -310,7 +310,7 @@ func (f *otlpFeature) ManageDependencies(managers feature.ResourceManagers, prov // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *otlpFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *otlpFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } @@ -348,7 +348,7 @@ func extractPortEndpoint(endpoint string) (int32, error) { // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *otlpFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *otlpFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { if f.grpcEnabled { if err := validateOTLPGRPCEndpoint(f.grpcEndpoint); err != nil { f.logger.Error(err, "invalid OTLP/gRPC endpoint") @@ -408,7 +408,7 @@ func (f *otlpFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplat // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *otlpFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *otlpFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { if f.grpcEnabled { if err := validateOTLPGRPCEndpoint(f.grpcEndpoint); err != nil { f.logger.Error(err, "invalid OTLP/gRPC endpoint") @@ -474,10 +474,10 @@ func (f *otlpFeature) ManageNodeAgent(managers feature.PodTemplateManagers, prov // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *otlpFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *otlpFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *otlpFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *otlpFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/privateactionrunner/feature.go b/internal/controller/datadogagent/feature/privateactionrunner/feature.go index ebb8f64559..5eea561bba 100644 --- a/internal/controller/datadogagent/feature/privateactionrunner/feature.go +++ b/internal/controller/datadogagent/feature/privateactionrunner/feature.go @@ -122,7 +122,7 @@ func (f *privateActionRunnerFeature) Configure(dda metav1.Object, ddaSpec *v2alp } // ManageDependencies allows a feature to manage its dependencies. -func (f *privateActionRunnerFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *privateActionRunnerFeature) ManageDependencies(managers feature.ResourceManagers) error { // Handle Node Agent dependencies (ConfigMap for annotation-based config) if f.nodeEnabled { checksumKey, checksumValue, err := checksumAnnotation(f.nodeConfigData) @@ -219,7 +219,7 @@ func (f *privateActionRunnerFeature) getRbacResourcesName() string { } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec -func (f *privateActionRunnerFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *privateActionRunnerFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { if f.clusterConfig == nil || !f.clusterConfig.Enabled { return nil } @@ -266,7 +266,7 @@ func (f *privateActionRunnerFeature) ManageClusterAgent(managers feature.PodTemp } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec -func (f *privateActionRunnerFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *privateActionRunnerFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { if !f.nodeEnabled { return nil } @@ -319,19 +319,19 @@ func (f *privateActionRunnerFeature) ManageNodeAgent(managers feature.PodTemplat } // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec -func (f *privateActionRunnerFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *privateActionRunnerFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { // Private Action Runner requires separate container, not compatible with single-container mode return nil } // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunnerAgent's corev1.PodTemplateSpec -func (f *privateActionRunnerFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *privateActionRunnerFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { // Private Action Runner doesn't run in cluster checks runner return nil } // ManageOtelAgentGateway allows a feature to configure the OtelAgentGateway's corev1.PodTemplateSpec -func (f *privateActionRunnerFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *privateActionRunnerFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { // Private Action Runner doesn't run in OTel Agent Gateway return nil } diff --git a/internal/controller/datadogagent/feature/privateactionrunner/feature_test.go b/internal/controller/datadogagent/feature/privateactionrunner/feature_test.go index 501e839115..10bbf6dc25 100644 --- a/internal/controller/datadogagent/feature/privateactionrunner/feature_test.go +++ b/internal/controller/datadogagent/feature/privateactionrunner/feature_test.go @@ -103,7 +103,7 @@ func Test_privateActionRunnerFeature_ManageNodeAgent(t *testing.T) { managers := fake.NewPodTemplateManagers(t, podTmpl) // Call ManageNodeAgent - err := f.ManageNodeAgent(managers, "") + err := f.ManageNodeAgent(managers) assert.NoError(t, err) // Verify volumes (1 configmap + 3 host volumes) @@ -183,7 +183,7 @@ func Test_privateActionRunnerFeature_ProfileDDAI_ConfigMapNames(t *testing.T) { storeOptions := &store.StoreOptions{Scheme: testScheme} resourceManagers := feature.NewResourceManagers(store.NewStore(profileDDAI, storeOptions)) - err := f.ManageDependencies(resourceManagers, "") + err := f.ManageDependencies(resourceManagers) require.NoError(t, err) // Node agent ConfigMap must use the DDA name so all DDAIs share the same ConfigMap. @@ -273,7 +273,7 @@ func Test_privateActionRunnerFeature_ConfigMapContent(t *testing.T) { } resourceManagers := feature.NewResourceManagers(store.NewStore(dda, storeOptions)) - err := f.ManageDependencies(resourceManagers, "") + err := f.ManageDependencies(resourceManagers) require.NoError(t, err) if !tt.expectConfigMap { @@ -527,7 +527,7 @@ func Test_privateActionRunnerFeature_ManageClusterAgent_ConfigMap(t *testing.T) resourceManagers := feature.NewResourceManagers(store.NewStore(dda, storeOptions)) // Call ManageDependencies to create the ConfigMap - err := f.ManageDependencies(resourceManagers, "") + err := f.ManageDependencies(resourceManagers) require.NoError(t, err) // Verify ConfigMap was created with correct data @@ -558,7 +558,7 @@ func Test_privateActionRunnerFeature_ManageClusterAgent_ConfigMap(t *testing.T) managers := fake.NewPodTemplateManagers(t, podTmpl) // Call ManageClusterAgent - err = f.ManageClusterAgent(managers, "") + err = f.ManageClusterAgent(managers) assert.NoError(t, err) // Verify volume was added diff --git a/internal/controller/datadogagent/feature/processdiscovery/feature.go b/internal/controller/datadogagent/feature/processdiscovery/feature.go index eef5845f4e..c7a097d9c7 100644 --- a/internal/controller/datadogagent/feature/processdiscovery/feature.go +++ b/internal/controller/datadogagent/feature/processdiscovery/feature.go @@ -61,15 +61,15 @@ func (p *processDiscoveryFeature) Configure(_ metav1.Object, ddaSpec *v2alpha1.D return reqComp } -func (p *processDiscoveryFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (p *processDiscoveryFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } -func (p *processDiscoveryFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (p *processDiscoveryFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } -func (p *processDiscoveryFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (p *processDiscoveryFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // Always add this envvar to Core and Process containers runInCoreAgentEnvVar := &corev1.EnvVar{ Name: common.DDProcessConfigRunInCoreAgent, @@ -82,21 +82,21 @@ func (p *processDiscoveryFeature) ManageNodeAgent(managers feature.PodTemplateMa if !p.runInCoreAgent { containerName = apicommon.ProcessAgentContainerName } - p.manageNodeAgent(containerName, managers, provider) + p.manageNodeAgent(containerName, managers) return nil } -func (p *processDiscoveryFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (p *processDiscoveryFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { runInCoreAgentEnvVar := &corev1.EnvVar{ Name: common.DDProcessConfigRunInCoreAgent, Value: apiutils.BoolToString(&p.runInCoreAgent), } managers.EnvVar().AddEnvVarToContainer(apicommon.UnprivilegedSingleAgentContainerName, runInCoreAgentEnvVar) - p.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers, provider) + p.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers) return nil } -func (p *processDiscoveryFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers, provider string) error { +func (p *processDiscoveryFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers) error { // passwd volume mount passwdVol, passwdVolMount := volume.GetVolumes(common.PasswdVolumeName, common.PasswdHostPath, common.PasswdMountPath, true) managers.VolumeMount().AddVolumeMountToContainer(&passwdVolMount, agentContainerName) @@ -122,10 +122,10 @@ func (p *processDiscoveryFeature) manageNodeAgent(agentContainerName apicommon.A return nil } -func (p *processDiscoveryFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (p *processDiscoveryFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (p *processDiscoveryFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (p *processDiscoveryFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/prometheusscrape/feature.go b/internal/controller/datadogagent/feature/prometheusscrape/feature.go index a83957eb3f..864b4941fc 100644 --- a/internal/controller/datadogagent/feature/prometheusscrape/feature.go +++ b/internal/controller/datadogagent/feature/prometheusscrape/feature.go @@ -79,13 +79,13 @@ func (f *prometheusScrapeFeature) Configure(_ metav1.Object, ddaSpec *v2alpha1.D // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *prometheusScrapeFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *prometheusScrapeFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *prometheusScrapeFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *prometheusScrapeFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { managers.EnvVar().AddEnvVarToContainer(apicommon.ClusterAgentContainerName, &corev1.EnvVar{ Name: DDPrometheusScrapeEnabled, Value: "true", @@ -113,19 +113,19 @@ func (f *prometheusScrapeFeature) ManageClusterAgent(managers feature.PodTemplat // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *prometheusScrapeFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { - f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers, provider) +func (f *prometheusScrapeFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { + f.manageNodeAgent(apicommon.UnprivilegedSingleAgentContainerName, managers) return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *prometheusScrapeFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { - f.manageNodeAgent(apicommon.CoreAgentContainerName, managers, provider) +func (f *prometheusScrapeFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { + f.manageNodeAgent(apicommon.CoreAgentContainerName, managers) return nil } -func (f *prometheusScrapeFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers, provider string) error { +func (f *prometheusScrapeFeature) manageNodeAgent(agentContainerName apicommon.AgentContainerName, managers feature.PodTemplateManagers) error { managers.EnvVar().AddEnvVarToContainer(agentContainerName, &corev1.EnvVar{ Name: DDPrometheusScrapeEnabled, Value: "true", @@ -152,10 +152,10 @@ func (f *prometheusScrapeFeature) manageNodeAgent(agentContainerName apicommon.A // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *prometheusScrapeFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *prometheusScrapeFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *prometheusScrapeFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *prometheusScrapeFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/remoteconfig/feature.go b/internal/controller/datadogagent/feature/remoteconfig/feature.go index 25760e0367..ff472d5dd8 100644 --- a/internal/controller/datadogagent/feature/remoteconfig/feature.go +++ b/internal/controller/datadogagent/feature/remoteconfig/feature.go @@ -85,13 +85,13 @@ func (f *rcFeature) Configure(_ metav1.Object, ddaSpec *v2alpha1.DatadogAgentSpe // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *rcFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *rcFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *rcFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *rcFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { enabledEnvVar := &corev1.EnvVar{ Name: DDRemoteConfigurationEnabled, Value: apiutils.BoolToString(&f.enabled), @@ -111,14 +111,14 @@ func (f *rcFeature) ManageClusterAgent(managers feature.PodTemplateManagers, pro // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *rcFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { - f.ManageNodeAgent(managers, provider) +func (f *rcFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { + f.ManageNodeAgent(managers) return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *rcFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *rcFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { enabledEnvVar := &corev1.EnvVar{ Name: DDRemoteConfigurationEnabled, Value: apiutils.BoolToString(&f.enabled), @@ -130,10 +130,10 @@ func (f *rcFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provid // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *rcFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *rcFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *rcFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *rcFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/sbom/feature.go b/internal/controller/datadogagent/feature/sbom/feature.go index d3e35a7dca..328161c0db 100644 --- a/internal/controller/datadogagent/feature/sbom/feature.go +++ b/internal/controller/datadogagent/feature/sbom/feature.go @@ -130,24 +130,24 @@ func mergeConfigs(ddaSpec *v2alpha1.DatadogAgentSpec, ddaRCStatus *v2alpha1.Remo // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *sbomFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *sbomFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *sbomFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *sbomFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } -func (f *sbomFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { - f.ManageNodeAgent(managers, provider) +func (f *sbomFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { + f.ManageNodeAgent(managers) return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *sbomFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *sbomFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { managers.EnvVar().AddEnvVarToContainer(apicommon.CoreAgentContainerName, &corev1.EnvVar{ Name: DDSBOMEnabled, Value: apiutils.BoolToString(&f.enabled), @@ -264,10 +264,10 @@ func (f *sbomFeature) ManageNodeAgent(managers feature.PodTemplateManagers, prov // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *sbomFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *sbomFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *sbomFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *sbomFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/servicediscovery/feature.go b/internal/controller/datadogagent/feature/servicediscovery/feature.go index df12f80a0d..0d93914961 100644 --- a/internal/controller/datadogagent/feature/servicediscovery/feature.go +++ b/internal/controller/datadogagent/feature/servicediscovery/feature.go @@ -86,19 +86,19 @@ func shouldEnableServiceDiscoveryByDefault(ddaSpec *v2alpha1.DatadogAgentSpec) b // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *serviceDiscoveryFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *serviceDiscoveryFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *serviceDiscoveryFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *serviceDiscoveryFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *serviceDiscoveryFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *serviceDiscoveryFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // annotations managers.Annotation().AddAnnotation(common.SystemProbeAppArmorAnnotationKey, common.SystemProbeAppArmorAnnotationValue) @@ -152,16 +152,16 @@ func (f *serviceDiscoveryFeature) ManageNodeAgent(managers feature.PodTemplateMa // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *serviceDiscoveryFeature) ManageSingleContainerNodeAgent(feature.PodTemplateManagers, string) error { +func (f *serviceDiscoveryFeature) ManageSingleContainerNodeAgent(feature.PodTemplateManagers) error { return nil } // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *serviceDiscoveryFeature) ManageClusterChecksRunner(feature.PodTemplateManagers, string) error { +func (f *serviceDiscoveryFeature) ManageClusterChecksRunner(feature.PodTemplateManagers) error { return nil } -func (f *serviceDiscoveryFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *serviceDiscoveryFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/tcpqueuelength/feature.go b/internal/controller/datadogagent/feature/tcpqueuelength/feature.go index a9e55bc3b1..f652683bb2 100644 --- a/internal/controller/datadogagent/feature/tcpqueuelength/feature.go +++ b/internal/controller/datadogagent/feature/tcpqueuelength/feature.go @@ -17,7 +17,6 @@ import ( "github.com/DataDog/datadog-operator/internal/controller/datadogagent/component/agent" "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/kubernetes" ) func init() { @@ -57,26 +56,26 @@ func (f *tcpQueueLengthFeature) Configure(_ metav1.Object, ddaSpec *v2alpha1.Dat // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *tcpQueueLengthFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *tcpQueueLengthFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *tcpQueueLengthFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *tcpQueueLengthFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *tcpQueueLengthFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *tcpQueueLengthFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *tcpQueueLengthFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *tcpQueueLengthFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // security context capabilities managers.SecurityContext().AddCapabilitiesToContainer(agent.DefaultCapabilitiesForSystemProbe(), apicommon.SystemProbeContainerName) @@ -86,12 +85,9 @@ func (f *tcpQueueLengthFeature) ManageNodeAgent(managers feature.PodTemplateMana managers.Volume().AddVolume(&modulesVol) // src volume mount - _, providerValue := kubernetes.GetProviderLabelKeyValue(provider) - if providerValue != kubernetes.GKECosType { - srcVol, srcVolMount := volume.GetVolumes(common.SrcVolumeName, common.SrcVolumePath, common.SrcVolumePath, true) - managers.VolumeMount().AddVolumeMountToContainer(&srcVolMount, apicommon.SystemProbeContainerName) - managers.Volume().AddVolume(&srcVol) - } + srcVol, srcVolMount := volume.GetVolumes(common.SrcVolumeName, common.SrcVolumePath, common.SrcVolumePath, true) + managers.VolumeMount().AddVolumeMountToContainer(&srcVolMount, apicommon.SystemProbeContainerName) + managers.Volume().AddVolume(&srcVol) // debugfs volume mount debugfsVol, debugfsVolMount := volume.GetVolumes(common.DebugfsVolumeName, common.DebugfsPath, common.DebugfsPath, false) @@ -131,10 +127,10 @@ func (f *tcpQueueLengthFeature) ManageNodeAgent(managers feature.PodTemplateMana // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *tcpQueueLengthFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *tcpQueueLengthFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *tcpQueueLengthFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *tcpQueueLengthFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagent/feature/test/testsuite.go b/internal/controller/datadogagent/feature/test/testsuite.go index b168383121..d1621210ef 100644 --- a/internal/controller/datadogagent/feature/test/testsuite.go +++ b/internal/controller/datadogagent/feature/test/testsuite.go @@ -139,7 +139,7 @@ func runTest(t *testing.T, tt FeatureTest) { store, depsManager := initDependencies(tt, logger, dda) for _, feat := range features { - if err := feat.ManageDependencies(depsManager, ""); (err != nil) != tt.WantManageDependenciesErr { + if err := feat.ManageDependencies(depsManager); (err != nil) != tt.WantManageDependenciesErr { t.Errorf("feature.ManageDependencies() error = %v, wantErr %v", err, tt.WantManageDependenciesErr) return } @@ -151,16 +151,16 @@ func runTest(t *testing.T, tt FeatureTest) { // check Manage functions if tt.ClusterAgent != nil { tplManager, _ := tt.ClusterAgent.CreateFunc(t) - _ = feat.ManageClusterAgent(tplManager, "") + _ = feat.ManageClusterAgent(tplManager) tt.ClusterAgent.WantFunc(t, tplManager) } if tt.Agent != nil { - tplManager, provider := tt.Agent.CreateFunc(t) + tplManager, _ := tt.Agent.CreateFunc(t) if len(gotConfigure.Agent.Containers) > 0 && gotConfigure.Agent.Containers[0] == common.UnprivilegedSingleAgentContainerName { - _ = feat.ManageSingleContainerNodeAgent(tplManager, provider) + _ = feat.ManageSingleContainerNodeAgent(tplManager) } else { - _ = feat.ManageNodeAgent(tplManager, provider) + _ = feat.ManageNodeAgent(tplManager) } tt.Agent.WantFunc(t, tplManager) @@ -168,13 +168,13 @@ func runTest(t *testing.T, tt FeatureTest) { if tt.ClusterChecksRunner != nil { tplManager, _ := tt.ClusterChecksRunner.CreateFunc(t) - _ = feat.ManageClusterChecksRunner(tplManager, "") + _ = feat.ManageClusterChecksRunner(tplManager) tt.ClusterChecksRunner.WantFunc(t, tplManager) } if tt.OtelAgentGateway != nil { tplManager, _ := tt.OtelAgentGateway.CreateFunc(t) - _ = feat.ManageOtelAgentGateway(tplManager, "") + _ = feat.ManageOtelAgentGateway(tplManager) tt.OtelAgentGateway.WantFunc(t, tplManager) } } diff --git a/internal/controller/datadogagent/feature/types.go b/internal/controller/datadogagent/feature/types.go index 656bbc02fc..799a350c4d 100644 --- a/internal/controller/datadogagent/feature/types.go +++ b/internal/controller/datadogagent/feature/types.go @@ -124,6 +124,12 @@ func mergeSlices(a, b []common.AgentContainerName) []common.AgentContainerName { } // Feature interface +// +// Provider awareness: features that need the cluster provider should read it +// once in Configure (from the DDA/DDAI metadata annotation +// providercaps.ProviderAnnotationKey) and stash it on a feature struct field. +// Per-component declarative provider mutations should go through +// NodeAgentProviderCapabilities, applied by the reconciler. type Feature interface { // ID returns the ID of the Feature ID() IDType @@ -132,23 +138,23 @@ type Feature interface { Configure(ddaMetaObj metav1.Object, ddaSpec *v2alpha1.DatadogAgentSpec, ddaRCStatus *v2alpha1.RemoteConfigConfiguration) RequiredComponents // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. - ManageDependencies(managers ResourceManagers, provider string) error + ManageDependencies(managers ResourceManagers) error // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. - ManageClusterAgent(managers PodTemplateManagers, provider string) error + ManageClusterAgent(managers PodTemplateManagers) error // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. - ManageNodeAgent(managers PodTemplateManagers, provider string) error + ManageNodeAgent(managers PodTemplateManagers) error // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. - ManageSingleContainerNodeAgent(managers PodTemplateManagers, provider string) error + ManageSingleContainerNodeAgent(managers PodTemplateManagers) error // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunnerAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. - ManageClusterChecksRunner(managers PodTemplateManagers, provider string) error + ManageClusterChecksRunner(managers PodTemplateManagers) error // ManageOtelAgentGateway allows a feature to configure the OtelAgentGateway's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. - ManageOtelAgentGateway(managers PodTemplateManagers, provider string) error + ManageOtelAgentGateway(managers PodTemplateManagers) error } // Options option that can be pass to the Interface.Configure function diff --git a/internal/controller/datadogagent/feature/usm/feature.go b/internal/controller/datadogagent/feature/usm/feature.go index 802b640935..1db2e35e32 100644 --- a/internal/controller/datadogagent/feature/usm/feature.go +++ b/internal/controller/datadogagent/feature/usm/feature.go @@ -92,26 +92,26 @@ func mergeConfigs(ddaSpec *v2alpha1.DatadogAgentSpec, ddaRCStatus *v2alpha1.Remo // ManageDependencies allows a feature to manage its dependencies. // Feature's dependencies should be added in the store. -func (f *usmFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (f *usmFeature) ManageDependencies(managers feature.ResourceManagers) error { return nil } // ManageClusterAgent allows a feature to configure the ClusterAgent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *usmFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *usmFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return nil } // ManageSingleContainerNodeAgent allows a feature to configure the Agent container for the Node Agent's corev1.PodTemplateSpec // if SingleContainerStrategy is enabled and can be used with the configured feature set. // It should do nothing if the feature doesn't need to configure it. -func (f *usmFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *usmFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return nil } // ManageNodeAgent allows a feature to configure the Node Agent's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *usmFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (f *usmFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { // enable HostPID for system-probe managers.PodTemplateSpec().Spec.HostPID = true @@ -193,10 +193,10 @@ func (f *usmFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provi // ManageClusterChecksRunner allows a feature to configure the ClusterChecksRunner's corev1.PodTemplateSpec // It should do nothing if the feature doesn't need to configure it. -func (f *usmFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (f *usmFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return nil } -func (f *usmFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (f *usmFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return nil } diff --git a/internal/controller/datadogagentinternal/component_clusteragent.go b/internal/controller/datadogagentinternal/component_clusteragent.go index 96d86ea9ed..4e9a2ebcf4 100644 --- a/internal/controller/datadogagentinternal/component_clusteragent.go +++ b/internal/controller/datadogagentinternal/component_clusteragent.go @@ -58,9 +58,9 @@ func (c *ClusterAgentComponent) GetNewDeploymentFunc() func(ddai metav1.Object, return componentdca.NewDefaultClusterAgentDeployment } -func (c *ClusterAgentComponent) GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error { - return func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error { - return feat.ManageClusterAgent(managers, provider) +func (c *ClusterAgentComponent) GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers) error { + return func(feat feature.Feature, managers feature.PodTemplateManagers) error { + return feat.ManageClusterAgent(managers) } } diff --git a/internal/controller/datadogagentinternal/component_clusterchecksrunner.go b/internal/controller/datadogagentinternal/component_clusterchecksrunner.go index 3f30c81d75..f9d93686da 100644 --- a/internal/controller/datadogagentinternal/component_clusterchecksrunner.go +++ b/internal/controller/datadogagentinternal/component_clusterchecksrunner.go @@ -59,9 +59,9 @@ func (c *ClusterChecksRunnerComponent) GetNewDeploymentFunc() func(ddai metav1.O return componentccr.NewDefaultClusterChecksRunnerDeployment } -func (c *ClusterChecksRunnerComponent) GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error { - return func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error { - return feat.ManageClusterChecksRunner(managers, provider) +func (c *ClusterChecksRunnerComponent) GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers) error { + return func(feat feature.Feature, managers feature.PodTemplateManagers) error { + return feat.ManageClusterChecksRunner(managers) } } diff --git a/internal/controller/datadogagentinternal/component_otelagentgateway.go b/internal/controller/datadogagentinternal/component_otelagentgateway.go index 249cf6d4df..cd9d8725b6 100644 --- a/internal/controller/datadogagentinternal/component_otelagentgateway.go +++ b/internal/controller/datadogagentinternal/component_otelagentgateway.go @@ -57,9 +57,9 @@ func (c *OtelAgentGatewayComponent) GetNewDeploymentFunc() func(ddai metav1.Obje return componentotelagentgateway.NewDefaultOtelAgentGatewayDeployment } -func (c *OtelAgentGatewayComponent) GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error { - return func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error { - return feat.ManageOtelAgentGateway(managers, provider) +func (c *OtelAgentGatewayComponent) GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers) error { + return func(feat feature.Feature, managers feature.PodTemplateManagers) error { + return feat.ManageOtelAgentGateway(managers) } } diff --git a/internal/controller/datadogagentinternal/component_reconciler.go b/internal/controller/datadogagentinternal/component_reconciler.go index af500326e0..12da38ff9f 100644 --- a/internal/controller/datadogagentinternal/component_reconciler.go +++ b/internal/controller/datadogagentinternal/component_reconciler.go @@ -84,7 +84,7 @@ type ComponentReconciler interface { GetNewDeploymentFunc() func(ddai metav1.Object, spec *datadoghqv2alpha1.DatadogAgentSpec) *appsv1.Deployment // GetManageFeatureFunc returns the function to manage features for the component - GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers, provider string) error + GetManageFeatureFunc() func(feat feature.Feature, managers feature.PodTemplateManagers) error // UpdateStatus updates the status of the component UpdateStatus(deployment *appsv1.Deployment, newStatus *v1alpha1.DatadogAgentInternalStatus, updateTime metav1.Time, status metav1.ConditionStatus, reason, message string) @@ -197,7 +197,7 @@ func (r *ComponentRegistry) reconcileComponent(ctx context.Context, params *Reco // Apply features changes on the Deployment.Spec.Template var featErrors []error for _, feat := range params.Features { - if errFeat := component.GetManageFeatureFunc()(feat, podManagers, params.Provider); errFeat != nil { + if errFeat := component.GetManageFeatureFunc()(feat, podManagers); errFeat != nil { featErrors = append(featErrors, errFeat) } } diff --git a/internal/controller/datadogagentinternal/controller_reconcile_agent.go b/internal/controller/datadogagentinternal/controller_reconcile_agent.go index bf3f4ffca7..a16ce34276 100644 --- a/internal/controller/datadogagentinternal/controller_reconcile_agent.go +++ b/internal/controller/datadogagentinternal/controller_reconcile_agent.go @@ -65,7 +65,7 @@ func (r *Reconciler) reconcileV2Agent(ctx context.Context, requiredComponents fe // Apply features changes on the Deployment.Spec.Template for _, feat := range features { - if errFeat := feat.ManageNodeAgent(podManagers, ""); errFeat != nil { + if errFeat := feat.ManageNodeAgent(podManagers); errFeat != nil { return result, errFeat } } @@ -118,11 +118,11 @@ func (r *Reconciler) reconcileV2Agent(ctx context.Context, requiredComponents fe // Apply features changes on the Deployment.Spec.Template for _, feat := range features { if singleContainerStrategyEnabled { - if errFeat := feat.ManageSingleContainerNodeAgent(podManagers, ""); errFeat != nil { + if errFeat := feat.ManageSingleContainerNodeAgent(podManagers); errFeat != nil { return result, errFeat } } else { - if errFeat := feat.ManageNodeAgent(podManagers, ""); errFeat != nil { + if errFeat := feat.ManageNodeAgent(podManagers); errFeat != nil { return result, errFeat } } diff --git a/internal/controller/datadogagentinternal/controller_reconcile_v2_helpers.go b/internal/controller/datadogagentinternal/controller_reconcile_v2_helpers.go index 52fa5e23e4..99192fdfec 100644 --- a/internal/controller/datadogagentinternal/controller_reconcile_v2_helpers.go +++ b/internal/controller/datadogagentinternal/controller_reconcile_v2_helpers.go @@ -76,7 +76,7 @@ func (r *Reconciler) manageGlobalDependencies(ctx context.Context, ddai *datadog func (r *Reconciler) manageFeatureDependencies(features []feature.Feature, resourceManagers feature.ResourceManagers) error { var errs []error for _, feat := range features { - if err := feat.ManageDependencies(resourceManagers, ""); err != nil { + if err := feat.ManageDependencies(resourceManagers); err != nil { errs = append(errs, err) } } diff --git a/internal/controller/datadogagentinternal/controller_reconcile_v2_helpers_test.go b/internal/controller/datadogagentinternal/controller_reconcile_v2_helpers_test.go index 9ca5ba4a4e..f4eb90c66c 100644 --- a/internal/controller/datadogagentinternal/controller_reconcile_v2_helpers_test.go +++ b/internal/controller/datadogagentinternal/controller_reconcile_v2_helpers_test.go @@ -38,32 +38,32 @@ func (df *dummyFeature) Configure(ddai metav1.Object, ddaiSpec *v2alpha1.Datadog } // ManageDependencies returns a predefined error (or nil for success). -func (df *dummyFeature) ManageDependencies(managers feature.ResourceManagers, provider string) error { +func (df *dummyFeature) ManageDependencies(managers feature.ResourceManagers) error { return df.ManageDependenciesError } // ManageClusterAgent returns a predefined error (or nil for success). -func (df *dummyFeature) ManageClusterAgent(managers feature.PodTemplateManagers, provider string) error { +func (df *dummyFeature) ManageClusterAgent(managers feature.PodTemplateManagers) error { return df.ManageClusterAgentError } // ManageNodeAgent returns a predefined error (or nil for success). -func (df *dummyFeature) ManageNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (df *dummyFeature) ManageNodeAgent(managers feature.PodTemplateManagers) error { return df.ManageNodeAgentError } // ManageSingleContainerNodeAgent returns a predefined error (or nil for success). -func (df *dummyFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers, provider string) error { +func (df *dummyFeature) ManageSingleContainerNodeAgent(managers feature.PodTemplateManagers) error { return df.ManageSingleContainerAgentError } // ManageClusterChecksRunner returns a predefined error (or nil for success). -func (df *dummyFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers, provider string) error { +func (df *dummyFeature) ManageClusterChecksRunner(managers feature.PodTemplateManagers) error { return df.ManageClusterChecksRunnerError } // ManageOtelAgentGateway returns a predefined error (or nil for success). -func (df *dummyFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers, provider string) error { +func (df *dummyFeature) ManageOtelAgentGateway(managers feature.PodTemplateManagers) error { return df.ManageOtelAgentGatewayError } diff --git a/pkg/kubernetes/provider.go b/pkg/kubernetes/provider.go index ce06ef8108..746bb9cba7 100644 --- a/pkg/kubernetes/provider.go +++ b/pkg/kubernetes/provider.go @@ -17,6 +17,9 @@ import ( ) const ( + // DDA/DDAI annotation key for provider used in reconciler to apply provider-specific configs + ProviderAnnotationKey = "datadoghq.com/provider" + // LegacyProvider Legacy Provider (empty name) LegacyProvider = "" // DefaultProvider Default provider name