Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions internal/controller/datadogagent/component_clusteragent.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
}

Expand Down
4 changes: 2 additions & 2 deletions internal/controller/datadogagent/component_reconciler.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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
}
18 changes: 9 additions & 9 deletions internal/controller/datadogagent/feature/apm/feature.go
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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
}
12 changes: 6 additions & 6 deletions internal/controller/datadogagent/feature/appsec/feature.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
}
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand All @@ -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]
Expand Down
12 changes: 6 additions & 6 deletions internal/controller/datadogagent/feature/asm/feature.go
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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
}
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand All @@ -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{
Expand Down Expand Up @@ -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{
Expand All @@ -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
}
Loading
Loading