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 IsDefaultedNetworkPolicy(policy *NetworkPolicySpec) 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 NewInt64Pointer(i int64) *int64
- func NewStringPointer(s string) *string
- func Resource(resource string) schema.GroupResource
- type APMSpec
- type AdmissionControllerConfig
- type AgentCredentials
- type CRISocketConfig
- type ClusterAgentConfig
- type ClusterChecksRunnerConfig
- type ComplianceSpec
- 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 DatadogMetric
- type DatadogMetricCondition
- type DatadogMetricConditionType
- type DatadogMetricList
- type DatadogMetricSpec
- type DatadogMetricStatus
- type DeploymentStatus
- type DogstatsdConfig
- type ExternalMetricsConfig
- type ImageConfig
- type LogSpec
- type NetworkPolicySpec
- type NodeAgentConfig
- type ProcessSpec
- type RbacConfig
- type RuntimeSecuritySpec
- type Secret
- type SecuritySpec
- type SyscallMonitorSpec
- 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 // DefaultMetricsServerTargetPort default metrics-server pod port DefaultMetricsServerTargetPort = int(defaultMetricsProviderPort) // DefaultAdmissionControllerServicePort default admission controller service port DefaultAdmissionControllerServicePort = 443 // DefaultAdmissionControllerTargetPort default admission controller pod port DefaultAdmissionControllerTargetPort = 8000 // DefaultDogstatsdPort default dogstatsd port DefaultDogstatsdPort = 8125 )
const ( DatadogHost = "DATADOG_HOST" 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" DDLogsContainerCollectUsingFiles = "DD_LOGS_CONFIG_K8S_CONTAINER_USE_FILE" DDLogsConfigOpenFilesLimit = "DD_LOGS_CONFIG_OPEN_FILES_LIMIT" DDDogstatsdOriginDetection = "DD_DOGSTATSD_ORIGIN_DETECTION" DDDogstatsdPort = "DD_DOGSTATSD_PORT" 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" DDMetricsProviderUseDatadogMetric = "DD_EXTERNAL_METRICS_PROVIDER_USE_DATADOGMETRIC_CRD" DDMetricsProviderWPAController = "DD_EXTERNAL_METRICS_PROVIDER_WPA_CONTROLLER" 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" DDAdmissionControllerEnabled = "DD_ADMISSION_CONTROLLER_ENABLED" DDAdmissionControllerMutateUnlabelled = "DD_ADMISSION_CONTROLLER_MUTATE_UNLABELLED" DDAdmissionControllerInjectConfig = "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_ENABLED" DDAdmissionControllerInjectTags = "DD_ADMISSION_CONTROLLER_INJECT_TAGS_ENABLED" DDAdmissionControllerServiceName = "DD_ADMISSION_CONTROLLER_SERVICE_NAME" DDComplianceConfigEnabled = "DD_COMPLIANCE_CONFIG_ENABLED" DDComplianceConfigCheckInterval = "DD_COMPLIANCE_CONFIG_CHECK_INTERVAL" DDComplianceConfigDir = "DD_COMPLIANCE_CONFIG_DIR" DDRuntimeSecurityConfigEnabled = "DD_RUNTIME_SECURITY_CONFIG_ENABLED" DDRuntimeSecurityConfigPoliciesDir = "DD_RUNTIME_SECURITY_CONFIG_POLICIES_DIR" DDRuntimeSecurityConfigSocket = "DD_RUNTIME_SECURITY_CONFIG_SOCKET" DDRuntimeSecurityConfigSyscallMonitorEnabled = "DD_RUNTIME_SECURITY_CONFIG_SYSCALL_MONITOR_ENABLED" // KubernetesEnvvarName Env var used by the Datadog Agent container entrypoint // to add kubelet config provider and listener KubernetesEnvvarName = "KUBERNETES" InstallInfoVolumeName = "installinfo" InstallInfoVolumeSubPath = "install_info" InstallInfoVolumePath = "/etc/datadog-agent/install_info" InstallInfoVolumeReadOnly = true 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" GroupVolumeName = "group" GroupVolumePath = "/etc/group" HostRootVolumeName = "hostroot" HostRootVolumePath = "/host/root" 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" SystemProbeLibModulesVolumeName = "modules" SystemProbeLibModulesVolumePath = "/lib/modules" SystemProbeUsrSrcVolumeName = "src" SystemProbeUsrSrcVolumePath = "/usr/src" AgentCustomConfigVolumeName = "custom-datadog-yaml" AgentCustomConfigVolumePath = "/etc/datadog-agent/datadog.yaml" AgentCustomConfigVolumeSubPath = "datadog.yaml" HostCriSocketPathPrefix = "/host" SecurityAgentRuntimePoliciesDirVolumeName = "runtimepoliciesdir" SecurityAgentRuntimePoliciesDirVolumePath = "/etc/datadog-agent/runtime-security.d" SecurityAgentComplianceConfigDirVolumeName = "compliancedir" SecurityAgentComplianceConfigDirVolumePath = "/etc/datadog-agent/compliance.d" 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" DefaultLivenessProbeInitialDelaySeconds int32 = 15 DefaultLivenessProbePeriodSeconds int32 = 15 DefaultLivenessProbeTimeoutSeconds int32 = 5 DefaultLivenessProbeSuccessThreshold int32 = 1 DefaultLivenessProbeFailureThreshold int32 = 6 DefaultAgentHealthPort int32 = 5555 DefaultLivenessProbeHTTPPath = "/live" DefaultReadinessProbeInitialDelaySeconds int32 = 15 DefaultReadinessProbePeriodSeconds int32 = 15 DefaultReadinessProbeTimeoutSeconds int32 = 5 DefaultReadinessProbeSuccessThreshold int32 = 1 DefaultReadinessProbeFailureThreshold int32 = 6 DefaultReadinessProbeHTTPPath = "/ready" DefaultAPMAgentTCPPort int32 = 8126 CoreAPIGroup = "" OpenShiftQuotaAPIGroup = "quota.openshift.io" RbacAPIGroup = "rbac.authorization.k8s.io" AutoscalingAPIGroup = "autoscaling" DatadogAPIGroup = "datadoghq.com" AdmissionAPIGroup = "admissionregistration.k8s.io" AppsAPIGroup = "apps" BatchAPIGroup = "batch" PolicyAPIGroup = "policy" NetworkingAPIGroup = "networking.k8s.io" 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" DatadogMetricsResource = "datadogmetrics" DatadogMetricsStatusResource = "datadogmetrics/status" WpaResource = "watermarkpodautoscalers" MutatingConfigResource = "mutatingwebhookconfigurations" SecretsResource = "secrets" ReplicasetsResource = "replicasets" DeploymentsResource = "deployments" StatefulsetsResource = "statefulsets" DaemonsetsResource = "daemonsets" JobsResource = "jobs" CronjobsResource = "cronjobs" ExtendedDaemonSetReplicaSetResource = "extendeddaemonsetreplicasets" ServiceAccountResource = "serviceaccounts" NamespaceResource = "namespaces" PodSecurityPolicyResource = "podsecuritypolicies" ClusterRoleBindingResource = "clusterrolebindings" RoleBindingResource = "rolebindings" NetworkPolicyResource = "networkpolicies" DatadogTokenResourceName = "datadogtoken" DatadogLeaderElectionResourceName = "datadog-leader-election" DatadogCustomMetricsResourceName = "datadog-custom-metrics" DatadogClusterIDResourceName = "datadog-cluster-id" ExtensionAPIServerAuthResourceName = "extension-apiserver-authentication" KubeSystemResourceName = "kube-system" VersionURL = "/version" HealthzURL = "/healthz" MetricsURL = "/metrics" GetVerb = "get" ListVerb = "list" WatchVerb = "watch" UpdateVerb = "update" CreateVerb = "create" DeleteVerb = "delete" ClusterRoleKind = "ClusterRole" RoleKind = "Role" ServiceAccountKind = "ServiceAccount" )
Datadog env var names
const ( DefaultLogLevel string = "INFO" DefaultAdmissionServiceName = "datadog-admission-controller" )
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 IsDefaultedNetworkPolicy ¶
func IsDefaultedNetworkPolicy(policy *NetworkPolicySpec) bool
IsDefaultedNetworkPolicy used to check if a NetworkPolicySpec was already defaulted. Returns true if yes, or false otherwise
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 NewInt64Pointer ¶
NewInt64Pointer 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=map // +listMapKey=name 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 AdmissionControllerConfig ¶
type AdmissionControllerConfig struct { // Enable the admission controller to be able to inject APM/Dogstatsd config // and standard tags (env, service, version) automatically into your pods // +optional Enabled bool `json:"enabled,omitempty"` // MutateUnlabelled enables injecting config without having the pod label 'admission.datadoghq.com/enabled="true"' // +optional MutateUnlabelled *bool `json:"mutateUnlabelled,omitempty"` // ServiceName corresponds to the webhook service name // +optional ServiceName *string `json:"serviceName,omitempty"` }
AdmissionControllerConfig contains the configuration of the admission controller in Cluster Agent +k8s:openapi-gen=true
func (*AdmissionControllerConfig) DeepCopy ¶
func (in *AdmissionControllerConfig) DeepCopy() *AdmissionControllerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionControllerConfig.
func (*AdmissionControllerConfig) DeepCopyInto ¶
func (in *AdmissionControllerConfig) DeepCopyInto(out *AdmissionControllerConfig)
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 is DEPRECATED. // In order to pass the API key through an existing secret, please consider "apiSecret" instead. // If set, this parameter takes precedence over "apiKey". // +optional // +deprecated APIKeyExistingSecret string `json:"apiKeyExistingSecret,omitempty"` // APISecret Use existing Secret which stores API key instead of creating a new one. // If set, this parameter takes precedence over "apiKey" and "apiKeyExistingSecret". // +optional APISecret *Secret `json:"apiSecret,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"` // AppKeyExistingSecret is DEPRECATED. // In order to pass the APP key through an existing secret, please consider "appSecret" instead. // If set, this parameter takes precedence over "appKey". // +optional // +deprecated AppKeyExistingSecret string `json:"appKeyExistingSecret,omitempty"` // APPSecret Use existing Secret which stores API key instead of creating a new one. // If set, this parameter takes precedence over "apiKey" and "appKeyExistingSecret". // +optional APPSecret *Secret `json:"appSecret,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 { // Path to the docker runtime socket // +optional DockerSocketPath *string `json:"dockerSocketPath,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 { ExternalMetrics *ExternalMetricsConfig `json:"externalMetrics,omitempty"` // Configure the Admission Controller AdmissionController *AdmissionControllerConfig `json:"admissionController,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"` // Enables this to start event collection from the kubernetes API // ref: https://docs.datadoghq.com/agent/cluster_agent/event_collection/ // +optional CollectEvents *bool `json:"collectEvents,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=map // +listMapKey=name Env []corev1.EnvVar `json:"env,omitempty"` // Specify additional volume mounts in the Datadog Cluster Agent container // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Specify additional volumes in the Datadog Cluster Agent container // +optional // +listType=map // +listMapKey=name 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=map // +listMapKey=name Env []corev1.EnvVar `json:"env,omitempty"` // Specify additional volume mounts in the Datadog Cluster Check Runner container // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Specify additional volumes in the Datadog Cluster Check Runner container // +optional // +listType=map // +listMapKey=name 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 ComplianceSpec ¶
type ComplianceSpec struct { // Enables continuous compliance monitoring // +optional Enabled *bool `json:"enabled,omitempty"` // Check interval // +optional CheckInterval *metav1.Duration `json:"checkInterval,omitempty"` // Config dir containing compliance benchmarks // +optional ConfigDir *ConfigDirSpec `json:"configDir,omitempty"` }
ComplianceSpec contains configuration for continuous compliance +k8s:openapi-gen=true
func (*ComplianceSpec) DeepCopy ¶
func (in *ComplianceSpec) DeepCopy() *ComplianceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComplianceSpec.
func (*ComplianceSpec) DeepCopyInto ¶
func (in *ComplianceSpec) DeepCopyInto(out *ComplianceSpec)
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 +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" +k8s:openapi-gen=true +genclient
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=atomic Items []DatadogAgent `json:"items"` }
DatadogAgentList contains a list of DatadogAgent +kubebuilder:object:root=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"` // Environment variables for all Datadog Agents // Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=map // +listMapKey=name Env []corev1.EnvVar `json:"env,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"` // Security Agent configuration // +optional Security SecuritySpec `json:"security,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"` // Provide Agent Network Policy configuration // +optional NetworkPolicy NetworkPolicySpec `json:"networkPolicy,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=atomic 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"` // Provide Cluster Agent Network Policy configuration // +optional NetworkPolicy NetworkPolicySpec `json:"networkPolicy,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=atomic 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"` // Provide Cluster Checks Runner Network Policy configuration // +optional NetworkPolicy NetworkPolicySpec `json:"networkPolicy,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=map // +listMapKey=type 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 DatadogMetric ¶
type DatadogMetric struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DatadogMetricSpec `json:"spec,omitempty"` Status DatadogMetricStatus `json:"status,omitempty"` }
DatadogMetric is the Schema for the datadogmetrics API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogmetrics,scope=Namespaced +kubebuilder:printcolumn:name="active",type="string",JSONPath=".status.conditions[?(@.type=='Active')].status" +kubebuilder:printcolumn:name="valid",type="string",JSONPath=".status.conditions[?(@.type=='Valid')].status" +kubebuilder:printcolumn:name="value",type="string",JSONPath=".status.currentValue" +kubebuilder:printcolumn:name="references",type="string",JSONPath=".status.autoscalerReferences" +kubebuilder:printcolumn:name="update time",type="date",JSONPath=".status.conditions[?(@.type=='Updated')].lastUpdateTime" +k8s:openapi-gen=true +genclient
func (*DatadogMetric) DeepCopy ¶
func (in *DatadogMetric) DeepCopy() *DatadogMetric
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetric.
func (*DatadogMetric) DeepCopyInto ¶
func (in *DatadogMetric) DeepCopyInto(out *DatadogMetric)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMetric) DeepCopyObject ¶
func (in *DatadogMetric) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMetricCondition ¶
type DatadogMetricCondition struct { // Type of DatadogMetric condition. Type DatadogMetricConditionType `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"` }
DatadogMetricCondition describes the state of a DatadogMetric at a certain point. +k8s:openapi-gen=true
func (*DatadogMetricCondition) DeepCopy ¶
func (in *DatadogMetricCondition) DeepCopy() *DatadogMetricCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricCondition.
func (*DatadogMetricCondition) DeepCopyInto ¶
func (in *DatadogMetricCondition) DeepCopyInto(out *DatadogMetricCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMetricConditionType ¶
type DatadogMetricConditionType string
DatadogMetricConditionType type use to represent a DatadogMetric condition
const ( // DatadogMetricConditionTypeActive DatadogMetric is active (referenced by an HPA), Datadog will only be queried for active metrics DatadogMetricConditionTypeActive DatadogMetricConditionType = "Active" // DatadogMetricConditionTypeUpdated DatadogMetric is updated DatadogMetricConditionTypeUpdated DatadogMetricConditionType = "Updated" // DatadogMetricConditionTypeValid DatadogMetric.spec.query is invalid DatadogMetricConditionTypeValid DatadogMetricConditionType = "Valid" // DatadogMetricConditionTypeError the controller wasn't able to handle this DatadogMetric DatadogMetricConditionTypeError DatadogMetricConditionType = "Error" )
type DatadogMetricList ¶
type DatadogMetricList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DatadogMetric `json:"items"` }
DatadogMetricList contains a list of DatadogMetric +kubebuilder:object:root=true
func (*DatadogMetricList) DeepCopy ¶
func (in *DatadogMetricList) DeepCopy() *DatadogMetricList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricList.
func (*DatadogMetricList) DeepCopyInto ¶
func (in *DatadogMetricList) DeepCopyInto(out *DatadogMetricList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMetricList) DeepCopyObject ¶
func (in *DatadogMetricList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMetricSpec ¶
type DatadogMetricSpec struct { // Query is the raw datadog query Query string `json:"query,omitempty"` // ExternalMetricName is reversed for internal use ExternalMetricName string `json:"externalMetricName,omitempty"` }
DatadogMetricSpec defines the desired state of DatadogMetric
func (*DatadogMetricSpec) DeepCopy ¶
func (in *DatadogMetricSpec) DeepCopy() *DatadogMetricSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricSpec.
func (*DatadogMetricSpec) DeepCopyInto ¶
func (in *DatadogMetricSpec) DeepCopyInto(out *DatadogMetricSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMetricStatus ¶
type DatadogMetricStatus struct { // Conditions Represents the latest available observations of a DatadogMetric's current state. // +listType=map // +listMapKey=type Conditions []DatadogMetricCondition `json:"conditions,omitempty"` // Value is the latest value of the metric Value string `json:"currentValue"` // List of autoscalers currently using this DatadogMetric AutoscalerReferences string `json:"autoscalerReferences,omitempty"` }
DatadogMetricStatus defines the observed state of DatadogMetric
func (*DatadogMetricStatus) DeepCopy ¶
func (in *DatadogMetricStatus) DeepCopy() *DatadogMetricStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricStatus.
func (*DatadogMetricStatus) DeepCopyInto ¶
func (in *DatadogMetricStatus) DeepCopyInto(out *DatadogMetricStatus)
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 ExternalMetricsConfig ¶
type ExternalMetricsConfig struct { // Enable the metricsProvider to be able to scale based on metrics in Datadog // +optional Enabled bool `json:"enabled,omitempty"` // Enable informer and controller of the watermark pod autoscaler // NOTE: The WatermarkPodAutoscaler controller needs to be installed // see https://github.com/DataDog/watermarkpodautoscaler for more details. // +optional WpaController bool `json:"wpaController,omitempty"` // Enable usage of DatadogMetrics CRD (allow to scale on arbitrary queries) // +optional UseDatadogMetrics bool `json:"useDatadogMetrics,omitempty"` // If specified configures the metricsProvider external metrics service port // +optional Port *int32 `json:"port,omitempty"` // Override the API endpoint for the external metrics server. Defaults // to .spec.agent.config.ddUrl or "https://app.datadoghq.com" if that's // empty. // +optional Endpoint *string `json:"endpoint,omitempty"` }
ExternalMetricsConfig contains the configuration of the external metrics provider in Cluster Agent +k8s:openapi-gen=true
func (*ExternalMetricsConfig) DeepCopy ¶
func (in *ExternalMetricsConfig) DeepCopy() *ExternalMetricsConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalMetricsConfig.
func (*ExternalMetricsConfig) DeepCopyInto ¶
func (in *ExternalMetricsConfig) DeepCopyInto(out *ExternalMetricsConfig)
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"` // Collect logs from files in /var/log/pods instead of using container runtime API. // It's usually the most efficient way of collecting logs. // ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup // Default: true // // +optional ContainerCollectUsingFiles *bool `json:"containerCollectUsingFiles,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"` // Set the maximum number of logs files that the Datadog Agent will // tail up to. Increasing this limit can increase resource consumption // of the Agent. // ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup // Default to 100 // // +optional OpenFilesLimit *int32 `json:"openFilesLimit,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 NetworkPolicySpec ¶
type NetworkPolicySpec struct { // If true, create a NetworkPolicy for the current agent // +optional Create *bool `json:"create,omitempty"` }
NetworkPolicySpec provides Network Policy configuration for the agents +k8s:openapi-gen=true
func DefaultNetworkPolicy ¶
func DefaultNetworkPolicy(policy *NetworkPolicySpec) *NetworkPolicySpec
DefaultNetworkPolicy is used to default NetworkPolicy. Returns the defaulted ImageConfig
func (*NetworkPolicySpec) DeepCopy ¶
func (in *NetworkPolicySpec) DeepCopy() *NetworkPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPolicySpec.
func (*NetworkPolicySpec) DeepCopyInto ¶
func (in *NetworkPolicySpec) DeepCopyInto(out *NetworkPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeAgentConfig ¶
type NodeAgentConfig struct { // Pod-level SecurityContext // +optional SecurityContext *corev1.PodSecurityContext `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=map // +listMapKey=name Env []corev1.EnvVar `json:"env,omitempty"` // Specify additional volume mounts in the Datadog Agent container // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Specify additional volumes in the Datadog Agent container // +optional // +listType=map // +listMapKey=name 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=atomic Tolerations []corev1.Toleration `json:"tolerations,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"` }
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=map // +listMapKey=name 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 RuntimeSecuritySpec ¶
type RuntimeSecuritySpec struct { // Enables runtime security features // +optional Enabled *bool `json:"enabled,omitempty"` // ConfigDir containing security policies // +optional PoliciesDir *ConfigDirSpec `json:"policiesDir,omitempty"` // Syscall monitor configuration // +optional SyscallMonitor *SyscallMonitorSpec `json:"syscallMonitor,omitempty"` }
RuntimeSecuritySpec contains configuration for runtime security features +k8s:openapi-gen=true
func (*RuntimeSecuritySpec) DeepCopy ¶
func (in *RuntimeSecuritySpec) DeepCopy() *RuntimeSecuritySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeSecuritySpec.
func (*RuntimeSecuritySpec) DeepCopyInto ¶
func (in *RuntimeSecuritySpec) DeepCopyInto(out *RuntimeSecuritySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Secret ¶
type Secret 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"` }
Secret contains a secret name and an included key +k8s:openapi-gen=true
func (*Secret) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret.
func (*Secret) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecuritySpec ¶
type SecuritySpec struct { // Compliance configuration // +optional Compliance ComplianceSpec `json:"compliance,omitempty"` // Runtime security configuration // +optional Runtime RuntimeSecuritySpec `json:"runtime,omitempty"` // The Datadog Security Agent supports many environment variables // Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=map // +listMapKey=name Env []corev1.EnvVar `json:"env,omitempty"` // Datadog Security 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"` }
SecuritySpec contains the Security Agent configuration +k8s:openapi-gen=true
func (*SecuritySpec) DeepCopy ¶
func (in *SecuritySpec) DeepCopy() *SecuritySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecuritySpec.
func (*SecuritySpec) DeepCopyInto ¶
func (in *SecuritySpec) DeepCopyInto(out *SecuritySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyscallMonitorSpec ¶
type SyscallMonitorSpec struct { // Enabled enables syscall monitor // +optional Enabled *bool `json:"enabled,omitempty"` }
SyscallMonitorSpec contains configuration for syscall monitor +k8s:openapi-gen=true
func (*SyscallMonitorSpec) DeepCopy ¶
func (in *SyscallMonitorSpec) DeepCopy() *SyscallMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyscallMonitorSpec.
func (*SyscallMonitorSpec) DeepCopyInto ¶
func (in *SyscallMonitorSpec) DeepCopyInto(out *SyscallMonitorSpec)
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"` // EnableTCPQueueLength enables the TCP queue length eBPF-based check EnableTCPQueueLength *bool `json:"enableTCPQueueLength,omitempty"` // EnableOOMKill enables the OOM kill eBPF-based check EnableOOMKill *bool `json:"enableOOMKill,omitempty"` // CollectDNSStats enables DNS stat collection CollectDNSStats *bool `json:"collectDNSStats,omitempty"` // The Datadog SystemProbe supports many environment variables // Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=map // +listMapKey=name 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.