Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the datadoghq v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=datadoghq.com
Package v1alpha1 contains API Schema definitions for the datadoghq v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=datadoghq.com
Index ¶
- Constants
- Variables
- func BoolToString(b *bool) string
- func BoolValue(b *bool) bool
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- func IsDefaultedDatadogAgent(ad *DatadogAgent) bool
- func IsDefaultedDatadogAgentSpecAgentConfig(config *NodeAgentConfig) bool
- func IsDefaultedDatadogAgentSpecApm(apm *APMSpec) bool
- func IsDefaultedDatadogAgentSpecClusterAgentConfig(config *ClusterAgentConfig) bool
- func IsDefaultedDatadogAgentSpecClusterChecksRunnerConfig(config *ClusterChecksRunnerConfig) bool
- func IsDefaultedDatadogAgentSpecDatadogAgentStrategy(strategy *DaemonSetDeploymentStrategy) bool
- func IsDefaultedDatadogAgentSpecLog(log *LogSpec) bool
- func IsDefaultedDatadogAgentSpecProcess(process *ProcessSpec) bool
- func IsDefaultedDatadogAgentSpecRbacConfig(rbac *RbacConfig) bool
- func IsDefaultedImageConfig(imageConfig *ImageConfig) bool
- func IsValidCustomConfigSpec(ccs *CustomConfigSpec) error
- func IsValidDatadogAgent(spec *DatadogAgentSpec) error
- func Kind(kind string) schema.GroupKind
- func NewBoolPointer(b bool) *bool
- func NewInt32Pointer(i int32) *int32
- func NewStringPointer(s string) *string
- func Resource(resource string) schema.GroupResource
- type APMSpec
- type AgentCredentials
- type CRISocketConfig
- type ClusterAgentConfig
- type ClusterChecksRunnerConfig
- type ConfigDirSpec
- type ConfigFileConfigMapSpec
- type CustomConfigSpec
- type DaemonSetDeploymentStrategy
- type DaemonSetRollingUpdateSpec
- type DaemonSetStatus
- type DatadogAgent
- type DatadogAgentCondition
- type DatadogAgentConditionType
- type DatadogAgentList
- type DatadogAgentSpec
- type DatadogAgentSpecAgentSpec
- type DatadogAgentSpecClusterAgentSpec
- type DatadogAgentSpecClusterChecksRunnerSpec
- type DatadogAgentState
- type DatadogAgentStatus
- type DeploymentStatus
- type DogstatsdConfig
- type ImageConfig
- type LogSpec
- type NodeAgentConfig
- type ProcessSpec
- type RbacConfig
- type SystemProbeSpec
Constants ¶
const ( // AgentDeploymentNameLabelKey label key use to link a Resource to a DatadogAgent AgentDeploymentNameLabelKey = "agent.datadoghq.com/name" // AgentDeploymentComponentLabelKey label key use to know with component is it AgentDeploymentComponentLabelKey = "agent.datadoghq.com/component" // MD5AgentDeploymentAnnotationKey annotation key used on ExtendedDaemonSet in order to identify which AgentDeployment have been used to generate it. MD5AgentDeploymentAnnotationKey = "agent.datadoghq.com/agentspechash" // DefaultAgentResourceSuffix use as suffix for agent resource naming DefaultAgentResourceSuffix = "agent" // DefaultClusterAgentResourceSuffix use as suffix for cluster-agent resource naming DefaultClusterAgentResourceSuffix = "cluster-agent" // DefaultClusterChecksRunnerResourceSuffix use as suffix for cluster-checks-runner resource naming DefaultClusterChecksRunnerResourceSuffix = "cluster-checks-runner" // DefaultMetricsServerResourceSuffix use as suffix for cluster-agent metrics-server resource naming DefaultMetricsServerResourceSuffix = "cluster-agent-metrics-server" // DefaultAPPKeyKey default app-key key (use in secret for instance). DefaultAPPKeyKey = "app_key" // DefaultAPIKeyKey default api-key key (use in secret for instance). DefaultAPIKeyKey = "api_key" // DefaultTokenKey default token key (use in secret for instance). DefaultTokenKey = "token" // DefaultClusterAgentServicePort default cluster-agent service port DefaultClusterAgentServicePort = 5005 // DefaultMetricsServerServicePort default metrics-server port DefaultMetricsServerServicePort = 443 )
const ( DDAPIKey = "DD_API_KEY" DDClusterName = "DD_CLUSTER_NAME" DDSite = "DD_SITE" DDddURL = "DD_DD_URL" DDHealthPort = "DD_HEALTH_PORT" DDLogLevel = "DD_LOG_LEVEL" DDPodLabelsAsTags = "DD_KUBERNETES_POD_LABELS_AS_TAGS" DDPodAnnotationsAsTags = "DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS" DDTags = "DD_TAGS" DDCollectKubeEvents = "DD_COLLECT_KUBERNETES_EVENTS" DDLeaderElection = "DD_LEADER_ELECTION" DDLogsEnabled = "DD_LOGS_ENABLED" DDLogsConfigContainerCollectAll = "DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL" DDDogstatsdOriginDetection = "DD_DOGSTATSD_ORIGIN_DETECTION" DDClusterAgentEnabled = "DD_CLUSTER_AGENT_ENABLED" DDClusterAgentKubeServiceName = "DD_CLUSTER_AGENT_KUBERNETES_SERVICE_NAME" DDClusterAgentAuthToken = "DD_CLUSTER_AGENT_AUTH_TOKEN" DDMetricsProviderEnabled = "DD_EXTERNAL_METRICS_PROVIDER_ENABLED" DDMetricsProviderPort = "DD_EXTERNAL_METRICS_PROVIDER_PORT" DDAppKey = "DD_APP_KEY" DDClusterChecksEnabled = "DD_CLUSTER_CHECKS_ENABLED" DDClcRunnerEnabled = "DD_CLC_RUNNER_ENABLED" DDClcRunnerHost = "DD_CLC_RUNNER_HOST" DDExtraConfigProviders = "DD_EXTRA_CONFIG_PROVIDERS" DDExtraListeners = "DD_EXTRA_LISTENERS" DDHostname = "DD_HOSTNAME" DDAPMEnabled = "DD_APM_ENABLED" DDProcessAgentEnabled = "DD_PROCESS_AGENT_ENABLED" DDSystemProbeAgentEnabled = "DD_SYSTEM_PROBE_ENABLED" DDEnableMetadataCollection = "DD_ENABLE_METADATA_COLLECTION" DDKubeletHost = "DD_KUBERNETES_KUBELET_HOST" DDCriSocketPath = "DD_CRI_SOCKET_PATH" DockerHost = "DOCKER_HOST" // KubernetesEnvvarName Env var used by the Datadog Agent container entrypoint // to add kubelet config provider and listener KubernetesEnvvarName = "KUBERNETES" ConfdVolumeName = "confd" ConfdVolumePath = "/conf.d" ChecksdVolumeName = "checksd" ChecksdVolumePath = "/checks.d" ConfigVolumeName = "config" ConfigVolumePath = "/etc/datadog-agent" ProcVolumeName = "procdir" ProcVolumePath = "/host/proc" ProcVolumeReadOnly = true PasswdVolumeName = "passwd" PasswdVolumePath = "/etc/passwd" CgroupsVolumeName = "cgroups" CgroupsVolumePath = "/host/sys/fs/cgroup" CgroupsVolumeReadOnly = true SystemProbeSocketVolumeName = "sysprobe-socket-dir" SystemProbeSocketVolumePath = "/opt/datadog-agent/run" CriSocketVolumeName = "runtimesocketdir" CriSocketVolumeReadOnly = true DogstatsdSockerVolumeName = "dsdsocket" DogstatsdSockerVolumePath = "/var/run/datadog" PointerVolumeName = "pointerdir" PointerVolumePath = "/opt/datadog-agent/run" LogPodVolumeName = "logpodpath" LogPodVolumePath = "/var/log/pods" LogPodVolumeReadOnly = true LogContainerVolumeName = "logcontainerpath" LogContainerVolumeReadOnly = true SystemProbeDebugfsVolumeName = "debugfs" SystemProbeDebugfsVolumePath = "/sys/kernel/debug" SystemProbeConfigVolumeName = "system-probe-config" SystemProbeConfigVolumePath = "/etc/datadog-agent/system-probe.yaml" SystemProbeConfigVolumeSubPath = "system-probe.yaml" SystemProbeAgentSecurityVolumeName = "datadog-agent-security" SystemProbeAgentSecurityVolumePath = "/etc/config" SystemProbeSecCompRootVolumeName = "seccomp-root" SystemProbeSecCompRootVolumePath = "/host/var/lib/kubelet/seccomp" AgentCustomConfigVolumeName = "custom-datadog-yaml" AgentCustomConfigVolumePath = "/etc/datadog-agent/datadog.yaml" AgentCustomConfigVolumeSubPath = "datadog.yaml" HostCriSocketPathPrefix = "/host" ClusterAgentCustomConfigVolumeName = "custom-datadog-yaml" ClusterAgentCustomConfigVolumePath = "/etc/datadog-agent/datadog-cluster.yaml" ClusterAgentCustomConfigVolumeSubPath = "datadog-cluster.yaml" DefaultSystemProbeSecCompRootPath = "/var/lib/kubelet/seccomp" DefaultAppArmorProfileName = "unconfined" DefaultSeccompProfileName = "localhost/system-probe" SysteProbeAppArmorAnnotationKey = "container.apparmor.security.beta.kubernetes.io/system-probe" SysteProbeSeccompAnnotationKey = "container.seccomp.security.alpha.kubernetes.io/system-probe" KubeServicesConfigProvider = "kube_services" KubeEndpointsConfigProvider = "kube_endpoints" KubeServicesAndEndpointsConfigProviders = "kube_services kube_endpoints" ClusterChecksConfigProvider = "clusterchecks" EndpointsChecksConfigProvider = "endpointschecks" ClusterAndEndpointsConfigPoviders = "clusterchecks endpointschecks" KubeServicesListener = "kube_services" KubeEndpointsListener = "kube_endpoints" KubeServicesAndEndpointsListeners = "kube_services kube_endpoints" DefaultLivenessProveInitialDelaySeconds int32 = 15 DefaultLivenessProvePeriodSeconds int32 = 15 DefaultLivenessProveTimeoutSeconds int32 = 5 DefaultLivenessProveSuccessThreshold int32 = 1 DefaultLivenessProveFailureThreshold int32 = 6 DefaultAgentHealthPort int32 = 5555 DefaultLivenessProveHTTPPath = "/health" DefaultAPMAgentTCPPort int32 = 8126 CoreAPIGroup = "" OpenShiftQuotaAPIGroup = "quota.openshift.io" RbacAPIGroup = "rbac.authorization.k8s.io" AutoscalingAPIGroup = "autoscaling" ServicesResource = "services" EventsResource = "events" EndpointsResource = "endpoints" PodsResource = "pods" NodesResource = "nodes" ComponentStatusesResource = "componentstatuses" ConfigMapsResource = "configmaps" ClusterResourceQuotasResource = "clusterresourcequotas" NodeMetricsResource = "nodes/metrics" NodeSpecResource = "nodes/spec" NodeProxyResource = "nodes/proxy" NodeStats = "nodes/stats" HorizontalPodAutoscalersRecource = "horizontalpodautoscalers" DatadogTokenResourceName = "datadogtoken" DatadogLeaderElectionResourceName = "datadog-leader-election" DatadogCustomMetricsResourceName = "datadog-custom-metrics" ExtensionAPIServerAuthResourceName = "extension-apiserver-authentication" VersionURL = "/version" HealthzURL = "/healthz" MetricsURL = "/metrics" GetVerb = "get" ListVerb = "list" WatchVerb = "watch" UpdateVerb = "update" CreateVerb = "create" ClusterRoleKind = "ClusterRole" RoleKind = "Role" ServiceAccountKind = "ServiceAccount" )
Datadog env var names
const (
DefaultLogLevel string = "INFO"
)
default values
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "datadoghq.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func BoolToString ¶
BoolToString return "true" if b == true, else "false"
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
func IsDefaultedDatadogAgent ¶
func IsDefaultedDatadogAgent(ad *DatadogAgent) bool
IsDefaultedDatadogAgent used to check if an DatadogAgent was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecAgentConfig ¶
func IsDefaultedDatadogAgentSpecAgentConfig(config *NodeAgentConfig) bool
IsDefaultedDatadogAgentSpecAgentConfig used to check if a NodeAgentConfig was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecApm ¶
IsDefaultedDatadogAgentSpecApm used to check if an APMSpec was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecClusterAgentConfig ¶
func IsDefaultedDatadogAgentSpecClusterAgentConfig(config *ClusterAgentConfig) bool
IsDefaultedDatadogAgentSpecClusterAgentConfig used to check if a ClusterAgentConfig was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecClusterChecksRunnerConfig ¶
func IsDefaultedDatadogAgentSpecClusterChecksRunnerConfig(config *ClusterChecksRunnerConfig) bool
IsDefaultedDatadogAgentSpecClusterChecksRunnerConfig used to check if a ClusterChecksRunnerConfig was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecDatadogAgentStrategy ¶
func IsDefaultedDatadogAgentSpecDatadogAgentStrategy(strategy *DaemonSetDeploymentStrategy) bool
IsDefaultedDatadogAgentSpecDatadogAgentStrategy used to check if a DaemonSetDeploymentStrategy was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecLog ¶
IsDefaultedDatadogAgentSpecLog used to check if an LogSpec was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecProcess ¶
func IsDefaultedDatadogAgentSpecProcess(process *ProcessSpec) bool
IsDefaultedDatadogAgentSpecProcess used to check if an ProcessSpec was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecRbacConfig ¶
func IsDefaultedDatadogAgentSpecRbacConfig(rbac *RbacConfig) bool
IsDefaultedDatadogAgentSpecRbacConfig used to check if a RbacConfig is defaulted returns true if yes, else false
func IsDefaultedImageConfig ¶
func IsDefaultedImageConfig(imageConfig *ImageConfig) bool
IsDefaultedImageConfig used to check if a ImageConfig was already defaulted returns true if yes, else false
func IsValidCustomConfigSpec ¶
func IsValidCustomConfigSpec(ccs *CustomConfigSpec) error
IsValidCustomConfigSpec used to check if a CustomConfigSpec is properly set
func IsValidDatadogAgent ¶
func IsValidDatadogAgent(spec *DatadogAgentSpec) error
IsValidDatadogAgent use to check if a DatadogAgentSpec is valid
func NewBoolPointer ¶
NewBoolPointer returns pointer on a new bool value instance
func NewInt32Pointer ¶
NewInt32Pointer returns pointer on a new int32 value instance
func NewStringPointer ¶
NewStringPointer returns pointer on a new string value instance
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type APMSpec ¶
type APMSpec struct { // Enable this to enable APM and tracing, on port 8126 // ref: https://github.com/DataDog/docker-dd-agent#tracing-from-the-host // +optional Enabled *bool `json:"enabled,omitempty"` // Number of port to expose on the host. // If specified, this must be a valid port number, 0 < x < 65536. // If HostNetwork is specified, this must match ContainerPort. // Most containers do not need this. // // +optional HostPort *int32 `json:"hostPort,omitempty"` // The Datadog Agent supports many environment variables // Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=set Env []corev1.EnvVar `json:"env,omitempty"` // Datadog APM Agent resource requests and limits // Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class // Ref: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` }
APMSpec contains the Trace Agent configuration +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentApm ¶
DefaultDatadogAgentSpecAgentApm used to default an APMSpec return the defaulted APMSpec
func (*APMSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APMSpec.
func (*APMSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentCredentials ¶
type AgentCredentials struct { // APIKey Set this to your Datadog API key before the Agent runs. // ref: https://app.datadoghq.com/account/settings#agent/kubernetes APIKey string `json:"apiKey,omitempty"` // APIKeyExistingSecret Use existing Secret which stores API key instead of creating a new one. // If set, this parameter takes precedence over "apiKey". // +optional APIKeyExistingSecret string `json:"apiKeyExistingSecret,omitempty"` // If you are using clusterAgent.metricsProvider.enabled = true, you must set // a Datadog application key for read access to your metrics. // +optional AppKey string `json:"appKey,omitempty"` // Use existing Secret which stores APP key instead of creating a new one // If set, this parameter takes precedence over "appKey". // +optional AppKeyExistingSecret string `json:"appKeyExistingSecret,omitempty"` // This needs to be at least 32 characters a-zA-z // It is a preshared key between the node agents and the cluster agent // +optional Token string `json:"token,omitempty"` // UseSecretBackend use the Agent secret backend feature for retreiving all credentials needed by // the different components: Agent, Cluster, Cluster-Checks. // If `useSecretBackend: true`, other credential parameters will be ignored. // default value is false. UseSecretBackend *bool `json:"useSecretBackend,omitempty"` }
AgentCredentials contains credentials values to configure the Agent +k8s:openapi-gen=true
func (*AgentCredentials) DeepCopy ¶
func (in *AgentCredentials) DeepCopy() *AgentCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentCredentials.
func (*AgentCredentials) DeepCopyInto ¶
func (in *AgentCredentials) DeepCopyInto(out *AgentCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CRISocketConfig ¶
type CRISocketConfig struct { // Enable container runtime socket volume mounting UseCriSocketVolume *bool `json:"useCriSocketVolume,omitempty"` // Path to the container runtime socket (if different from Docker) // This is supported starting from agent 6.6.0 // +optional CriSocketPath *string `json:"criSocketPath,omitempty"` }
CRISocketConfig contains the CRI socket configuration parameters +k8s:openapi-gen=true
func (*CRISocketConfig) DeepCopy ¶
func (in *CRISocketConfig) DeepCopy() *CRISocketConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CRISocketConfig.
func (*CRISocketConfig) DeepCopyInto ¶
func (in *CRISocketConfig) DeepCopyInto(out *CRISocketConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterAgentConfig ¶
type ClusterAgentConfig struct { // Enable the metricsProvider to be able to scale based on metrics in Datadog MetricsProviderEnabled *bool `json:"metricsProviderEnabled,omitempty"` // If specified configures the metricsProvider external metrics service port // +optional MetricsProviderPort *int32 `json:"metricsProviderPort,omitempty"` // Enable the Cluster Checks and Endpoint Checks feature on both the cluster-agents and the daemonset // ref: // https://docs.datadoghq.com/agent/cluster_agent/clusterchecks/ // https://docs.datadoghq.com/agent/cluster_agent/endpointschecks/ // Autodiscovery via Kube Service annotations is automatically enabled ClusterChecksEnabled *bool `json:"clusterChecksEnabled,omitempty"` // Set logging verbosity, valid log levels are: // trace, debug, info, warn, error, critical, and off LogLevel *string `json:"logLevel,omitempty"` // Datadog cluster-agent resource requests and limits Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Confd Provide additional cluster check configurations. Each key will become a file in /conf.d // see https://docs.datadoghq.com/agent/autodiscovery/ for more details. // +optional Confd *ConfigDirSpec `json:"confd,omitempty"` // The Datadog Agent supports many environment variables // Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=set Env []corev1.EnvVar `json:"env,omitempty"` // Specify additional volume mounts in the Datadog Cluster Agent container // +optional // +listType=set VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Specify additional volumes in the Datadog Cluster Agent container // +optional // +listType=set Volumes []corev1.Volume `json:"volumes,omitempty"` }
ClusterAgentConfig contains the configuration of the Cluster Agent +k8s:openapi-gen=true
func DefaultDatadogAgentSpecClusterAgentConfig ¶
func DefaultDatadogAgentSpecClusterAgentConfig(config *ClusterAgentConfig) *ClusterAgentConfig
DefaultDatadogAgentSpecClusterAgentConfig used to default an ClusterAgentConfig return the defaulted ClusterAgentConfig
func (*ClusterAgentConfig) DeepCopy ¶
func (in *ClusterAgentConfig) DeepCopy() *ClusterAgentConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAgentConfig.
func (*ClusterAgentConfig) DeepCopyInto ¶
func (in *ClusterAgentConfig) DeepCopyInto(out *ClusterAgentConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterChecksRunnerConfig ¶
type ClusterChecksRunnerConfig struct { // Datadog Cluster Checks Runner resource requests and limits Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Set logging verbosity, valid log levels are: // trace, debug, info, warn, error, critical, and off LogLevel *string `json:"logLevel,omitempty"` // The Datadog Agent supports many environment variables // Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=set Env []corev1.EnvVar `json:"env,omitempty"` // Specify additional volume mounts in the Datadog Cluster Agent container // +optional // +listType=set VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Specify additional volumes in the Datadog Cluster Agent container // +optional // +listType=set Volumes []corev1.Volume `json:"volumes,omitempty"` }
ClusterChecksRunnerConfig contains the configuration of the Cluster Checks Runner +k8s:openapi-gen=true
func DefaultDatadogAgentSpecClusterChecksRunnerConfig ¶
func DefaultDatadogAgentSpecClusterChecksRunnerConfig(config *ClusterChecksRunnerConfig) *ClusterChecksRunnerConfig
DefaultDatadogAgentSpecClusterChecksRunnerConfig used to default an ClusterChecksRunnerConfig return the defaulted ClusterChecksRunnerConfig
func (*ClusterChecksRunnerConfig) DeepCopy ¶
func (in *ClusterChecksRunnerConfig) DeepCopy() *ClusterChecksRunnerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterChecksRunnerConfig.
func (*ClusterChecksRunnerConfig) DeepCopyInto ¶
func (in *ClusterChecksRunnerConfig) DeepCopyInto(out *ClusterChecksRunnerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigDirSpec ¶
type ConfigDirSpec struct { // ConfigMapName name of a ConfigMap used to mount a directory ConfigMapName string `json:"configMapName,omitempty"` }
ConfigDirSpec contains config file directory configuration +k8s:openapi-gen=true
func (*ConfigDirSpec) DeepCopy ¶
func (in *ConfigDirSpec) DeepCopy() *ConfigDirSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigDirSpec.
func (*ConfigDirSpec) DeepCopyInto ¶
func (in *ConfigDirSpec) DeepCopyInto(out *ConfigDirSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigFileConfigMapSpec ¶
type ConfigFileConfigMapSpec struct { // Name the ConfigMap name Name string `json:"name,omitempty"` // FileKey corresponds to the key used in the ConfigMap.Data to store the configuration file content FileKey string `json:"fileKey,omitempty"` }
ConfigFileConfigMapSpec contains configMap information used to store a config file +k8s:openapi-gen=true
func (*ConfigFileConfigMapSpec) DeepCopy ¶
func (in *ConfigFileConfigMapSpec) DeepCopy() *ConfigFileConfigMapSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigFileConfigMapSpec.
func (*ConfigFileConfigMapSpec) DeepCopyInto ¶
func (in *ConfigFileConfigMapSpec) DeepCopyInto(out *ConfigFileConfigMapSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomConfigSpec ¶
type CustomConfigSpec struct { // ConfigData corresponds to the configuration file content ConfigData *string `json:"configData,omitempty"` // ConfigMap name of a ConfigMap used to mount the configuration file ConfigMap *ConfigFileConfigMapSpec `json:"configMap,omitempty"` }
CustomConfigSpec Allow to put custom configuration for the agent, corresponding to the datadog-cluster.yaml or datadog.yaml config file the configuration can be provided in the 'configData' field as raw data, or in a configmap thanks to `configMap` field. Important: `configData` and `configMap` can't be set together. +k8s:openapi-gen=true
func (*CustomConfigSpec) DeepCopy ¶
func (in *CustomConfigSpec) DeepCopy() *CustomConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomConfigSpec.
func (*CustomConfigSpec) DeepCopyInto ¶
func (in *CustomConfigSpec) DeepCopyInto(out *CustomConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonSetDeploymentStrategy ¶
type DaemonSetDeploymentStrategy struct { // The update strategy used for the DaemonSet UpdateStrategyType *appsv1.DaemonSetUpdateStrategyType `json:"updateStrategyType,omitempty"` // Configure the rolling updater strategy of the DaemonSet or the ExtendedDaemonSet RollingUpdate DaemonSetRollingUpdateSpec `json:"rollingUpdate,omitempty"` // Configure the canary deployment configuration using ExtendedDaemonSet Canary *edsdatadoghqv1alpha1.ExtendedDaemonSetSpecStrategyCanary `json:"canary,omitempty"` // The reconcile frequency of the ExtendDaemonSet ReconcileFrequency *metav1.Duration `json:"reconcileFrequency,omitempty"` }
DaemonSetDeploymentStrategy contains the node Agent deployment configuration +k8s:openapi-gen=true
func DefaultDatadogAgentSpecDatadogAgentStrategy ¶
func DefaultDatadogAgentSpecDatadogAgentStrategy(strategy *DaemonSetDeploymentStrategy) *DaemonSetDeploymentStrategy
DefaultDatadogAgentSpecDatadogAgentStrategy used to default a DaemonSetDeploymentStrategy return the defaulted DaemonSetDeploymentStrategy
func (*DaemonSetDeploymentStrategy) DeepCopy ¶
func (in *DaemonSetDeploymentStrategy) DeepCopy() *DaemonSetDeploymentStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaemonSetDeploymentStrategy.
func (*DaemonSetDeploymentStrategy) DeepCopyInto ¶
func (in *DaemonSetDeploymentStrategy) DeepCopyInto(out *DaemonSetDeploymentStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonSetRollingUpdateSpec ¶
type DaemonSetRollingUpdateSpec struct { // update. Value can be an absolute number (ex: 5) or a percentage of total // number of DaemonSet pods at the start of the update (ex: 10%). Absolute // number is calculated from percentage by rounding up. // This cannot be 0. // Default value is 1. MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"` // MaxPodSchedulerFailure the maxinum number of not scheduled on its Node due to a // scheduler failure: resource constraints. Value can be an absolute number (ex: 5) or a percentage of total // number of DaemonSet pods at the start of the update (ex: 10%). Absolute MaxPodSchedulerFailure *intstr.IntOrString `json:"maxPodSchedulerFailure,omitempty"` // The maxium number of pods created in parallel. // Default value is 250. MaxParallelPodCreation *int32 `json:"maxParallelPodCreation,omitempty"` // SlowStartIntervalDuration the duration between to 2 // Default value is 1min. SlowStartIntervalDuration *metav1.Duration `json:"slowStartIntervalDuration,omitempty"` // SlowStartAdditiveIncrease // Value can be an absolute number (ex: 5) or a percentage of total // number of DaemonSet pods at the start of the update (ex: 10%). // Default value is 5. SlowStartAdditiveIncrease *intstr.IntOrString `json:"slowStartAdditiveIncrease,omitempty"` }
DaemonSetRollingUpdateSpec contains configuration fields of the rolling update strategy The configuration is shared between DaemonSet and ExtendedDaemonSet +k8s:openapi-gen=true
func (*DaemonSetRollingUpdateSpec) DeepCopy ¶
func (in *DaemonSetRollingUpdateSpec) DeepCopy() *DaemonSetRollingUpdateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaemonSetRollingUpdateSpec.
func (*DaemonSetRollingUpdateSpec) DeepCopyInto ¶
func (in *DaemonSetRollingUpdateSpec) DeepCopyInto(out *DaemonSetRollingUpdateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonSetStatus ¶
type DaemonSetStatus struct { Desired int32 `json:"desired"` Current int32 `json:"current"` Ready int32 `json:"ready"` Available int32 `json:"available"` UpToDate int32 `json:"upToDate"` Status string `json:"status,omitempty"` State string `json:"state,omitempty"` LastUpdate *metav1.Time `json:"lastUpdate,omitempty"` CurrentHash string `json:"currentHash,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
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 DatadogAgent ¶
type DatadogAgent struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DatadogAgentSpec `json:"spec,omitempty"` Status DatadogAgentStatus `json:"status,omitempty"` }
DatadogAgent Deployment with Datadog Operator +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogagents,shortName=dd +kubebuilder:printcolumn:name="active",type="string",JSONPath=".status.conditions[?(@.type=='Active')].status" +kubebuilder:printcolumn:name="agent",type="string",JSONPath=".status.agent.status" +kubebuilder:printcolumn:name="cluster-agent",type="string",JSONPath=".status.clusterAgent.status" +kubebuilder:printcolumn:name="cluster-checks-runner",type="string",JSONPath=".status.clusterChecksRunner.status" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp"
func DefaultDatadogAgent ¶
func DefaultDatadogAgent(ad *DatadogAgent) *DatadogAgent
DefaultDatadogAgent used to default an DatadogAgent return the defaulted DatadogAgent
func (*DatadogAgent) DeepCopy ¶
func (in *DatadogAgent) DeepCopy() *DatadogAgent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgent.
func (*DatadogAgent) DeepCopyInto ¶
func (in *DatadogAgent) DeepCopyInto(out *DatadogAgent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogAgent) DeepCopyObject ¶
func (in *DatadogAgent) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogAgentCondition ¶
type DatadogAgentCondition struct { // Type of DatadogAgent condition. Type DatadogAgentConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // Last time the condition was updated. // +optional LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // The reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // A human readable message indicating details about the transition. // +optional Message string `json:"message,omitempty"` }
DatadogAgentCondition describes the state of a DatadogAgent at a certain point. +k8s:openapi-gen=true
func (*DatadogAgentCondition) DeepCopy ¶
func (in *DatadogAgentCondition) DeepCopy() *DatadogAgentCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentCondition.
func (*DatadogAgentCondition) DeepCopyInto ¶
func (in *DatadogAgentCondition) DeepCopyInto(out *DatadogAgentCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentConditionType ¶
type DatadogAgentConditionType string
DatadogAgentConditionType type use to represent a DatadogAgent condition
const ( // ConditionTypeActive DatadogAgent is active ConditionTypeActive DatadogAgentConditionType = "Active" // ConditionTypeReconcileError the controller wasn't able to run properly the reconcile loop with this DatadogAgent ConditionTypeReconcileError DatadogAgentConditionType = "ReconcileError" // ConditionTypeSecretError the required Secret doesn't exist. ConditionTypeSecretError DatadogAgentConditionType = "SecretError" // ConditionTypeActiveDatadogMetrics forwarding metrics and events to Datadog is active ConditionTypeActiveDatadogMetrics DatadogAgentConditionType = "ActiveDatadogMetrics" // ConditionTypeDatadogMetricsError cannot forward deployment metrics and events to Datadog ConditionTypeDatadogMetricsError DatadogAgentConditionType = "DatadogMetricsError" )
type DatadogAgentList ¶
type DatadogAgentList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // +listType=set Items []DatadogAgent `json:"items"` }
DatadogAgentList contains a list of DatadogAgent +k8s:openapi-gen=true
func (*DatadogAgentList) DeepCopy ¶
func (in *DatadogAgentList) DeepCopy() *DatadogAgentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentList.
func (*DatadogAgentList) DeepCopyInto ¶
func (in *DatadogAgentList) DeepCopyInto(out *DatadogAgentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogAgentList) DeepCopyObject ¶
func (in *DatadogAgentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogAgentSpec ¶
type DatadogAgentSpec struct { // Configure the credentials required to run Agents Credentials AgentCredentials `json:"credentials"` // The desired state of the Agent as an extended daemonset // Contains the Node Agent configuration and deployment strategy // +optional Agent *DatadogAgentSpecAgentSpec `json:"agent,omitempty"` // The desired state of the Cluster Agent as a deployment // +optional ClusterAgent *DatadogAgentSpecClusterAgentSpec `json:"clusterAgent,omitempty"` // The desired state of the Cluster Checks Runner as a deployment // +optional ClusterChecksRunner *DatadogAgentSpecClusterChecksRunnerSpec `json:"clusterChecksRunner,omitempty"` // Set a unique cluster name to allow scoping hosts and Cluster Checks Runner easily // +optional ClusterName string `json:"clusterName,omitempty"` // The site of the Datadog intake to send Agent data to. // Set to 'datadoghq.eu' to send data to the EU site. // +optional Site string `json:"site,omitempty"` }
DatadogAgentSpec defines the desired state of DatadogAgent +k8s:openapi-gen=true
func (*DatadogAgentSpec) DeepCopy ¶
func (in *DatadogAgentSpec) DeepCopy() *DatadogAgentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentSpec.
func (*DatadogAgentSpec) DeepCopyInto ¶
func (in *DatadogAgentSpec) DeepCopyInto(out *DatadogAgentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentSpecAgentSpec ¶
type DatadogAgentSpecAgentSpec struct { // UseExtendedDaemonset use ExtendedDaemonset for Agent deployment. // default value is false. UseExtendedDaemonset *bool `json:"useExtendedDaemonset,omitempty"` // The container image of the Datadog Agent Image ImageConfig `json:"image"` // Name of the Daemonset to create or migrate from // +optional DaemonsetName string `json:"daemonsetName,omitempty"` // Agent configuration Config NodeAgentConfig `json:"config,omitempty"` // RBAC configuration of the Agent Rbac RbacConfig `json:"rbac,omitempty"` // Update strategy configuration for the DaemonSet DeploymentStrategy *DaemonSetDeploymentStrategy `json:"deploymentStrategy,omitempty"` // AdditionalAnnotations provide annotations that will be added to the Agent Pods. AdditionalAnnotations map[string]string `json:"additionalAnnotations,omitempty"` // AdditionalLabels provide labels that will be added to the cluster checks runner Pods. AdditionalLabels map[string]string `json:"additionalLabels,omitempty"` // If specified, indicates the pod's priority. "system-node-critical" and "system-cluster-critical" // are two special keywords which indicate the highest priorities with the former being the highest priority. // Any other name must be defined by creating a PriorityClass object with that name. If not specified, // the pod priority will be default or zero if there is no default. PriorityClassName string `json:"priorityClassName,omitempty"` // Set DNS policy for the pod. // Defaults to "ClusterFirst". // Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. // DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. // To have DNS options set along with hostNetwork, you have to specify DNS policy // explicitly to 'ClusterFirstWithHostNet'. // +optional DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,6,opt,name=dnsPolicy,casttype=DNSPolicy"` // Specifies the DNS parameters of a pod. // Parameters specified here will be merged to the generated DNS // configuration based on DNSPolicy. // +optional DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty"` // Host networking requested for this pod. Use the host's network namespace. // If this option is set, the ports that will be used must be specified. // Default to false. // +k8s:conversion-gen=false // +optional HostNetwork bool `json:"hostNetwork,omitempty"` // Use the host's pid namespace. // Optional: Default to false. // +k8s:conversion-gen=false // +optional HostPID bool `json:"hostPID,omitempty"` // Trace Agent configuration // +optional Apm APMSpec `json:"apm,omitempty"` // Log Agent configuration // +optional Log LogSpec `json:"log,omitempty"` // Process Agent configuration // +optional Process ProcessSpec `json:"process,omitempty"` // SystemProbe configuration // +optional SystemProbe SystemProbeSpec `json:"systemProbe,omitempty"` // Allow to put custom configuration for the agent, corresponding to the datadog.yaml config file // See https://docs.datadoghq.com/agent/guide/agent-configuration-files/?tab=agentv6 for more details. // +optional CustomConfig *CustomConfigSpec `json:"customConfig,omitempty"` }
DatadogAgentSpecAgentSpec defines the desired state of the node Agent +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgent ¶
func DefaultDatadogAgentSpecAgent(agent *DatadogAgentSpecAgentSpec) *DatadogAgentSpecAgentSpec
DefaultDatadogAgentSpecAgent used to default an DatadogAgentSpecAgentSpec return the defaulted DatadogAgentSpecAgentSpec
func (*DatadogAgentSpecAgentSpec) DeepCopy ¶
func (in *DatadogAgentSpecAgentSpec) DeepCopy() *DatadogAgentSpecAgentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentSpecAgentSpec.
func (*DatadogAgentSpecAgentSpec) DeepCopyInto ¶
func (in *DatadogAgentSpecAgentSpec) DeepCopyInto(out *DatadogAgentSpecAgentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentSpecClusterAgentSpec ¶
type DatadogAgentSpecClusterAgentSpec struct { // The container image of the Datadog Cluster Agent Image ImageConfig `json:"image"` // Name of the Cluster Agent Deployment to create or migrate from // +optional DeploymentName string `json:"deploymentName,omitempty"` // Cluster Agent configuration Config ClusterAgentConfig `json:"config,omitempty"` // Allow to put custom configuration for the agent, corresponding to the datadog-cluster.yaml config file // +optional CustomConfig *CustomConfigSpec `json:"customConfig,omitempty"` // RBAC configuration of the Datadog Cluster Agent Rbac RbacConfig `json:"rbac,omitempty"` // Number of the Cluster Agent replicas Replicas *int32 `json:"replicas,omitempty"` // AdditionalAnnotations provide annotations that will be added to the cluster-agent Pods. AdditionalAnnotations map[string]string `json:"additionalAnnotations,omitempty"` // AdditionalLabels provide labels that will be added to the cluster checks runner Pods. AdditionalLabels map[string]string `json:"additionalLabels,omitempty"` // If specified, indicates the pod's priority. "system-node-critical" and "system-cluster-critical" // are two special keywords which indicate the highest priorities with the former being the highest priority. // Any other name must be defined by creating a PriorityClass object with that name. If not specified, // the pod priority will be default or zero if there is no default. PriorityClassName string `json:"priorityClassName,omitempty"` // If specified, the pod's scheduling constraints // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // If specified, the Cluster-Agent pod's tolerations. // +optional // +listType=set Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // NodeSelector is a selector which must be true for the pod to fit on a node. // Selector which must match a node's labels for the pod to be scheduled on that node. // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` }
DatadogAgentSpecClusterAgentSpec defines the desired state of the cluster Agent +k8s:openapi-gen=true
func DefaultDatadogAgentSpecClusterAgent ¶
func DefaultDatadogAgentSpecClusterAgent(clusterAgent *DatadogAgentSpecClusterAgentSpec) *DatadogAgentSpecClusterAgentSpec
DefaultDatadogAgentSpecClusterAgent used to default an DatadogAgentSpecClusterAgentSpec return the defaulted DatadogAgentSpecClusterAgentSpec
func (*DatadogAgentSpecClusterAgentSpec) DeepCopy ¶
func (in *DatadogAgentSpecClusterAgentSpec) DeepCopy() *DatadogAgentSpecClusterAgentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentSpecClusterAgentSpec.
func (*DatadogAgentSpecClusterAgentSpec) DeepCopyInto ¶
func (in *DatadogAgentSpecClusterAgentSpec) DeepCopyInto(out *DatadogAgentSpecClusterAgentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentSpecClusterChecksRunnerSpec ¶
type DatadogAgentSpecClusterChecksRunnerSpec struct { // The container image of the Datadog Cluster Checks Runner Image ImageConfig `json:"image"` // Name of the cluster checks deployment to create or migrate from // +optional DeploymentName string `json:"deploymentName,omitempty"` // Agent configuration Config ClusterChecksRunnerConfig `json:"config,omitempty"` // Allow to put custom configuration for the agent, corresponding to the datadog.yaml config file // See https://docs.datadoghq.com/agent/guide/agent-configuration-files/?tab=agentv6 for more details. // +optional CustomConfig *CustomConfigSpec `json:"customConfig,omitempty"` // RBAC configuration of the Datadog Cluster Checks Runner Rbac RbacConfig `json:"rbac,omitempty"` // Number of the Cluster Agent replicas Replicas *int32 `json:"replicas,omitempty"` // AdditionalAnnotations provide annotations that will be added to the cluster checks runner Pods. AdditionalAnnotations map[string]string `json:"additionalAnnotations,omitempty"` // AdditionalLabels provide labels that will be added to the cluster checks runner Pods. AdditionalLabels map[string]string `json:"additionalLabels,omitempty"` // If specified, indicates the pod's priority. "system-node-critical" and "system-cluster-critical" // are two special keywords which indicate the highest priorities with the former being the highest priority. // Any other name must be defined by creating a PriorityClass object with that name. If not specified, // the pod priority will be default or zero if there is no default. PriorityClassName string `json:"priorityClassName,omitempty"` // If specified, the pod's scheduling constraints // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // If specified, the Cluster-Checks pod's tolerations. // +optional // +listType=set Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // NodeSelector is a selector which must be true for the pod to fit on a node. // Selector which must match a node's labels for the pod to be scheduled on that node. // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` }
DatadogAgentSpecClusterChecksRunnerSpec defines the desired state of the Cluster Checks Runner +k8s:openapi-gen=true
func DefaultDatadogAgentSpecClusterChecksRunner ¶
func DefaultDatadogAgentSpecClusterChecksRunner(clusterChecksRunner *DatadogAgentSpecClusterChecksRunnerSpec) *DatadogAgentSpecClusterChecksRunnerSpec
DefaultDatadogAgentSpecClusterChecksRunner used to default an DatadogAgentSpecClusterChecksRunnerSpec return the defaulted DatadogAgentSpecClusterChecksRunnerSpec
func (*DatadogAgentSpecClusterChecksRunnerSpec) DeepCopy ¶
func (in *DatadogAgentSpecClusterChecksRunnerSpec) DeepCopy() *DatadogAgentSpecClusterChecksRunnerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentSpecClusterChecksRunnerSpec.
func (*DatadogAgentSpecClusterChecksRunnerSpec) DeepCopyInto ¶
func (in *DatadogAgentSpecClusterChecksRunnerSpec) DeepCopyInto(out *DatadogAgentSpecClusterChecksRunnerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentState ¶
type DatadogAgentState string
DatadogAgentState type representing the deployment state of the different Agent components
const ( // DatadogAgentStateProgressing the deployment is running properly DatadogAgentStateProgressing DatadogAgentState = "Progressing" // DatadogAgentStateRunning the deployment is running properly DatadogAgentStateRunning DatadogAgentState = "Running" // DatadogAgentStateUpdating the deployment is currently under a rolling update DatadogAgentStateUpdating DatadogAgentState = "Updating" // DatadogAgentStateCanary the deployment is currently under a canary testing (EDS only) DatadogAgentStateCanary DatadogAgentState = "Canary" // DatadogAgentStateFailed the current state of the deployment is considered as Failed DatadogAgentStateFailed DatadogAgentState = "Failed" )
type DatadogAgentStatus ¶
type DatadogAgentStatus struct { // The actual state of the Agent as an extended daemonset // +optional Agent *DaemonSetStatus `json:"agent,omitempty"` // The actual state of the Cluster Agent as a deployment // +optional ClusterAgent *DeploymentStatus `json:"clusterAgent,omitempty"` // The actual state of the Cluster Checks Runner as a deployment // +optional ClusterChecksRunner *DeploymentStatus `json:"clusterChecksRunner,omitempty"` // Conditions Represents the latest available observations of a DatadogAgent's current state. // +listType=set Conditions []DatadogAgentCondition `json:"conditions,omitempty"` }
DatadogAgentStatus defines the observed state of DatadogAgent +k8s:openapi-gen=true
func (*DatadogAgentStatus) DeepCopy ¶
func (in *DatadogAgentStatus) DeepCopy() *DatadogAgentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentStatus.
func (*DatadogAgentStatus) DeepCopyInto ¶
func (in *DatadogAgentStatus) DeepCopyInto(out *DatadogAgentStatus)
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 *metav1.Time `json:"lastUpdate,omitempty"` 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 ClusterAgent deployment computed status Status string `json:"status,omitempty"` // State corresponds to the ClusterAgent deployment state State string `json:"state,omitempty"` // DeploymentName corresponds to the name of the Cluster Agent Deployment DeploymentName string `json:"deploymentName,omitempty"` }
DeploymentStatus type representing the Cluster Agent Deployment status +k8s:openapi-gen=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 DogstatsdConfig ¶
type DogstatsdConfig struct { // Enable origin detection for container tagging // https://docs.datadoghq.com/developers/dogstatsd/unix_socket/#using-origin-detection-for-container-tagging // +optional DogstatsdOriginDetection *bool `json:"dogstatsdOriginDetection,omitempty"` // Enable dogstatsd over Unix Domain Socket // ref: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/ // +optional UseDogStatsDSocketVolume *bool `json:"useDogStatsDSocketVolume,omitempty"` }
DogstatsdConfig contains the Dogstatsd configuration parameters +k8s:openapi-gen=true
func (*DogstatsdConfig) DeepCopy ¶
func (in *DogstatsdConfig) DeepCopy() *DogstatsdConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DogstatsdConfig.
func (*DogstatsdConfig) DeepCopyInto ¶
func (in *DogstatsdConfig) DeepCopyInto(out *DogstatsdConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageConfig ¶
type ImageConfig struct { // Define the image to use // Use "datadog/agent:latest" for Datadog Agent 6 // Use "datadog/dogstatsd:latest" for Standalone Datadog Agent DogStatsD6 // Use "datadog/cluster-agent:latest" for Datadog Cluster Agent Name string `json:"name"` // 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"` }
ImageConfig Datadog agent container image config +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentImage ¶
func DefaultDatadogAgentSpecAgentImage(image *ImageConfig) *ImageConfig
DefaultDatadogAgentSpecAgentImage used to default a ImageConfig return the defaulted ImageConfig
func DefaultDatadogAgentSpecClusterAgentImage ¶
func DefaultDatadogAgentSpecClusterAgentImage(image *ImageConfig) *ImageConfig
DefaultDatadogAgentSpecClusterAgentImage used to default ImageConfig for the Datadog Cluster Agent return the defaulted ImageConfig
func DefaultDatadogAgentSpecClusterChecksRunnerImage ¶
func DefaultDatadogAgentSpecClusterChecksRunnerImage(image *ImageConfig) *ImageConfig
DefaultDatadogAgentSpecClusterChecksRunnerImage used to default ImageConfig for the Datadog Cluster Agent return the defaulted ImageConfig
func (*ImageConfig) DeepCopy ¶
func (in *ImageConfig) DeepCopy() *ImageConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageConfig.
func (*ImageConfig) DeepCopyInto ¶
func (in *ImageConfig) DeepCopyInto(out *ImageConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogSpec ¶
type LogSpec struct { // Enables this to activate Datadog Agent log collection. // ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup // // +optional Enabled *bool `json:"enabled,omitempty"` // Enable this to allow log collection for all containers. // ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup // // +optional LogsConfigContainerCollectAll *bool `json:"logsConfigContainerCollectAll,omitempty"` // This to allow log collection from container log path. Set to a different path if not using docker runtime. // ref: https://docs.datadoghq.com/agent/kubernetes/daemonset_setup/?tab=k8sfile#create-manifest // Default to `/var/lib/docker/containers` // // +optional ContainerLogsPath *string `json:"containerLogsPath,omitempty"` // This to allow log collection from pod log path. // Default to `/var/log/pods` // // +optional PodLogsPath *string `json:"podLogsPath,omitempty"` // This path (always mounted from the host) is used by Datadog Agent to store information about processed log files. // If the Datadog Agent is restarted, it allows to start tailing the log files from the right offset // Default to `/var/lib/datadog-agent/logs` // // +optional TempStoragePath *string `json:"tempStoragePath,omitempty"` }
LogSpec contains the Log Agent configuration +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentLog ¶
DefaultDatadogAgentSpecAgentLog used to default an LogSpec return the defaulted LogSpec
func (*LogSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSpec.
func (*LogSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeAgentConfig ¶
type NodeAgentConfig struct { // You can modify the security context used to run the containers by // modifying the label type // +optional SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` // The host of the Datadog intake server to send Agent data to, only set this option // if you need the Agent to send data to a custom URL. // Overrides the site setting defined in "site". // +optional DDUrl *string `json:"ddUrl,omitempty"` // Set logging verbosity, valid log levels are: // trace, debug, info, warn, error, critical, and off LogLevel *string `json:"logLevel,omitempty"` // Confd configuration allowing to specify config files for custom checks placed under /etc/datadog-agent/conf.d/. // See https://docs.datadoghq.com/agent/guide/agent-configuration-files/?tab=agentv6 for more details. // +optional Confd *ConfigDirSpec `json:"confd,omitempty"` // Checksd configuration allowing to specify custom checks placed under /etc/datadog-agent/checks.d/ // See https://docs.datadoghq.com/agent/guide/agent-configuration-files/?tab=agentv6 for more details. // +optional Checksd *ConfigDirSpec `json:"checksd,omitempty"` // Provide a mapping of Kubernetes Labels to Datadog Tags. // <KUBERNETES_LABEL>: <DATADOG_TAG_KEY> // +optional PodLabelsAsTags map[string]string `json:"podLabelsAsTags,omitempty"` // Provide a mapping of Kubernetes Annotations to Datadog Tags. // <KUBERNETES_ANNOTATIONS>: <DATADOG_TAG_KEY> // +optional PodAnnotationsAsTags map[string]string `json:"podAnnotationsAsTags,omitempty"` // List of tags to attach to every metric, event and service check collected by this Agent. // Learn more about tagging: https://docs.datadoghq.com/tagging/ // +optional // +listType=set Tags []string `json:"tags,omitempty"` // nables this to start event collection from the kubernetes API // ref: https://docs.datadoghq.com/agent/kubernetes/event_collection/ // +optional CollectEvents *bool `json:"collectEvents,omitempty"` // Enables leader election mechanism for event collection. // +optional LeaderElection *bool `json:"leaderElection,omitempty"` // The Datadog Agent supports many environment variables // Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=set Env []corev1.EnvVar `json:"env,omitempty"` // Specify additional volume mounts in the Datadog Agent container // +optional // +listType=set VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Specify additional volumes in the Datadog Agent container // +optional // +listType=set Volumes []corev1.Volume `json:"volumes,omitempty"` // Datadog Agent resource requests and limits // Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class // Ref: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Configure the CRI Socket CriSocket *CRISocketConfig `json:"criSocket,omitempty"` // Configure Dogstatsd Dogstatsd *DogstatsdConfig `json:"dogstatsd,omitempty"` // If specified, the Agent pod's tolerations. // +optional // +listType=set Tolerations []corev1.Toleration `json:"tolerations,omitempty"` }
NodeAgentConfig contains the configuration of the Node Agent +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentConfig ¶
func DefaultDatadogAgentSpecAgentConfig(config *NodeAgentConfig) *NodeAgentConfig
DefaultDatadogAgentSpecAgentConfig used to default a NodeAgentConfig return the defaulted NodeAgentConfig
func (*NodeAgentConfig) DeepCopy ¶
func (in *NodeAgentConfig) DeepCopy() *NodeAgentConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAgentConfig.
func (*NodeAgentConfig) DeepCopyInto ¶
func (in *NodeAgentConfig) DeepCopyInto(out *NodeAgentConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProcessSpec ¶
type ProcessSpec struct { // Enable this to activate live process monitoring. // Note: /etc/passwd is automatically mounted to allow username resolution. // ref: https://docs.datadoghq.com/graphing/infrastructure/process/#kubernetes-daemonset // // +optional Enabled *bool `json:"enabled,omitempty"` // The Datadog Agent supports many environment variables // Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=set Env []corev1.EnvVar `json:"env,omitempty"` // Datadog Process Agent resource requests and limits // Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class // Ref: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` }
ProcessSpec contains the Process Agent configuration +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentProcess ¶
func DefaultDatadogAgentSpecAgentProcess(process *ProcessSpec) *ProcessSpec
DefaultDatadogAgentSpecAgentProcess used to default an ProcessSpec return the defaulted ProcessSpec
func (*ProcessSpec) DeepCopy ¶
func (in *ProcessSpec) DeepCopy() *ProcessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProcessSpec.
func (*ProcessSpec) DeepCopyInto ¶
func (in *ProcessSpec) DeepCopyInto(out *ProcessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RbacConfig ¶
type RbacConfig struct { // Used to configure RBAC resources creation Create *bool `json:"create,omitempty"` // Used to set up the service account name to use // Ignored if the field Create is true ServiceAccountName *string `json:"serviceAccountName,omitempty"` }
RbacConfig contains RBAC configuration +k8s:openapi-gen=true
func DefaultDatadogAgentSpecRbacConfig ¶
func DefaultDatadogAgentSpecRbacConfig(rbac *RbacConfig) *RbacConfig
DefaultDatadogAgentSpecRbacConfig used to default a RbacConfig return the defaulted RbacConfig
func (*RbacConfig) DeepCopy ¶
func (in *RbacConfig) DeepCopy() *RbacConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RbacConfig.
func (*RbacConfig) DeepCopyInto ¶
func (in *RbacConfig) DeepCopyInto(out *RbacConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SystemProbeSpec ¶
type SystemProbeSpec struct { // Enable this to activate live process monitoring. // Note: /etc/passwd is automatically mounted to allow username resolution. // ref: https://docs.datadoghq.com/graphing/infrastructure/process/#kubernetes-daemonset // +optional Enabled *bool `json:"enabled,omitempty"` // SecCompRootPath specify the seccomp profile root directory // +optional SecCompRootPath string `json:"secCompRootPath,omitempty"` // SecCompCustomProfileConfigMap specify a pre-existing ConfigMap containing a custom SecComp profile // +optional SecCompCustomProfileConfigMap string `json:"secCompCustomProfileConfigMap,omitempty"` // SecCompProfileName specify a seccomp profile // +optional SecCompProfileName string `json:"secCompProfileName,omitempty"` // AppArmorProfileName specify a apparmor profile // +optional AppArmorProfileName string `json:"appArmorProfileName,omitempty"` // ConntrackEnabled enable the system-probe agent to connect to the netlink/conntrack subsystem to add NAT information to connection data // Ref: http://conntrack-tools.netfilter.org/ ConntrackEnabled *bool `json:"conntrackEnabled,omitempty"` // BPFDebugEnabled logging for kernel debug BPFDebugEnabled *bool `json:"bpfDebugEnabled,omitempty"` // DebugPort Specify the port to expose pprof and expvar for system-probe agent DebugPort int32 `json:"debugPort,omitempty"` // The Datadog SystemProbe supports many environment variables // Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=set Env []corev1.EnvVar `json:"env,omitempty"` // Datadog SystemProbe resource requests and limits // Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class // Ref: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // You can modify the security context used to run the containers by // modifying the label type // +optional SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` }
SystemProbeSpec contains the SystemProbe Agent configuration +k8s:openapi-gen=true
func (*SystemProbeSpec) DeepCopy ¶
func (in *SystemProbeSpec) DeepCopy() *SystemProbeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemProbeSpec.
func (*SystemProbeSpec) DeepCopyInto ¶
func (in *SystemProbeSpec) DeepCopyInto(out *SystemProbeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.