Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
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