Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetConfName ¶
func GetConfName(owner metav1.Object, conf *CustomConfig, defaultName string) string
GetConfName get the name of the Configmap for a CustomConfigSpec
Types ¶
type AgentContainerName ¶
type AgentContainerName string
AgentContainerName is the name of a container inside an Agent component
const ( // InitVolumeContainerName is the name of the Init Volume init container InitVolumeContainerName AgentContainerName = "init-volume" // InitConfigContainerName is the name of the Init config Volume init container InitConfigContainerName AgentContainerName = "init-config" // SeccompSetupContainerName is the name of the Seccomp Setup init container SeccompSetupContainerName AgentContainerName = "seccomp-setup" // UnprivilegedSingleAgentContainerName is the name of a container which may run // any combination of Core, Trace and Process Agent processes in a single container. UnprivilegedSingleAgentContainerName AgentContainerName = "unprivileged-single-agent" // CoreAgentContainerName is the name of the Core Agent container CoreAgentContainerName AgentContainerName = "agent" // TraceAgentContainerName is the name of the Trace Agent container TraceAgentContainerName AgentContainerName = "trace-agent" // ProcessAgentContainerName is the name of the Process Agent container ProcessAgentContainerName AgentContainerName = "process-agent" // SecurityAgentContainerName is the name of the Security Agent container SecurityAgentContainerName AgentContainerName = "security-agent" // SystemProbeContainerName is the name of the System Probe container SystemProbeContainerName AgentContainerName = "system-probe" // OtelAgent is the name of the OTel container OtelAgent AgentContainerName = "otel-agent" // AllContainers is used internally to reference all containers in the pod AllContainers AgentContainerName = "all" // ClusterAgentContainerName is the name of the Cluster Agent container ClusterAgentContainerName AgentContainerName = "cluster-agent" // ClusterChecksRunnersContainerName is the name of the Agent container in Cluster Checks Runners ClusterChecksRunnersContainerName AgentContainerName = "agent" // FIPSProxyContainerName is the name of the FIPS Proxy container FIPSProxyContainerName AgentContainerName = "fips-proxy" )
type AgentImageConfig ¶
type AgentImageConfig struct {
// Define the image to use:
// Use "gcr.io/datadoghq/agent:latest" for Datadog Agent 7.
// Use "datadog/dogstatsd:latest" for standalone Datadog Agent DogStatsD 7.
// Use "gcr.io/datadoghq/cluster-agent:latest" for Datadog Cluster Agent.
// Use "agent" with the registry and tag configurations for <registry>/agent:<tag>.
// Use "cluster-agent" with the registry and tag configurations for <registry>/cluster-agent:<tag>.
// If the name is the full image string—`<name>:<tag>` or `<registry>/<name>:<tag>`, then `tag`, `jmxEnabled`,
// and `global.registry` values are ignored.
// Otherwise, image string is created by overriding default settings with supplied `name`, `tag`, and `jmxEnabled` values;
// image string is created using default registry unless `global.registry` is configured.
Name string `json:"name,omitempty"`
// Define the image tag to use.
// To be used if the Name field does not correspond to a full image string.
// +optional
Tag string `json:"tag,omitempty"`
// Define whether the Agent image should support JMX.
// To be used if the Name field does not correspond to a full image string.
// +optional
JMXEnabled bool `json:"jmxEnabled,omitempty"`
// The Kubernetes pull policy:
// Use Always, Never, or IfNotPresent.
PullPolicy *corev1.PullPolicy `json:"pullPolicy,omitempty"`
// It is possible to specify Docker registry credentials.
// See https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
// +optional
PullSecrets *[]corev1.LocalObjectReference `json:"pullSecrets,omitempty"`
}
AgentImageConfig defines the agent container image config. +kubebuilder:object:generate=true
func (*AgentImageConfig) DeepCopy ¶
func (in *AgentImageConfig) DeepCopy() *AgentImageConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentImageConfig.
func (*AgentImageConfig) DeepCopyInto ¶
func (in *AgentImageConfig) DeepCopyInto(out *AgentImageConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigMapConfig ¶
type ConfigMapConfig struct {
// Name is the name of the ConfigMap.
Name string `json:"name,omitempty"`
// Items maps a ConfigMap data `key` to a file `path` mount.
// +listType=map
// +listMapKey=key
// +optional
Items []corev1.KeyToPath `json:"items,omitempty"`
}
ConfigMapConfig contains ConfigMap information used to store a configuration file. +kubebuilder:object:generate=true
func (*ConfigMapConfig) DeepCopy ¶
func (in *ConfigMapConfig) DeepCopy() *ConfigMapConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapConfig.
func (*ConfigMapConfig) DeepCopyInto ¶
func (in *ConfigMapConfig) DeepCopyInto(out *ConfigMapConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomConfig ¶
type CustomConfig struct {
// ConfigData corresponds to the configuration file content.
// +optional
ConfigData *string
// Enable to specify a reference to an already existing ConfigMap.
// +optional
ConfigMap *ConfigMapConfig
}
CustomConfig allows one to put custom configurations for the agent. +kubebuilder:object:generate=true
func (*CustomConfig) DeepCopy ¶
func (in *CustomConfig) DeepCopy() *CustomConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomConfig.
func (*CustomConfig) DeepCopyInto ¶
func (in *CustomConfig) DeepCopyInto(out *CustomConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonSetStatus ¶
type DaemonSetStatus struct {
// Number of desired pods in the DaemonSet.
Desired int32 `json:"desired"`
// Number of current pods in the DaemonSet.
Current int32 `json:"current"`
// Number of ready pods in the DaemonSet.
Ready int32 `json:"ready"`
// Number of available pods in the DaemonSet.
Available int32 `json:"available"`
// Number of up to date pods in the DaemonSet.
UpToDate int32 `json:"upToDate"`
// LastUpdate is the last time the status was updated.
LastUpdate *metav1.Time `json:"lastUpdate,omitempty"`
// CurrentHash is the stored hash of the DaemonSet.
CurrentHash string `json:"currentHash,omitempty"`
// Status corresponds to the DaemonSet computed status.
Status string `json:"status,omitempty"`
// State corresponds to the DaemonSet state.
State string `json:"state,omitempty"`
// DaemonsetName corresponds to the name of the created DaemonSet.
DaemonsetName string `json:"daemonsetName,omitempty"`
}
DaemonSetStatus defines the observed state of Agent running as DaemonSet. +k8s:openapi-gen=true +kubebuilder:object:generate=true
func (*DaemonSetStatus) DeepCopy ¶
func (in *DaemonSetStatus) DeepCopy() *DaemonSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaemonSetStatus.
func (*DaemonSetStatus) DeepCopyInto ¶
func (in *DaemonSetStatus) DeepCopyInto(out *DaemonSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentStatus ¶
type DeploymentStatus struct {
// Total number of non-terminated pods targeted by this Deployment (their labels match the selector).
// +optional
Replicas int32 `json:"replicas,omitempty"`
// Total number of non-terminated pods targeted by this Deployment that have the desired template spec.
// +optional
UpdatedReplicas int32 `json:"updatedReplicas,omitempty"`
// Total number of ready pods targeted by this Deployment.
// +optional
ReadyReplicas int32 `json:"readyReplicas,omitempty"`
// Total number of available pods (ready for at least minReadySeconds) targeted by this Deployment.
// +optional
AvailableReplicas int32 `json:"availableReplicas,omitempty"`
// pods that are still required for the Deployment to have 100% available capacity. They may
// either be pods that are running but not yet available or pods that still have not been created.
// +optional
UnavailableReplicas int32 `json:"unavailableReplicas,omitempty"`
// LastUpdate is the last time the status was updated.
LastUpdate *metav1.Time `json:"lastUpdate,omitempty"`
// CurrentHash is the stored hash of the Deployment.
CurrentHash string `json:"currentHash,omitempty"`
// GeneratedToken corresponds to the generated token if any token was provided in the Credential configuration when ClusterAgent is
// enabled.
// +optional
GeneratedToken string `json:"generatedToken,omitempty"`
// Status corresponds to the Deployment computed status.
Status string `json:"status,omitempty"`
// State corresponds to the Deployment state.
State string `json:"state,omitempty"`
// DeploymentName corresponds to the name of the Deployment.
DeploymentName string `json:"deploymentName,omitempty"`
}
DeploymentStatus type representing a Deployment status. +k8s:openapi-gen=true +kubebuilder:object:generate=true
func (*DeploymentStatus) DeepCopy ¶
func (in *DeploymentStatus) DeepCopy() *DeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatus.
func (*DeploymentStatus) DeepCopyInto ¶
func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeletConfig ¶
type KubeletConfig struct {
// Host overrides the host used to contact kubelet API (default to status.hostIP).
// +optional
Host *corev1.EnvVarSource `json:"host,omitempty"`
// TLSVerify toggles kubelet TLS verification.
// Default: true
// +optional
TLSVerify *bool `json:"tlsVerify,omitempty"`
// HostCAPath is the host path where the kubelet CA certificate is stored.
// +optional
HostCAPath string `json:"hostCAPath,omitempty"`
// AgentCAPath is the container path where the kubelet CA certificate is stored.
// Default: '/var/run/host-kubelet-ca.crt' if hostCAPath is set, else '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
// +optional
AgentCAPath string `json:"agentCAPath,omitempty"`
}
KubeletConfig contains the kubelet configuration parameters. +kubebuilder:object:generate=true
func (*KubeletConfig) DeepCopy ¶
func (in *KubeletConfig) DeepCopy() *KubeletConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig.
func (*KubeletConfig) DeepCopyInto ¶
func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RollingUpdate ¶
type RollingUpdate struct {
// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
// Refer to the Kubernetes API documentation for additional details..
MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`
// MaxSurge behaves differently based on the Kubernetes resource. Refer to the
// Kubernetes API documentation for additional details.
MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty"`
}
RollingUpdate describes how to replace existing pods with new ones. +k8s:openapi-gen=true +kubebuilder:object:generate=true
func (*RollingUpdate) DeepCopy ¶
func (in *RollingUpdate) DeepCopy() *RollingUpdate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpdate.
func (*RollingUpdate) DeepCopyInto ¶
func (in *RollingUpdate) DeepCopyInto(out *RollingUpdate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretConfig ¶
type SecretConfig struct {
// SecretName is the name of the secret.
SecretName string `json:"secretName"`
// KeyName is the key of the secret to use.
// +optional
KeyName string `json:"keyName,omitempty"`
}
SecretConfig contains a secret name and an included key. +kubebuilder:object:generate=true
func (*SecretConfig) DeepCopy ¶
func (in *SecretConfig) DeepCopy() *SecretConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretConfig.
func (*SecretConfig) DeepCopyInto ¶
func (in *SecretConfig) DeepCopyInto(out *SecretConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpdateStrategy ¶
type UpdateStrategy struct {
// Type can be "RollingUpdate" or "OnDelete" for DaemonSets and "RollingUpdate"
// or "Recreate" for Deployments
Type string `json:"type,omitempty"`
// Configure the rolling update strategy of the Deployment or DaemonSet.
RollingUpdate *RollingUpdate `json:"rollingUpdate,omitempty"`
}
The deployment strategy to use to replace existing pods with new ones. +k8s:openapi-gen=true +kubebuilder:object:generate=true
func (*UpdateStrategy) DeepCopy ¶
func (in *UpdateStrategy) DeepCopy() *UpdateStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStrategy.
func (*UpdateStrategy) DeepCopyInto ¶
func (in *UpdateStrategy) DeepCopyInto(out *UpdateStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.