datadogagentinternal

package
v1.31.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2026 License: Apache-2.0 Imports: 89 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsEqualStatus added in v1.19.0

Types

type ClusterAgentComponent added in v1.22.0

type ClusterAgentComponent struct {
	// contains filtered or unexported fields
}

ClusterAgentComponent implements ComponentReconciler for the Cluster Agent deployment

func NewClusterAgentComponent added in v1.22.0

func NewClusterAgentComponent(reconciler *Reconciler) *ClusterAgentComponent

NewClusterAgentComponent creates a new ClusterAgent component

func (*ClusterAgentComponent) CleanupDependencies added in v1.25.0

func (c *ClusterAgentComponent) CleanupDependencies(ctx context.Context, ddai *v1alpha1.DatadogAgentInternal, resourcesManager feature.ResourceManagers) (reconcile.Result, error)

func (*ClusterAgentComponent) DeleteStatus added in v1.25.0

func (c *ClusterAgentComponent) DeleteStatus(newStatus *v1alpha1.DatadogAgentInternalStatus, conditionType string)

func (*ClusterAgentComponent) ForceDeleteComponent added in v1.25.0

func (*ClusterAgentComponent) GetConditionType added in v1.22.0

func (c *ClusterAgentComponent) GetConditionType() string

GetConditionType returns the condition type for status updates

func (*ClusterAgentComponent) GetGlobalSettingsFunc added in v1.25.0

func (c *ClusterAgentComponent) GetGlobalSettingsFunc() func(logger logr.Logger, podManagers feature.PodTemplateManagers, ddai metav1.Object, spec *datadoghqv2alpha1.DatadogAgentSpec, resourceManagers feature.ResourceManagers, requiredComponents feature.RequiredComponents)

func (*ClusterAgentComponent) GetManageFeatureFunc added in v1.25.0

func (c *ClusterAgentComponent) GetManageFeatureFunc(provider string) func(feat feature.Feature, managers feature.PodTemplateManagers) error

func (*ClusterAgentComponent) GetNewDeploymentFunc added in v1.25.0

func (c *ClusterAgentComponent) GetNewDeploymentFunc() func(ddai metav1.Object, spec *datadoghqv2alpha1.DatadogAgentSpec) *appsv1.Deployment

func (*ClusterAgentComponent) IsEnabled added in v1.22.0

IsEnabled checks if the Cluster Agent component should be reconciled

func (*ClusterAgentComponent) Name added in v1.22.0

Name returns the component name

func (*ClusterAgentComponent) UpdateStatus added in v1.25.0

func (c *ClusterAgentComponent) UpdateStatus(deployment *appsv1.Deployment, newStatus *v1alpha1.DatadogAgentInternalStatus, updateTime metav1.Time, status metav1.ConditionStatus, reason, message string)

type ClusterChecksRunnerComponent added in v1.22.0

type ClusterChecksRunnerComponent struct {
	// contains filtered or unexported fields
}

ClusterChecksRunnerComponent implements ComponentReconciler for the Cluster Checks Runner deployment

func NewClusterChecksRunnerComponent added in v1.22.0

func NewClusterChecksRunnerComponent(reconciler *Reconciler) *ClusterChecksRunnerComponent

NewClusterChecksRunnerComponent creates a new ClusterChecksRunner component

func (*ClusterChecksRunnerComponent) CleanupDependencies added in v1.25.0

func (*ClusterChecksRunnerComponent) DeleteStatus added in v1.25.0

func (c *ClusterChecksRunnerComponent) DeleteStatus(newStatus *v1alpha1.DatadogAgentInternalStatus, conditionType string)

func (*ClusterChecksRunnerComponent) ForceDeleteComponent added in v1.25.0

func (c *ClusterChecksRunnerComponent) ForceDeleteComponent(ddai *v1alpha1.DatadogAgentInternal, requiredComponents feature.RequiredComponents) bool

func (*ClusterChecksRunnerComponent) GetConditionType added in v1.22.0

func (c *ClusterChecksRunnerComponent) GetConditionType() string

GetConditionType returns the condition type for status updates

func (*ClusterChecksRunnerComponent) GetGlobalSettingsFunc added in v1.25.0

func (c *ClusterChecksRunnerComponent) GetGlobalSettingsFunc() func(logger logr.Logger, podManagers feature.PodTemplateManagers, ddai metav1.Object, spec *datadoghqv2alpha1.DatadogAgentSpec, resourceManagers feature.ResourceManagers, requiredComponents feature.RequiredComponents)

func (*ClusterChecksRunnerComponent) GetManageFeatureFunc added in v1.25.0

func (c *ClusterChecksRunnerComponent) GetManageFeatureFunc(_ string) func(feat feature.Feature, managers feature.PodTemplateManagers) error

func (*ClusterChecksRunnerComponent) GetNewDeploymentFunc added in v1.25.0

func (c *ClusterChecksRunnerComponent) GetNewDeploymentFunc() func(ddai metav1.Object, spec *datadoghqv2alpha1.DatadogAgentSpec) *appsv1.Deployment

func (*ClusterChecksRunnerComponent) IsEnabled added in v1.22.0

IsEnabled checks if the ClusterChecksRunner component should be reconciled CCR requires the Cluster Agent to be enabled as well

func (*ClusterChecksRunnerComponent) Name added in v1.22.0

Name returns the component name

func (*ClusterChecksRunnerComponent) UpdateStatus added in v1.25.0

func (c *ClusterChecksRunnerComponent) UpdateStatus(deployment *appsv1.Deployment, newStatus *v1alpha1.DatadogAgentInternalStatus, updateTime metav1.Time, status metav1.ConditionStatus, reason, message string)

type ComponentReconciler added in v1.22.0

type ComponentReconciler interface {
	// Name returns the component name (e.g., "clusterAgent", "clusterChecksRunner")
	Name() datadoghqv2alpha1.ComponentName

	// IsEnabled checks if this component should be reconciled based on requiredComponents and override settings
	// Returns (enabled, conflict) where:
	//   - enabled=true, conflict=false: component should be reconciled normally
	//   - enabled=true, conflict=true: component enabled in features but disabled via override (cleanup with conflict status)
	//   - enabled=false, conflict=*: component disabled (cleanup without conflict status if conflict=false)
	IsEnabled(requiredComponents feature.RequiredComponents, overrides map[datadoghqv2alpha1.ComponentName]*datadoghqv2alpha1.DatadogAgentComponentOverride) (enabled bool, conflict bool)

	// GetConditionType returns the condition type used for status updates
	GetConditionType() string

	// GetGlobalSettingsFunc returns the function to apply global settings to the component
	GetGlobalSettingsFunc() func(logger logr.Logger, podManagers feature.PodTemplateManagers, ddai metav1.Object, spec *datadoghqv2alpha1.DatadogAgentSpec, resourceManagers feature.ResourceManagers, requiredComponents feature.RequiredComponents)

	// GetNewDeploymentFunc returns the function to create a new deployment for the component
	GetNewDeploymentFunc() func(ddai metav1.Object, spec *datadoghqv2alpha1.DatadogAgentSpec) *appsv1.Deployment

	// GetManageFeatureFunc returns the function to manage features for the component.
	// provider is the current DDAI provider annotation value; components that apply
	// provider-conditional mutations (e.g. ClusterAgent) use it in the returned closure.
	GetManageFeatureFunc(provider string) 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)

	// DeleteStatus deletes the status of the component
	DeleteStatus(newStatus *v1alpha1.DatadogAgentInternalStatus, conditionType string)

	// ForceDeleteComponent returns true if the component should be force deleted
	ForceDeleteComponent(ddai *v1alpha1.DatadogAgentInternal, requiredComponents feature.RequiredComponents) bool

	// CleanupDependencies deletes any dependencies associated with the component
	CleanupDependencies(ctx context.Context, ddai *v1alpha1.DatadogAgentInternal, resourcesManager feature.ResourceManagers) (reconcile.Result, error)
}

ComponentReconciler defines the interface that all deployment/daemonset components must implement

type ComponentRegistry added in v1.22.0

type ComponentRegistry struct {
	// contains filtered or unexported fields
}

ComponentRegistry manages the registration and reconciliation of all components

func NewComponentRegistry added in v1.22.0

func NewComponentRegistry(reconciler *Reconciler) *ComponentRegistry

NewComponentRegistry creates a new component registry

func (*ComponentRegistry) Cleanup added in v1.25.0

Cleanup removes the component deployment, associated resources and updates status

func (*ComponentRegistry) GetComponent added in v1.22.0

GetComponent returns a registered component by name

func (*ComponentRegistry) ListComponents added in v1.22.0

func (r *ComponentRegistry) ListComponents() []ComponentReconciler

ListComponents returns all registered components

func (*ComponentRegistry) ReconcileComponents added in v1.22.0

func (r *ComponentRegistry) ReconcileComponents(ctx context.Context, params *ReconcileComponentParams) (reconcile.Result, error)

ReconcileComponents reconciles all registered components in order

func (*ComponentRegistry) Register added in v1.22.0

func (r *ComponentRegistry) Register(component ComponentReconciler)

Register adds a component to the registry

type OtelAgentGatewayComponent added in v1.23.0

type OtelAgentGatewayComponent struct {
	// contains filtered or unexported fields
}

OtelAgentGatewayComponent implements ComponentReconciler for the OTel Agent Gateway deployment

func NewOtelAgentGatewayComponent added in v1.23.0

func NewOtelAgentGatewayComponent(reconciler *Reconciler) *OtelAgentGatewayComponent

NewOtelAgentGatewayComponent creates a new OtelAgentGateway component

func (*OtelAgentGatewayComponent) CleanupDependencies added in v1.25.0

func (c *OtelAgentGatewayComponent) CleanupDependencies(ctx context.Context, ddai *v1alpha1.DatadogAgentInternal, resourcesManager feature.ResourceManagers) (reconcile.Result, error)

func (*OtelAgentGatewayComponent) DeleteStatus added in v1.25.0

func (c *OtelAgentGatewayComponent) DeleteStatus(newStatus *v1alpha1.DatadogAgentInternalStatus, conditionType string)

func (*OtelAgentGatewayComponent) ForceDeleteComponent added in v1.25.0

func (c *OtelAgentGatewayComponent) ForceDeleteComponent(ddai *v1alpha1.DatadogAgentInternal, requiredComponents feature.RequiredComponents) bool

func (*OtelAgentGatewayComponent) GetConditionType added in v1.23.0

func (c *OtelAgentGatewayComponent) GetConditionType() string

GetConditionType returns the condition type for status updates

func (*OtelAgentGatewayComponent) GetGlobalSettingsFunc added in v1.25.0

func (c *OtelAgentGatewayComponent) GetGlobalSettingsFunc() func(logger logr.Logger, podManagers feature.PodTemplateManagers, ddai metav1.Object, spec *datadoghqv2alpha1.DatadogAgentSpec, resourceManagers feature.ResourceManagers, requiredComponents feature.RequiredComponents)

func (*OtelAgentGatewayComponent) GetManageFeatureFunc added in v1.25.0

func (c *OtelAgentGatewayComponent) GetManageFeatureFunc(_ string) func(feat feature.Feature, managers feature.PodTemplateManagers) error

func (*OtelAgentGatewayComponent) GetNewDeploymentFunc added in v1.25.0

func (c *OtelAgentGatewayComponent) GetNewDeploymentFunc() func(ddai metav1.Object, spec *datadoghqv2alpha1.DatadogAgentSpec) *appsv1.Deployment

func (*OtelAgentGatewayComponent) IsEnabled added in v1.23.0

IsEnabled checks if the OtelAgentGateway component should be reconciled

func (*OtelAgentGatewayComponent) Name added in v1.23.0

Name returns the component name

func (*OtelAgentGatewayComponent) UpdateStatus added in v1.25.0

func (c *OtelAgentGatewayComponent) UpdateStatus(deployment *appsv1.Deployment, newStatus *v1alpha1.DatadogAgentInternalStatus, updateTime metav1.Time, status metav1.ConditionStatus, reason, message string)

type ReconcileComponentParams added in v1.22.0

type ReconcileComponentParams struct {
	DDAI               *v1alpha1.DatadogAgentInternal
	RequiredComponents feature.RequiredComponents
	Features           []feature.Feature
	ResourceManagers   feature.ResourceManagers
	Status             *v1alpha1.DatadogAgentInternalStatus
	Provider           string
}

ReconcileComponentParams bundles common parameters needed by all components

type Reconciler

type Reconciler struct {
	// contains filtered or unexported fields
}

Reconciler is the internal reconciler for Datadog Agent

func NewReconciler

func NewReconciler(options ReconcilerOptions, client client.Client, platformInfo kubernetes.PlatformInfo, scheme *runtime.Scheme, recorder record.EventRecorder, metricForwardersMgr datadog.MetricsForwardersManager) *Reconciler

NewReconciler returns a reconciler for DatadogAgent

func (*Reconciler) Reconcile

Reconcile is similar to reconciler.Reconcile interface, but taking a context

type ReconcilerOptions

type ReconcilerOptions struct {
	SupportCilium                   bool
	OperatorMetricsEnabled          bool
	UntaintControllerEnabled        bool
	RolloutOnConfigMapChangeEnabled bool
	DefaultDataPlaneLinuxEnabled    bool
	APIReader                       client.Reader
}

ReconcilerOptions provides options read from command line

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL