agent

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2025 License: Apache-2.0 Imports: 48 Imported by: 13

Documentation

Index

Constants

View Source
const (
	HelmVersion = "3.135.4"
)

Variables

This section is empty.

Functions

func ECSFargateWindowsContainerDefinition

func ECSFargateWindowsContainerDefinition(e config.Env, image string, apiKeySSMParamName pulumi.StringInput, fakeintake *fakeintake.Fakeintake) *ecs.TaskDefinitionContainerDefinitionArgs

ECSFargateWindowsContainerDefinition returns the container definition for the Windows agent running on ECS Fargate. Firelens is not supported. Logs could be collected if sent to cloudwatch using the `awslogs` driver. See: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/tutorial-deploy-fluentbit-on-windows.html

func ECSLinuxDaemonDefinition

func ECSLinuxDaemonDefinition(e aws.Environment, name string, apiKeySSMParamName pulumi.StringInput, fakeintake *fakeintake.Fakeintake, clusterArn pulumi.StringInput, options ...ecsagentparams.Option) (*ecs.EC2Service, error)

func GetPackagePath

func GetPackagePath(localPath string, flavor tifos.Flavor, agentFlavor string, arch tifos.Architecture, pipelineID string) (string, error)

GetPackagePath retrieve the name of the package that should be installed. It will return the path to the package that should be installed for the given flavor and agent flavor. If the package is not found, it will return an error. If multiple packages are found, it will fail. Args:

  • localPath: either a path to a folder or a path to a file if a folder is provided, it should have a structure similar to what the agent CI exposes. pkg/ | -- datadog-agent-<version>-<arch><fips?>.rpm | -- datadog-agent-<version>-<arch><fips?>.deb | -- suse/ | | -- datadog-agent-<version>-<arch><fips?>.rpm
  • flavor: the flavor of the host
  • agentFlavor: the flavor of the agent
  • arch: the architecture of the host
  • pipelineID: the ID of the pipeline, if empty will be ignored, mainly used to avoid an issue with the Windows Runners, can be removed once CIEXE-143 is fixed

Returns: - the path to the package that should be installed - an error if the package is not found or if there are multiple packages

Types

type DockerAgent

type DockerAgent struct {
	pulumi.ResourceState
	components.Component

	DockerManager *docker.Manager     `pulumi:"dockerManager"`
	ContainerName pulumi.StringOutput `pulumi:"containerName"`
	FIPSEnabled   pulumi.BoolOutput   `pulumi:"fipsEnabled"`
}

DockerAgent is a Docker installer on a remote Host

func NewDockerAgent

func NewDockerAgent(e config.Env, vm *remoteComp.Host, manager *docker.Manager, options ...dockeragentparams.Option) (*DockerAgent, error)

func (*DockerAgent) Export

func (h *DockerAgent) Export(ctx *pulumi.Context, out *DockerAgentOutput) error

type DockerAgentOutput

type DockerAgentOutput struct {
	components.JSONImporter

	DockerManager docker.ManagerOutput `json:"dockerManager"`
	ContainerName string               `json:"containerName"`
	FIPSEnabled   bool                 `json:"fipsEnabled"`
}

type HelmComponent

type HelmComponent struct {
	pulumi.ResourceState

	LinuxHelmReleaseName   pulumi.StringPtrOutput
	LinuxHelmReleaseStatus kubeHelm.ReleaseStatusOutput

	WindowsHelmReleaseName   pulumi.StringPtrOutput
	WindowsHelmReleaseStatus kubeHelm.ReleaseStatusOutput

	ClusterAgentToken pulumi.StringOutput
}

func NewHelmInstallation

func NewHelmInstallation(e config.Env, args HelmInstallationArgs, opts ...pulumi.ResourceOption) (*HelmComponent, error)

type HelmInstallationArgs

type HelmInstallationArgs struct {
	// KubeProvider is the Kubernetes provider to use
	KubeProvider *kubernetes.Provider
	// Namespace is the namespace in which to install the agent
	Namespace string
	// ChartPath is the chart name or local chart path.
	ChartPath string
	// RepoURL is the Helm repository URL to use for the remote chart installation.
	RepoURL string
	// ValuesYAML is used to provide installation-specific values
	ValuesYAML pulumi.AssetOrArchiveArray
	// Fakeintake is used to configure the agent to send data to a fake intake
	Fakeintake *fakeintake.Fakeintake
	// DeployWindows is used to deploy the Windows agent
	DeployWindows bool
	// AgentFullImagePath is used to specify the full image path for the agent
	AgentFullImagePath string
	// ClusterAgentFullImagePath is used to specify the full image path for the cluster agent
	ClusterAgentFullImagePath string
	// DisableLogsContainerCollectAll is used to disable the collection of logs from all containers by default
	DisableLogsContainerCollectAll bool
	// DualShipping is used to disable dual-shipping
	DualShipping bool
	// OTelAgent is used to deploy the OTel agent instead of the classic agent
	OTelAgent bool
	// OTelConfig is used to provide a custom OTel configuration
	OTelConfig string
	// GKEAutopilot is used to enable the GKE Autopilot mode and keep only compatible values
	GKEAutopilot bool
	// FIPS is used to deploy the agent with the FIPS agent image
	FIPS bool
	// JMX is used to deploy the agent with the JMX agent image
	JMX bool
}

HelmInstallationArgs is the set of arguments for creating a new HelmInstallation component

type HelmValues

type HelmValues pulumi.Map

type HostAgent

type HostAgent struct {
	pulumi.ResourceState
	components.Component

	Host        *remoteComp.Host  `pulumi:"host"`
	FIPSEnabled pulumi.BoolOutput `pulumi:"fipsEnabled"`
	// contains filtered or unexported fields
}

HostAgent is an installer for the Agent on a remote host

func NewHostAgent

func NewHostAgent(e config.Env, host *remoteComp.Host, options ...agentparams.Option) (*HostAgent, error)

NewHostAgent creates a new instance of a on-host Agent

func (*HostAgent) Export

func (h *HostAgent) Export(ctx *pulumi.Context, out *HostAgentOutput) error

type HostAgentOutput

type HostAgentOutput struct {
	components.JSONImporter

	Host        remoteComp.HostOutput `json:"host"`
	FIPSEnabled bool                  `json:"fipsEnabled"`
}

type KubernetesAgent

type KubernetesAgent struct {
	pulumi.ResourceState
	components.Component

	LinuxNodeAgent     *kubernetes.KubernetesObjectRef `pulumi:"linuxNodeAgent"`
	LinuxClusterAgent  *kubernetes.KubernetesObjectRef `pulumi:"linuxClusterAgent"`
	LinuxClusterChecks *kubernetes.KubernetesObjectRef `pulumi:"linuxClusterChecks"`

	WindowsNodeAgent     *kubernetes.KubernetesObjectRef `pulumi:"windowsNodeAgent"`
	WindowsClusterAgent  *kubernetes.KubernetesObjectRef `pulumi:"windowsClusterAgent"`
	WindowsClusterChecks *kubernetes.KubernetesObjectRef `pulumi:"windowsClusterChecks"`

	ClusterAgentToken pulumi.StringOutput
	FIPSEnabled       pulumi.BoolOutput `pulumi:"fipsEnabled"`
}

KubernetesAgent is an installer to install the Datadog Agent on a Kubernetes cluster.

func NewDDAWithOperator

func NewDDAWithOperator(e config.Env, resourceName string, kubeProvider *kubernetes.Provider, ddaOptions ...agentwithoperatorparams.Option) (*KubernetesAgent, error)

func (*KubernetesAgent) Export

type KubernetesAgentOutput

type KubernetesAgentOutput struct {
	components.JSONImporter

	LinuxNodeAgent     kubernetes.KubernetesObjRefOutput `json:"linuxNodeAgent"`
	LinuxClusterAgent  kubernetes.KubernetesObjRefOutput `json:"linuxClusterAgent"`
	LinuxClusterChecks kubernetes.KubernetesObjRefOutput `json:"linuxClusterChecks"`

	WindowsNodeAgent     kubernetes.KubernetesObjRefOutput `json:"windowsNodeAgent"`
	WindowsClusterAgent  kubernetes.KubernetesObjRefOutput `json:"windowsClusterAgent"`
	WindowsClusterChecks kubernetes.KubernetesObjRefOutput `json:"windowsClusterChecks"`

	FIPSEnabled bool `json:"fipsEnabled"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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