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 +kubebuilder:object:generate=true +groupName=datadoghq.com
Index ¶
- Constants
- Variables
- func CheckAPIKeySufficiency(creds *DatadogCredentials, envVarName string) bool
- func CheckAppKeySufficiency(creds *DatadogCredentials, envVarName string) bool
- func ConvertConfigDirSpec(src *ConfigDirSpec) *v2alpha1.MultiCustomConfig
- func ConvertConfigDirSpecToCustomConfig(src *ConfigDirSpec) *commonv1.CustomConfig
- func ConvertCustomConfig(config *CustomConfigSpec) *commonv1.CustomConfig
- func ConvertTo(src *DatadogAgent, dst *v2alpha1.DatadogAgent) error
- func DefaultDatadogAgentSpecAgentImage(agent *DatadogAgentSpecAgentSpec, name, tag string) *commonv1.AgentImageConfig
- func DefaultDatadogAgentSpecClusterChecksRunnerImage(clc *DatadogAgentSpecClusterChecksRunnerSpec, name, tag string) *commonv1.AgentImageConfig
- func DefaultDatadogClusterAgentImage(dca *DatadogAgentSpecClusterAgentSpec, name, tag string) *commonv1.AgentImageConfig
- func DefaultedClusterAgentToken(ddaStatus *DatadogAgentStatus) string
- func FeatureOverride(dda *DatadogAgentSpec, dso *DatadogAgentSpec)
- func GetAPIKeySecret(credentials *DatadogCredentials, defaultName string) (bool, string, string)
- func GetAgentServiceAccount(dda *DatadogAgent) string
- func GetAppKeySecret(credentials *DatadogCredentials, defaultName string) (bool, string, string)
- func GetClusterAgentServiceAccount(dda *DatadogAgent) string
- func GetClusterChecksRunnerServiceAccount(dda *DatadogAgent) string
- func GetConfName(owner metav1.Object, conf *CustomConfigSpec, defaultName string) string
- func GetDefaultCredentialsSecretName(dda *DatadogAgent) string
- func GetKeysFromCredentials(credentials *DatadogCredentials) map[string][]byte
- func GetLocalAgentServiceName(dda *DatadogAgent) string
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- func IsCCREnabled(dda *DatadogAgent) bool
- func IsClusterChecksEnabled(dda *DatadogAgent) bool
- func IsHostNetworkEnabled(dda *DatadogAgent) bool
- func IsValidCustomConfigSpec(ccs *CustomConfigSpec) error
- func IsValidDatadogAgent(spec *DatadogAgentSpec) error
- func IsValidDatadogMonitor(spec *DatadogMonitorSpec) error
- func IsValidDatadogSLO(spec *DatadogSLOSpec) error
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type APMSpec
- type APMUnixDomainSocketSpec
- type AdmissionControllerConfig
- type AgentCredentials
- type CRISocketConfig
- type ClusterAgentConfig
- type ClusterChecksRunnerConfig
- type ComplianceSpec
- type ConfigDirSpec
- type ConfigFileConfigMapSpec
- type CustomConfigSpec
- type DSDUnixDomainSocketSpec
- type DaemonSetDeploymentStrategy
- type DaemonSetRollingUpdateSpec
- type DatadogAgent
- type DatadogAgentCondition
- type DatadogAgentConditionType
- type DatadogAgentList
- type DatadogAgentSpec
- type DatadogAgentSpecAgentSpec
- type DatadogAgentSpecClusterAgentSpec
- type DatadogAgentSpecClusterChecksRunnerSpec
- type DatadogAgentState
- type DatadogAgentStatus
- type DatadogCredentials
- type DatadogFeatures
- type DatadogMetric
- type DatadogMetricCondition
- type DatadogMetricConditionType
- type DatadogMetricList
- type DatadogMetricSpec
- type DatadogMetricStatus
- type DatadogMonitor
- type DatadogMonitorCondition
- type DatadogMonitorConditionType
- type DatadogMonitorControllerOptions
- type DatadogMonitorDowntimeStatus
- type DatadogMonitorList
- type DatadogMonitorOptions
- type DatadogMonitorOptionsThresholdWindows
- type DatadogMonitorOptionsThresholds
- type DatadogMonitorSpec
- type DatadogMonitorState
- type DatadogMonitorStatus
- type DatadogMonitorTriggeredState
- type DatadogMonitorType
- type DatadogSLO
- type DatadogSLOControllerOptions
- type DatadogSLOList
- type DatadogSLOQuery
- type DatadogSLOSpec
- type DatadogSLOStatus
- type DatadogSLOSyncStatus
- type DatadogSLOTimeFrame
- type DatadogSLOType
- type DogstatsdConfig
- type ExternalMetricsConfig
- type KubeStateMetricsCore
- type LocalService
- type LogCollectionConfig
- type MonitorStateSyncStatusMessage
- type NetworkMonitoringConfig
- type NetworkPolicyFlavor
- type NetworkPolicySpec
- func DefaultAgentNetworkPolicy(agent *DatadogAgentSpecAgentSpec) *NetworkPolicySpec
- func DefaultClusterAgentNetworkPolicy(dca *DatadogAgentSpecClusterAgentSpec) *NetworkPolicySpec
- func DefaultClusterChecksRunnerNetworkPolicy(clc *DatadogAgentSpecClusterChecksRunnerSpec) *NetworkPolicySpec
- func DefaultNetworkPolicy(policy *NetworkPolicySpec) *NetworkPolicySpec
- type NodeAgentConfig
- type OTLPGRPCSpec
- type OTLPHTTPSpec
- type OTLPProtocolsSpec
- type OTLPReceiverSpec
- type OTLPSpec
- type OrchestratorExplorerConfig
- type ProcessSpec
- type PrometheusScrapeConfig
- type RbacConfig
- func DefaultDatadogAgentSpecRbacConfig(agent *DatadogAgentSpecAgentSpec) *RbacConfig
- func DefaultDatadogClusterAgentSpecRbacConfig(dca *DatadogAgentSpecClusterAgentSpec) *RbacConfig
- func DefaultDatadogClusterChecksRunnerSpecRbacConfig(clc *DatadogAgentSpecClusterChecksRunnerSpec) *RbacConfig
- func DefaultRbacConfig(rbac *RbacConfig) *RbacConfig
- type RuntimeSecuritySpec
- type Scrubbing
- type SecuritySpec
- type SyscallMonitorSpec
- type SystemProbeSpec
Constants ¶
const ( // Datadog volume names and mount paths LogDatadogVolumeName = "logdatadog" LogDatadogVolumePath = "/var/log/datadog" TmpVolumeName = "tmp" TmpVolumePath = "/tmp" CertificatesVolumeName = "certificates" CertificatesVolumePath = "/etc/datadog-agent/certificates" ProcVolumeName = "procdir" ProcVolumePath = "/host/proc" ProcVolumeReadOnly = true PasswdVolumeName = "passwd" PasswdVolumePath = "/etc/passwd" GroupVolumeName = "group" GroupVolumePath = "/etc/group" CgroupsVolumeName = "cgroups" CgroupsVolumePath = "/host/sys/fs/cgroup" CgroupsVolumeReadOnly = true SystemProbeSocketVolumeName = "sysprobe-socket-dir" SystemProbeSocketVolumePath = "/var/run/sysprobe" CriSocketVolumeReadOnly = true PointerVolumeName = "pointerdir" PointerVolumePath = "/opt/datadog-agent/run" LogPodVolumeName = "logpodpath" LogPodVolumePath = "/var/log/pods" LogPodVolumeReadOnly = true LogContainerVolumeName = "logcontainerpath" LogContainerVolumeReadOnly = true SymlinkContainerVolumeName = "symlinkcontainerpath" SymlinkContainerVolumeReadOnly = true SystemProbeDebugfsVolumeName = "debugfs" SystemProbeDebugfsVolumePath = "/sys/kernel/debug" SystemProbeConfigVolumeName = "system-probe-config" SystemProbeConfigVolumeSubPath = "system-probe.yaml" SystemProbeLibModulesVolumeName = "modules" SystemProbeLibModulesVolumePath = "/lib/modules" SystemProbeUsrSrcVolumeName = "src" SystemProbeUsrSrcVolumePath = "/usr/src" OrchestratorExplorerConfigVolumeName = "orchestrator-explorer-config" SysteProbeAppArmorAnnotationKey = "container.apparmor.security.beta.kubernetes.io/system-probe" SysteProbeSeccompAnnotationKey = "container.seccomp.security.alpha.kubernetes.io/system-probe" SystemProbeOSReleaseDirVolumeName = "host-osrelease" SystemProbeOSReleaseDirVolumePath = "/etc/os-release" SystemProbeOSReleaseDirMountPath = "/host/etc/os-release" )
Datadog env var names
const ( DefaultSeccompProfileName string = "localhost/system-probe" DefaultOrchestratorExplorerConf string = "orchestrator-explorer-config" DefaultAdmissionServiceName = "datadog-admission-controller" )
default values
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "datadoghq.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func CheckAPIKeySufficiency ¶ added in v1.0.0
func CheckAPIKeySufficiency(creds *DatadogCredentials, envVarName string) bool
CheckAPIKeySufficiency use to check for the API key if: 1. an existing secret is defined, or 2. the corresponding env var is defined (whether in ENC format or not) If either of these is true, the secret is not needed.
func CheckAppKeySufficiency ¶ added in v1.0.0
func CheckAppKeySufficiency(creds *DatadogCredentials, envVarName string) bool
CheckAppKeySufficiency use to check for the APP key if: 1. an existing secret is defined, or 2. the corresponding env var is defined (whether in ENC format or not) If either of these is true, the secret is not needed.
func ConvertConfigDirSpec ¶ added in v1.0.0
func ConvertConfigDirSpec(src *ConfigDirSpec) *v2alpha1.MultiCustomConfig
ConvertConfigDirSpec converts v1alpha1.ConfigDirSpec to v2alpha1.MultiCustomConfig
func ConvertConfigDirSpecToCustomConfig ¶ added in v1.0.0
func ConvertConfigDirSpecToCustomConfig(src *ConfigDirSpec) *commonv1.CustomConfig
ConvertConfigDirSpecToCustomConfig converts v1alpha1.ConfigDirSpec to v2alpha1.CustomConfig
func ConvertCustomConfig ¶ added in v1.0.0
func ConvertCustomConfig(config *CustomConfigSpec) *commonv1.CustomConfig
ConvertCustomConfig use to convert a CustomConfigSpec to a common.CustomConfig.
func ConvertTo ¶ added in v1.0.0
func ConvertTo(src *DatadogAgent, dst *v2alpha1.DatadogAgent) error
ConvertTo use to convert v1alpha1.DatadogAgent to v2alpha1.DatadogAgent
func DefaultDatadogAgentSpecAgentImage ¶
func DefaultDatadogAgentSpecAgentImage(agent *DatadogAgentSpecAgentSpec, name, tag string) *commonv1.AgentImageConfig
DefaultDatadogAgentSpecAgentImage used to default a ImageConfig for the Agent, Cluster Agent and the Cluster Check Runner. Returns the defaulted ImageConfig.
func DefaultDatadogAgentSpecClusterChecksRunnerImage ¶
func DefaultDatadogAgentSpecClusterChecksRunnerImage(clc *DatadogAgentSpecClusterChecksRunnerSpec, name, tag string) *commonv1.AgentImageConfig
DefaultDatadogAgentSpecClusterChecksRunnerImage used to default a ImageConfig for the Agent, Cluster Agent and the Cluster Check Runner. Returns the defaulted ImageConfig.
func DefaultDatadogClusterAgentImage ¶
func DefaultDatadogClusterAgentImage(dca *DatadogAgentSpecClusterAgentSpec, name, tag string) *commonv1.AgentImageConfig
DefaultDatadogClusterAgentImage used to default a ImageConfig for the Agent, Cluster Agent and the Cluster Check Runner. Returns the defaulted ImageConfig.
func DefaultedClusterAgentToken ¶
func DefaultedClusterAgentToken(ddaStatus *DatadogAgentStatus) string
DefaultedClusterAgentToken returns the autogenerated token used for the communication between the agents and the DCA. If the token has not been autogenerated, this function returns an empty string.
func FeatureOverride ¶
func FeatureOverride(dda *DatadogAgentSpec, dso *DatadogAgentSpec)
FeatureOverride defaults the feature section of the DatadogAgent TODO surface in the status when Overrides are not possible. Security agent requires the System Probe
func GetAPIKeySecret ¶ added in v1.0.0
func GetAPIKeySecret(credentials *DatadogCredentials, defaultName string) (bool, string, string)
GetAPIKeySecret returns the API key secret name and the key inside the secret returns <isSet>, secretName, secretKey Note that the default name can differ depending on where this is called
func GetAgentServiceAccount ¶ added in v1.0.0
func GetAgentServiceAccount(dda *DatadogAgent) string
GetAgentServiceAccount returns the agent serviceAccountName
func GetAppKeySecret ¶ added in v1.0.0
func GetAppKeySecret(credentials *DatadogCredentials, defaultName string) (bool, string, string)
GetAppKeySecret returns the APP key secret name and the key inside the secret returns <isSet>, secretName, secretKey Note that the default name can differ depending on where this is called
func GetClusterAgentServiceAccount ¶ added in v1.0.0
func GetClusterAgentServiceAccount(dda *DatadogAgent) string
GetClusterAgentServiceAccount return the cluster-agent serviceAccountName
func GetClusterChecksRunnerServiceAccount ¶ added in v1.0.0
func GetClusterChecksRunnerServiceAccount(dda *DatadogAgent) string
GetClusterChecksRunnerServiceAccount return the cluster-checks-runner service account name
func GetConfName ¶ added in v1.0.0
func GetConfName(owner metav1.Object, conf *CustomConfigSpec, defaultName string) string
GetConfName get the name of the Configmap for a CustomConfigSpec
func GetDefaultCredentialsSecretName ¶ added in v1.0.0
func GetDefaultCredentialsSecretName(dda *DatadogAgent) string
GetDefaultCredentialsSecretName returns the default name for credentials secret
func GetKeysFromCredentials ¶ added in v1.0.0
func GetKeysFromCredentials(credentials *DatadogCredentials) map[string][]byte
GetKeysFromCredentials returns any key data that need to be stored in a new secret
func GetLocalAgentServiceName ¶ added in v1.0.0
func GetLocalAgentServiceName(dda *DatadogAgent) string
GetLocalAgentServiceName returns the name used for the local agent service
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
func IsCCREnabled ¶ added in v1.0.0
func IsCCREnabled(dda *DatadogAgent) bool
IsCCREnabled returns whether the DDA should use Cluster Checks Runners
func IsClusterChecksEnabled ¶ added in v1.0.0
func IsClusterChecksEnabled(dda *DatadogAgent) bool
IsClusterChecksEnabled returns whether the DDA should use cluster checks
func IsHostNetworkEnabled ¶ added in v1.0.0
func IsHostNetworkEnabled(dda *DatadogAgent) bool
IsHostNetworkEnabled returns whether the pod should use the host's network namespace
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 IsValidDatadogMonitor ¶
func IsValidDatadogMonitor(spec *DatadogMonitorSpec) error
IsValidDatadogMonitor use to check if a DatadogMonitorSpec is valid by checking that the required fields are defined
func IsValidDatadogSLO ¶ added in v1.3.0
func IsValidDatadogSLO(spec *DatadogSLOSpec) error
IsValidDatadogSLO use to check if a DatadogSLOSpec is valid by checking that the required fields are defined
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. // See also: 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"` // UnixDomainSocket socket configuration. // See also: https://docs.datadoghq.com/agent/kubernetes/apm/?tab=helm#agent-environment-variables // +optional UnixDomainSocket *APMUnixDomainSocketSpec `json:"unixDomainSocket,omitempty"` // The Datadog Agent supports many environment variables. // See also: 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 APM Agent container. // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,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. // See also: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Command allows the specification of custom entrypoint for Trace Agent container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,omitempty"` // Configure the Liveness Probe of the APM container // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"` }
APMSpec contains the Trace Agent configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentApm ¶
func DefaultDatadogAgentSpecAgentApm(agent *DatadogAgentSpecAgentSpec) *APMSpec
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 APMUnixDomainSocketSpec ¶
type APMUnixDomainSocketSpec struct { // Enable APM over Unix Domain Socket // See also: https://docs.datadoghq.com/agent/kubernetes/apm/?tab=helm#agent-environment-variables // +optional Enabled *bool `json:"enabled,omitempty"` // Define the host APM socket filepath used when APM over Unix Domain Socket is enabled. // (default value: /var/run/datadog/apm.sock) // See also: https://docs.datadoghq.com/agent/kubernetes/apm/?tab=helm#agent-environment-variables // +optional HostFilepath *string `json:"hostFilepath,omitempty"` }
APMUnixDomainSocketSpec contains the APM Unix Domain Socket configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentApmUDS ¶
func DefaultDatadogAgentSpecAgentApmUDS(apm *APMSpec) *APMUnixDomainSocketSpec
DefaultDatadogAgentSpecAgentApmUDS used to default APMUnixDomainSocketSpec rreturn the defaulted APMUnixDomainSocketSpec
func (*APMUnixDomainSocketSpec) DeepCopy ¶
func (in *APMUnixDomainSocketSpec) DeepCopy() *APMUnixDomainSocketSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APMUnixDomainSocketSpec.
func (*APMUnixDomainSocketSpec) DeepCopyInto ¶
func (in *APMUnixDomainSocketSpec) DeepCopyInto(out *APMUnixDomainSocketSpec)
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"` // agentCommunicationMode corresponds to the mode used by the Datadog application libraries to communicate with the Agent. // It can be "hostip", "service", or "socket". // +optional AgentCommunicationMode *string `json:"agentCommunicationMode,omitempty"` }
AdmissionControllerConfig contains the configuration of the admission controller in Cluster Agent. +k8s:openapi-gen=true
func DefaultAdmissionController ¶
func DefaultAdmissionController(conf *ClusterAgentConfig) *AdmissionControllerConfig
DefaultAdmissionController defaults the Admission Controller's config in the Cluster Agent's config
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 { DatadogCredentials `json:",inline"` // 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. // 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 DefaultContainerSocket ¶
func DefaultContainerSocket(config *NodeAgentConfig) *CRISocketConfig
DefaultContainerSocket defaults the socket configuration for the Datadog Agent
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 { // Pod-level SecurityContext. // +optional SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"` 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 Agent and the daemonset. // See also: // 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"` // Enable this to start event collection from the kubernetes API. // See also: 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"` // Command allows the specification of custom entrypoint for Cluster Agent container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,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. // See also: 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"` // HealthPort of the Agent container for internal liveness probe. // Must be the same as the Liveness/Readiness probes. HealthPort *int32 `json:"healthPort,omitempty"` }
ClusterAgentConfig contains the configuration of the Cluster Agent. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecClusterAgentConfig ¶
func DefaultDatadogAgentSpecClusterAgentConfig(dca *DatadogAgentSpecClusterAgentSpec) *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 { // Pod-level SecurityContext. // +optional SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"` // Datadog Cluster Checks Runner resource requests and limits. Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Command allows the specification of custom entrypoint for Cluster Checks Runner container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,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. // See also: 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"` // Configure the Liveness Probe of the CLC container LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"` // Configure the Readiness Probe of the CLC container ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"` // HealthPort of the Agent container for internal liveness probe. // Must be the same as the Liveness/Readiness probes. HealthPort *int32 `json:"healthPort,omitempty"` }
ClusterChecksRunnerConfig contains the configuration of the Cluster Checks Runner. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecClusterChecksRunnerConfig ¶
func DefaultDatadogAgentSpecClusterChecksRunnerConfig(clc *DatadogAgentSpecClusterChecksRunnerSpec) *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"` // items mapping between configMap data key and file path mount. // +optional // +listType=map // +listMapKey=key Items []corev1.KeyToPath `json:"items,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 { // The name of source ConfigMap. 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"` // Enable to specify a reference to an already existing ConfigMap. 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 DSDUnixDomainSocketSpec ¶
type DSDUnixDomainSocketSpec struct { // Enable APM over Unix Domain Socket. // See also: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/ // +optional Enabled *bool `json:"enabled,omitempty"` // Define the host APM socket filepath used when APM over Unix Domain Socket is enabled. // (default value: /var/run/datadog/statsd.sock). // See also: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/ // +optional HostFilepath *string `json:"hostFilepath,omitempty"` }
DSDUnixDomainSocketSpec contains the Dogstatsd Unix Domain Socket configuration. +k8s:openapi-gen=true
func DefaultConfigDogstatsdUDS ¶
func DefaultConfigDogstatsdUDS(dsd *DogstatsdConfig) *DSDUnixDomainSocketSpec
DefaultConfigDogstatsdUDS used to default DSDUnixDomainSocketSpec return the defaulted DSDUnixDomainSocketSpec
func (*DSDUnixDomainSocketSpec) DeepCopy ¶
func (in *DSDUnixDomainSocketSpec) DeepCopy() *DSDUnixDomainSocketSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DSDUnixDomainSocketSpec.
func (*DSDUnixDomainSocketSpec) DeepCopyInto ¶
func (in *DSDUnixDomainSocketSpec) DeepCopyInto(out *DSDUnixDomainSocketSpec)
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(agent *DatadogAgentSpecAgentSpec) *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 maximum 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 maximum 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 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 (*DatadogAgent) ConvertFrom ¶ added in v1.0.0
func (dst *DatadogAgent) ConvertFrom(src conversion.Hub) error
ConvertFrom converts a v2alpha1 (Hub) to v1alpha1 (local) Not supported. Only match metadata to not block the v1alpha1 to v2alpha1 migration.
func (*DatadogAgent) ConvertTo ¶ added in v1.0.0
func (src *DatadogAgent) ConvertTo(dst conversion.Hub) error
ConvertTo converts a v1alpha1 to v2alpha1 (Hub)
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 ( // DatadogAgentConditionTypeActive DatadogAgent is active. DatadogAgentConditionTypeActive DatadogAgentConditionType = "Active" // DatadogAgentConditionTypeReconcileError the controller wasn't able to run properly the reconcile loop with this DatadogAgent. DatadogAgentConditionTypeReconcileError DatadogAgentConditionType = "ReconcileError" // DatadogAgentConditionTypeSecretError the required Secret doesn't exist. DatadogAgentConditionTypeSecretError DatadogAgentConditionType = "SecretError" // DatadogMetricsActive forwarding metrics and events to Datadog is active. DatadogMetricsActive DatadogAgentConditionType = "ActiveDatadogMetrics" // DatadogMetricsError cannot forward deployment metrics and events to Datadog. DatadogMetricsError 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 needed to run Agents. If not set, then the credentials // set in the DatadogOperator will be used. Credentials *AgentCredentials `json:"credentials,omitempty"` // Features running on the Agent and Cluster Agent. // +optional Features DatadogFeatures `json:"features,omitempty"` // 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"` // Registry to use for all Agent images (default gcr.io/datadoghq). // Use public.ecr.aws/datadog for AWS // Use docker.io/datadog for DockerHub // +optional Registry *string `json:"registry,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 { // Enabled Enabled *bool `json:"enabled,omitempty"` // UseExtendedDaemonset use ExtendedDaemonset for Agent deployment. // default value is false. UseExtendedDaemonset *bool `json:"useExtendedDaemonset,omitempty"` // The container image of the Datadog Agent. Image *commonv1.AgentImageConfig `json:"image,omitempty"` // 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 Agent Pods. AdditionalLabels map[string]string `json:"additionalLabels,omitempty"` // KeepLabels allows the specification of labels not managed by the Operator that will be kept on Agent DaemonSet. // All labels containing 'datadoghq.com' are always included. This field uses glob syntax. KeepLabels string `json:"keepLabels,omitempty"` // KeepAnnotations allows the specification of annotations not managed by the Operator that will be kept on Agent DaemonSet. // All annotations containing 'datadoghq.com' are always included. This field uses glob syntax. KeepAnnotations string `json:"keepAnnotations,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. // See also: 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 *LogCollectionConfig `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"` // OTLP ingest configuration // +optional OTLP *OTLPSpec `json:"otlp,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"` // If specified, the pod's scheduling constraints. // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // Options to customize the internal traffic policy service // +optional LocalService *LocalService `json:"localService,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 { // Enabled Enabled *bool `json:"enabled,omitempty"` // The container image of the Datadog Cluster Agent. Image *commonv1.AgentImageConfig `json:"image,omitempty"` // 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 Agent Pods. AdditionalLabels map[string]string `json:"additionalLabels,omitempty"` // KeepLabels allows the specification of labels not managed by the Operator that will be kept on ClusterAgent Deployment. // All labels containing 'datadoghq.com' are always included. This field uses glob syntax. KeepLabels string `json:"keepLabels,omitempty"` // KeepAnnotations allows the specification of annotations not managed by the Operator that will be kept on ClusterAgent Deployment. // All annotations containing 'datadoghq.com' are always included. This field uses glob syntax. KeepAnnotations string `json:"keepAnnotations,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 Mutate the internal DatadogAgentSpecClusterAgent throughout the method return the defaulted DatadogAgentSpecClusterAgentSpec to update the status
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 { // Enabled Enabled *bool `json:"enabled,omitempty"` // The container image of the Datadog Cluster Checks Runner. Image *commonv1.AgentImageConfig `json:"image,omitempty"` // 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 Checks Runner 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 { // DefaultOverride contains attributes that were not configured that the runtime defaulted. // +optional // +kubebuilder:pruning:PreserveUnknownFields DefaultOverride *DatadogAgentSpec `json:"defaultOverride,omitempty"` // The actual state of the Agent as an extended daemonset. // +optional Agent *commonv1.DaemonSetStatus `json:"agent,omitempty"` // The actual state of the Cluster Agent as a deployment. // +optional ClusterAgent *commonv1.DeploymentStatus `json:"clusterAgent,omitempty"` // The actual state of the Cluster Checks Runner as a deployment. // +optional ClusterChecksRunner *commonv1.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 DefaultDatadogAgent ¶
func DefaultDatadogAgent(dda *DatadogAgent) *DatadogAgentStatus
DefaultDatadogAgent defaults the DatadogAgent
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 DatadogCredentials ¶
type DatadogCredentials struct { // APIKey Set this to your Datadog API key before the Agent runs. // See also: 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 *commonv1.SecretConfig `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 *commonv1.SecretConfig `json:"appSecret,omitempty"` }
DatadogCredentials is a generic structure that holds credentials to access Datadog. +k8s:openapi-gen=true
func (*DatadogCredentials) DeepCopy ¶
func (in *DatadogCredentials) DeepCopy() *DatadogCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogCredentials.
func (*DatadogCredentials) DeepCopyInto ¶
func (in *DatadogCredentials) DeepCopyInto(out *DatadogCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogFeatures ¶
type DatadogFeatures struct { // OrchestratorExplorer configuration. OrchestratorExplorer *OrchestratorExplorerConfig `json:"orchestratorExplorer,omitempty"` // KubeStateMetricsCore configuration. KubeStateMetricsCore *KubeStateMetricsCore `json:"kubeStateMetricsCore,omitempty"` // PrometheusScrape configuration. PrometheusScrape *PrometheusScrapeConfig `json:"prometheusScrape,omitempty"` // NetworkMonitoring configuration. NetworkMonitoring *NetworkMonitoringConfig `json:"networkMonitoring,omitempty"` // LogCollection configuration. LogCollection *LogCollectionConfig `json:"logCollection,omitempty"` }
DatadogFeatures are Features running on the Agent and Cluster Agent. +k8s:openapi-gen=true
func DefaultFeatures ¶
func DefaultFeatures(dda *DatadogAgent) *DatadogFeatures
DefaultFeatures used to initialized the Features' default values if necessary
func (*DatadogFeatures) DeepCopy ¶
func (in *DatadogFeatures) DeepCopy() *DatadogFeatures
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogFeatures.
func (*DatadogFeatures) DeepCopyInto ¶
func (in *DatadogFeatures) DeepCopyInto(out *DatadogFeatures)
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 allows autoscaling on arbitrary Datadog query +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 reserved for internal use ExternalMetricName string `json:"externalMetricName,omitempty"` // MaxAge provides the max age for the metric query (overrides the default setting // `external_metrics_provider.max_age`) // +optional MaxAge metav1.Duration `json:"maxAge,omitempty"` // TimeWindow provides the time window for the metric query, defaults to MaxAge. // +optional TimeWindow metav1.Duration `json:"timeWindow,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 DatadogMonitor ¶
type DatadogMonitor struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DatadogMonitorSpec `json:"spec,omitempty"` Status DatadogMonitorStatus `json:"status,omitempty"` }
DatadogMonitor allows to define and manage Monitors from your Kubernetes Cluster +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogmonitors,scope=Namespaced +kubebuilder:printcolumn:name="id",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="monitor state",type="string",JSONPath=".status.monitorState" +kubebuilder:printcolumn:name="last state transition",type="string",JSONPath=".status.monitorStateLastTransitionTime" +kubebuilder:printcolumn:name="last state sync",type="string",format="date",JSONPath=".status.monitorStateLastUpdateTime" +kubebuilder:printcolumn:name="sync status",type="string",JSONPath=".status.syncStatus" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true +genclient
func (*DatadogMonitor) DeepCopy ¶
func (in *DatadogMonitor) DeepCopy() *DatadogMonitor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitor.
func (*DatadogMonitor) DeepCopyInto ¶
func (in *DatadogMonitor) DeepCopyInto(out *DatadogMonitor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMonitor) DeepCopyObject ¶
func (in *DatadogMonitor) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMonitorCondition ¶
type DatadogMonitorCondition struct { // Type of DatadogMonitor condition Type DatadogMonitorConditionType `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"` }
DatadogMonitorCondition describes the current state of a DatadogMonitor +k8s:openapi-gen=true
func (*DatadogMonitorCondition) DeepCopy ¶
func (in *DatadogMonitorCondition) DeepCopy() *DatadogMonitorCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorCondition.
func (*DatadogMonitorCondition) DeepCopyInto ¶
func (in *DatadogMonitorCondition) DeepCopyInto(out *DatadogMonitorCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorConditionType ¶
type DatadogMonitorConditionType string
DatadogMonitorConditionType represents a DatadogMonitor condition
const ( // DatadogMonitorConditionTypeCreated means the DatadogMonitor is created successfully DatadogMonitorConditionTypeCreated DatadogMonitorConditionType = "Created" // DatadogMonitorConditionTypeActive means the DatadogMonitor is active DatadogMonitorConditionTypeActive DatadogMonitorConditionType = "Active" // DatadogMonitorConditionTypeUpdated means the DatadogMonitor is updated DatadogMonitorConditionTypeUpdated DatadogMonitorConditionType = "Updated" // DatadogMonitorConditionTypeError means the DatadogMonitor has an error DatadogMonitorConditionTypeError DatadogMonitorConditionType = "Error" )
type DatadogMonitorControllerOptions ¶ added in v1.1.0
type DatadogMonitorControllerOptions struct { // DisableRequiredTags disables the automatic addition of required tags to monitors. DisableRequiredTags *bool `json:"disableRequiredTags,omitempty"` }
DatadogMonitorControllerOptions defines options in the DatadogMonitor controller +k8s:openapi-gen=true
func (*DatadogMonitorControllerOptions) DeepCopy ¶ added in v1.1.0
func (in *DatadogMonitorControllerOptions) DeepCopy() *DatadogMonitorControllerOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorControllerOptions.
func (*DatadogMonitorControllerOptions) DeepCopyInto ¶ added in v1.1.0
func (in *DatadogMonitorControllerOptions) DeepCopyInto(out *DatadogMonitorControllerOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorDowntimeStatus ¶
type DatadogMonitorDowntimeStatus struct { IsDowntimed bool `json:"isDowntimed,omitempty"` DowntimeID int `json:"downtimeId,omitempty"` }
DatadogMonitorDowntimeStatus represents the downtime status of a DatadogMonitor +k8s:openapi-gen=true
func (*DatadogMonitorDowntimeStatus) DeepCopy ¶
func (in *DatadogMonitorDowntimeStatus) DeepCopy() *DatadogMonitorDowntimeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorDowntimeStatus.
func (*DatadogMonitorDowntimeStatus) DeepCopyInto ¶
func (in *DatadogMonitorDowntimeStatus) DeepCopyInto(out *DatadogMonitorDowntimeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorList ¶
type DatadogMonitorList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DatadogMonitor `json:"items"` }
DatadogMonitorList contains a list of DatadogMonitors +kubebuilder:object:root=true
func (*DatadogMonitorList) DeepCopy ¶
func (in *DatadogMonitorList) DeepCopy() *DatadogMonitorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorList.
func (*DatadogMonitorList) DeepCopyInto ¶
func (in *DatadogMonitorList) DeepCopyInto(out *DatadogMonitorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMonitorList) DeepCopyObject ¶
func (in *DatadogMonitorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMonitorOptions ¶
type DatadogMonitorOptions struct { // A Boolean indicating whether to send a log sample when the log monitor triggers. EnableLogsSample *bool `json:"enableLogsSample,omitempty"` // A message to include with a re-notification. EscalationMessage *string `json:"escalationMessage,omitempty"` // Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300 (5min), // the timeframe is set to last_5m and the time is 7:00, the monitor evaluates data from 6:50 to 6:55. // This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation. EvaluationDelay *int64 `json:"evaluationDelay,omitempty"` // A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title. IncludeTags *bool `json:"includeTags,omitempty"` // Whether or not the monitor is locked (only editable by creator and admins). Locked *bool `json:"locked,omitempty"` // Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of // monitor results. Should be a non negative integer. NewGroupDelay *int64 `json:"newGroupDelay,omitempty"` // The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the // monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe // is used for metric alerts, and 24 hours is used for service checks. NoDataTimeframe *int64 `json:"noDataTimeframe,omitempty"` // A Boolean indicating whether tagged users are notified on changes to this monitor. NotifyAudit *bool `json:"notifyAudit,omitempty"` // A Boolean indicating whether this monitor notifies when data stops reporting. NotifyNoData *bool `json:"notifyNoData,omitempty"` // The number of minutes after the last notification before a monitor re-notifies on the current status. // It only re-notifies if it’s not resolved. RenotifyInterval *int64 `json:"renotifyInterval,omitempty"` // A Boolean indicating whether this monitor needs a full window of data before it’s evaluated. We highly // recommend you set this to false for sparse metrics, otherwise some evaluations are skipped. Default is false. RequireFullWindow *bool `json:"requireFullWindow,omitempty"` // The number of hours of the monitor not reporting data before it automatically resolves from a triggered state. TimeoutH *int64 `json:"timeoutH,omitempty"` // A struct of the different monitor threshold values. Thresholds *DatadogMonitorOptionsThresholds `json:"thresholds,omitempty"` // A struct of the alerting time window options. ThresholdWindows *DatadogMonitorOptionsThresholdWindows `json:"thresholdWindows,omitempty"` }
DatadogMonitorOptions define the optional parameters of a monitor +k8s:openapi-gen=true
func (*DatadogMonitorOptions) DeepCopy ¶
func (in *DatadogMonitorOptions) DeepCopy() *DatadogMonitorOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptions.
func (*DatadogMonitorOptions) DeepCopyInto ¶
func (in *DatadogMonitorOptions) DeepCopyInto(out *DatadogMonitorOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorOptionsThresholdWindows ¶
type DatadogMonitorOptionsThresholdWindows struct { // Describes how long an anomalous metric must be normal before the alert recovers. RecoveryWindow *string `json:"recoveryWindow,omitempty"` // Describes how long a metric must be anomalous before an alert triggers. TriggerWindow *string `json:"triggerWindow,omitempty"` }
DatadogMonitorOptionsThresholdWindows is a struct of the alerting time window options +k8s:openapi-gen=true
func (*DatadogMonitorOptionsThresholdWindows) DeepCopy ¶
func (in *DatadogMonitorOptionsThresholdWindows) DeepCopy() *DatadogMonitorOptionsThresholdWindows
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsThresholdWindows.
func (*DatadogMonitorOptionsThresholdWindows) DeepCopyInto ¶
func (in *DatadogMonitorOptionsThresholdWindows) DeepCopyInto(out *DatadogMonitorOptionsThresholdWindows)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorOptionsThresholds ¶
type DatadogMonitorOptionsThresholds struct { // The monitor CRITICAL threshold. Critical *string `json:"critical,omitempty"` // The monitor CRITICAL recovery threshold. CriticalRecovery *string `json:"criticalRecovery,omitempty"` // The monitor OK threshold. OK *string `json:"ok,omitempty"` // The monitor UNKNOWN threshold. Unknown *string `json:"unknown,omitempty"` // The monitor WARNING threshold. Warning *string `json:"warning,omitempty"` // The monitor WARNING recovery threshold. WarningRecovery *string `json:"warningRecovery,omitempty"` }
DatadogMonitorOptionsThresholds is a struct of the different monitor threshold values +k8s:openapi-gen=true
func (*DatadogMonitorOptionsThresholds) DeepCopy ¶
func (in *DatadogMonitorOptionsThresholds) DeepCopy() *DatadogMonitorOptionsThresholds
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsThresholds.
func (*DatadogMonitorOptionsThresholds) DeepCopyInto ¶
func (in *DatadogMonitorOptionsThresholds) DeepCopyInto(out *DatadogMonitorOptionsThresholds)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorSpec ¶
type DatadogMonitorSpec struct { // Name is the monitor name Name string `json:"name,omitempty"` // Message is a message to include with notifications for this monitor Message string `json:"message,omitempty"` // Priority is an integer from 1 (high) to 5 (low) indicating alert severity Priority int64 `json:"priority,omitempty"` // Query is the Datadog monitor query Query string `json:"query,omitempty"` // RestrictedRoles is a list of unique role identifiers to define which roles are allowed to edit the monitor. // `restricted_roles` is the successor of `locked`. For more information about `locked` and `restricted_roles`, // see the [monitor options docs](https://docs.datadoghq.com/monitors/guide/monitor_api_options/#permissions-options). // +listType=set RestrictedRoles []string `json:"restrictedRoles,omitempty"` // Tags is the monitor tags associated with your monitor // +listType=set Tags []string `json:"tags,omitempty"` // Type is the monitor type Type DatadogMonitorType `json:"type,omitempty"` // Options are the optional parameters associated with your monitor Options DatadogMonitorOptions `json:"options,omitempty"` // ControllerOptions are the optional parameters in the DatadogMonitor controller ControllerOptions DatadogMonitorControllerOptions `json:"controllerOptions,omitempty"` }
DatadogMonitorSpec defines the desired state of DatadogMonitor +k8s:openapi-gen=true
func (*DatadogMonitorSpec) DeepCopy ¶
func (in *DatadogMonitorSpec) DeepCopy() *DatadogMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorSpec.
func (*DatadogMonitorSpec) DeepCopyInto ¶
func (in *DatadogMonitorSpec) DeepCopyInto(out *DatadogMonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorState ¶
type DatadogMonitorState string
DatadogMonitorState represents the overall DatadogMonitor state
const ( // DatadogMonitorStateOK means the DatadogMonitor is OK DatadogMonitorStateOK DatadogMonitorState = "OK" // DatadogMonitorStateAlert means the DatadogMonitor triggered an alert DatadogMonitorStateAlert DatadogMonitorState = "Alert" // DatadogMonitorStateWarn means the DatadogMonitor triggered a warning DatadogMonitorStateWarn DatadogMonitorState = "Warn" // DatadogMonitorStateNoData means the DatadogMonitor triggered a no data alert DatadogMonitorStateNoData DatadogMonitorState = "No Data" // DatadogMonitorStateSkipped means the DatadogMonitor is skipped DatadogMonitorStateSkipped DatadogMonitorState = "Skipped" // DatadogMonitorStateIgnored means the DatadogMonitor is ignored DatadogMonitorStateIgnored DatadogMonitorState = "Ignored" // DatadogMonitorStateUnknown means the DatadogMonitor is in an unknown state DatadogMonitorStateUnknown DatadogMonitorState = "Unknown" )
type DatadogMonitorStatus ¶
type DatadogMonitorStatus struct { // Conditions Represents the latest available observations of a DatadogMonitor's current state. // +listType=map // +listMapKey=type Conditions []DatadogMonitorCondition `json:"conditions,omitempty"` // ID is the monitor ID generated in Datadog ID int `json:"id,omitempty"` // Creator is the identify of the monitor creator Creator string `json:"creator,omitempty"` // Created is the time the monitor was created Created *metav1.Time `json:"created,omitempty"` // MonitorState is the overall state of monitor MonitorState DatadogMonitorState `json:"monitorState,omitempty"` // MonitorLastForceSyncTime is the last time the API monitor was last force synced with the DatadogMonitor resource MonitorLastForceSyncTime *metav1.Time `json:"monitorLastForceSyncTime,omitempty"` // MonitorStateLastUpdateTime is the last time the monitor state updated MonitorStateLastUpdateTime *metav1.Time `json:"monitorStateLastUpdateTime,omitempty"` // MonitorStateLastTransitionTime is the last time the monitor state changed MonitorStateLastTransitionTime *metav1.Time `json:"monitorStateLastTransitionTime,omitempty"` // MonitorStateSyncStatus shows the health of syncing the monitor state to Datadog MonitorStateSyncStatus MonitorStateSyncStatusMessage `json:"syncStatus,omitempty"` // TriggeredState only includes details for monitor groups that are triggering // +listType=map // +listMapKey=monitorGroup TriggeredState []DatadogMonitorTriggeredState `json:"triggeredState,omitempty"` // DowntimeStatus defines whether the monitor is downtimed DowntimeStatus DatadogMonitorDowntimeStatus `json:"downtimeStatus,omitempty"` // Primary defines whether the monitor is managed by the Kubernetes custom // resource (true) or outside Kubernetes (false) Primary bool `json:"primary,omitempty"` // CurrentHash tracks the hash of the current DatadogMonitorSpec to know // if the Spec has changed and needs an update CurrentHash string `json:"currentHash,omitempty"` }
DatadogMonitorStatus defines the observed state of DatadogMonitor +k8s:openapi-gen=true
func (*DatadogMonitorStatus) DeepCopy ¶
func (in *DatadogMonitorStatus) DeepCopy() *DatadogMonitorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorStatus.
func (*DatadogMonitorStatus) DeepCopyInto ¶
func (in *DatadogMonitorStatus) DeepCopyInto(out *DatadogMonitorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorTriggeredState ¶
type DatadogMonitorTriggeredState struct { // MonitorGroup is the name of the triggering group MonitorGroup string `json:"monitorGroup"` State DatadogMonitorState `json:"state,omitempty"` LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` }
DatadogMonitorTriggeredState represents the details of a triggering DatadogMonitor The DatadogMonitor is triggering if one of its groups is in Alert, Warn, or No Data +k8s:openapi-gen=true
func (*DatadogMonitorTriggeredState) DeepCopy ¶
func (in *DatadogMonitorTriggeredState) DeepCopy() *DatadogMonitorTriggeredState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorTriggeredState.
func (*DatadogMonitorTriggeredState) DeepCopyInto ¶
func (in *DatadogMonitorTriggeredState) DeepCopyInto(out *DatadogMonitorTriggeredState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorType ¶
type DatadogMonitorType string
DatadogMonitorType defines the type of monitor
const ( // DatadogMonitorTypeMetric is the metric alert monitor type DatadogMonitorTypeMetric DatadogMonitorType = "metric alert" // DatadogMonitorTypeQuery is the query alert monitor type DatadogMonitorTypeQuery DatadogMonitorType = "query alert" // DatadogMonitorTypeService is the service check monitor type DatadogMonitorTypeService DatadogMonitorType = "service check" // DatadogMonitorTypeEvent is the event alert monitor type DatadogMonitorTypeEvent DatadogMonitorType = "event alert" // DatadogMonitorTypeLog is the log alert monitor type DatadogMonitorTypeLog DatadogMonitorType = "log alert" // DatadogMonitorTypeProcess is the process alert monitor type DatadogMonitorTypeProcess DatadogMonitorType = "process alert" // DatadogMonitorTypeRUM is the rum alert monitor type DatadogMonitorTypeRUM DatadogMonitorType = "rum alert" // DatadogMonitorTypeTraceAnalytics is the trace-analytics alert monitor type DatadogMonitorTypeTraceAnalytics DatadogMonitorType = "trace-analytics alert" // DatadogMonitorTypeSLO is the slo alert monitor type DatadogMonitorTypeSLO DatadogMonitorType = "slo alert" // DatadogMonitorTypeEventV2 is the event-v2 alert monitor type DatadogMonitorTypeEventV2 DatadogMonitorType = "event-v2 alert" // DatadogMonitorTypeAudit is the audit alert monitor type DatadogMonitorTypeAudit DatadogMonitorType = "audit alert" // DatadogMonitorTypeComposite is the composite alert monitor type DatadogMonitorTypeComposite DatadogMonitorType = "composite" )
type DatadogSLO ¶ added in v1.3.0
type DatadogSLO struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DatadogSLOSpec `json:"spec,omitempty"` Status DatadogSLOStatus `json:"status,omitempty"` }
DatadogSLO allows a user to define and manage datadog SLOs from Kubernetes cluster. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogslos,scope=Namespaced,shortName=ddslo +kubebuilder:printcolumn:name="id",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="sync status",type="string",JSONPath=".status.syncStatus" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true +genclient
func (*DatadogSLO) DeepCopy ¶ added in v1.3.0
func (in *DatadogSLO) DeepCopy() *DatadogSLO
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLO.
func (*DatadogSLO) DeepCopyInto ¶ added in v1.3.0
func (in *DatadogSLO) DeepCopyInto(out *DatadogSLO)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogSLO) DeepCopyObject ¶ added in v1.3.0
func (in *DatadogSLO) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogSLOControllerOptions ¶ added in v1.3.0
type DatadogSLOControllerOptions struct { // DisableRequiredTags disables the automatic addition of required tags to SLOs. DisableRequiredTags *bool `json:"disableRequiredTags,omitempty"` }
DatadogSLOControllerOptions defines options in the DatadogSLO controller. +k8s:openapi-gen=true
func (*DatadogSLOControllerOptions) DeepCopy ¶ added in v1.3.0
func (in *DatadogSLOControllerOptions) DeepCopy() *DatadogSLOControllerOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLOControllerOptions.
func (*DatadogSLOControllerOptions) DeepCopyInto ¶ added in v1.3.0
func (in *DatadogSLOControllerOptions) DeepCopyInto(out *DatadogSLOControllerOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogSLOList ¶ added in v1.3.0
type DatadogSLOList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DatadogSLO `json:"items"` }
DatadogSLOList contains a list of DatadogSLOs. +kubebuilder:object:root=true
func (*DatadogSLOList) DeepCopy ¶ added in v1.3.0
func (in *DatadogSLOList) DeepCopy() *DatadogSLOList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLOList.
func (*DatadogSLOList) DeepCopyInto ¶ added in v1.3.0
func (in *DatadogSLOList) DeepCopyInto(out *DatadogSLOList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogSLOList) DeepCopyObject ¶ added in v1.3.0
func (in *DatadogSLOList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogSLOQuery ¶ added in v1.3.0
type DatadogSLOQuery struct { // Numerator is a Datadog metric query for good events. Numerator string `json:"numerator"` // Denominator is a Datadog metric query for total (valid) events. Denominator string `json:"denominator"` }
+k8s:openapi-gen=true
func (*DatadogSLOQuery) DeepCopy ¶ added in v1.3.0
func (in *DatadogSLOQuery) DeepCopy() *DatadogSLOQuery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLOQuery.
func (*DatadogSLOQuery) DeepCopyInto ¶ added in v1.3.0
func (in *DatadogSLOQuery) DeepCopyInto(out *DatadogSLOQuery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogSLOSpec ¶ added in v1.3.0
type DatadogSLOSpec struct { // Name is the name of the service level objective. Name string `json:"name"` // Description is a user-defined description of the service level objective. // Always included in service level objective responses (but may be null). Optional in create/update requests. Description *string `json:"description,omitempty"` // Groups is a list of (up to 100) monitor groups that narrow the scope of a monitor service level objective. // Included in service level objective responses if it is not empty. // Optional in create/update requests for monitor service level objectives, but may only be used when the length of the monitor_ids field is one. // +listType=set Groups []string `json:"groups,omitempty"` // MonitorIDs is a list of monitor IDs that defines the scope of a monitor service level objective. Required if type is monitor. // +listType=set MonitorIDs []int64 `json:"monitorIDs,omitempty"` // Tags is a list of tags to associate with your service level objective. // This can help you categorize and filter service level objectives in the service level objectives page of the UI. // Note: it's not currently possible to filter by these tags when querying via the API. // +listType=set Tags []string `json:"tags,omitempty"` // Query is the query for a metric-based SLO. Required if type is metric. // Note that only the `sum by` aggregator is allowed, which sums all request counts. `Average`, `max`, nor `min` request aggregators are not supported. Query *DatadogSLOQuery `json:"query,omitempty"` // Type is the type of the service level objective. Type DatadogSLOType `json:"type"` // The SLO time window options. Timeframe DatadogSLOTimeFrame `json:"timeframe"` // TargetThreshold is the target threshold such that when the service level indicator is above this threshold over the given timeframe, the objective is being met. TargetThreshold resource.Quantity `json:"targetThreshold"` // WarningThreshold is a optional warning threshold such that when the service level indicator is below this value for the given threshold, but above the target threshold, the objective appears in a "warning" state. This value must be greater than the target threshold. WarningThreshold *resource.Quantity `json:"warningThreshold,omitempty"` // ControllerOptions are the optional parameters in the DatadogSLO controller ControllerOptions *DatadogSLOControllerOptions `json:"controllerOptions,omitempty"` }
+k8s:openapi-gen=true
func (*DatadogSLOSpec) DeepCopy ¶ added in v1.3.0
func (in *DatadogSLOSpec) DeepCopy() *DatadogSLOSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLOSpec.
func (*DatadogSLOSpec) DeepCopyInto ¶ added in v1.3.0
func (in *DatadogSLOSpec) DeepCopyInto(out *DatadogSLOSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogSLOStatus ¶ added in v1.3.0
type DatadogSLOStatus struct { // Conditions represents the latest available observations of the state of a DatadogSLO. // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty"` // ID is the SLO ID generated in Datadog. ID string `json:"id,omitempty"` // Creator is the identity of the SLO creator. Creator string `json:"creator,omitempty"` // Created is the time the SLO was created. Created *metav1.Time `json:"created,omitempty"` // SyncStatus shows the health of syncing the SLO state to Datadog. SyncStatus DatadogSLOSyncStatus `json:"syncStatus,omitempty"` // LastForceSyncTime is the last time the API SLO was last force synced with the DatadogSLO resource. LastForceSyncTime *metav1.Time `json:"lastForceSyncTime,omitempty"` // CurrentHash tracks the hash of the current DatadogSLOSpec to know // if the Spec has changed and needs an update. CurrentHash string `json:"currentHash,omitempty"` }
DatadogSLOStatus defines the observed state of a DatadogSLO. +k8s:openapi-gen=true
func (*DatadogSLOStatus) DeepCopy ¶ added in v1.3.0
func (in *DatadogSLOStatus) DeepCopy() *DatadogSLOStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLOStatus.
func (*DatadogSLOStatus) DeepCopyInto ¶ added in v1.3.0
func (in *DatadogSLOStatus) DeepCopyInto(out *DatadogSLOStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogSLOSyncStatus ¶ added in v1.3.0
type DatadogSLOSyncStatus string
DatadogSLOSyncStatus is the message reflecting the health of SLO state syncs to Datadog.
const ( // DatadogSLOSyncStatusOK means syncing is OK. DatadogSLOSyncStatusOK DatadogSLOSyncStatus = "OK" // DatadogSLOSyncStatusValidateError means there is a SLO validation error. DatadogSLOSyncStatusValidateError DatadogSLOSyncStatus = "error validating SLO" // DatadogSLOSyncStatusUpdateError means there is a SLO update error. DatadogSLOSyncStatusUpdateError DatadogSLOSyncStatus = "error updating SLO" // DatadogSLOSyncStatusCreateError means there is an error getting the SLO. DatadogSLOSyncStatusCreateError DatadogSLOSyncStatus = "error creating SLO" )
type DatadogSLOTimeFrame ¶ added in v1.3.0
type DatadogSLOTimeFrame string
const ( DatadogSLOTimeFrame7d DatadogSLOTimeFrame = "7d" DatadogSLOTimeFrame30d DatadogSLOTimeFrame = "30d" DatadogSLOTimeFrame90d DatadogSLOTimeFrame = "90d" )
type DatadogSLOType ¶ added in v1.3.0
type DatadogSLOType string
const ( DatadogSLOTypeMetric DatadogSLOType = "metric" DatadogSLOTypeMonitor DatadogSLOType = "monitor" )
func (DatadogSLOType) IsValid ¶ added in v1.3.0
func (t DatadogSLOType) IsValid() bool
type DogstatsdConfig ¶
type DogstatsdConfig struct { // Enable origin detection for container tagging. // See also: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/#using-origin-detection-for-container-tagging // +optional DogstatsdOriginDetection *bool `json:"dogstatsdOriginDetection,omitempty"` // Configure the Dogstatsd Unix Domain Socket. // See also: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/ // +optional UnixDomainSocket *DSDUnixDomainSocketSpec `json:"unixDomainSocket,omitempty"` // Configure the Dogstasd Mapper Profiles. // Can be passed as raw data or via a json encoded string in a config map. // See also: https://docs.datadoghq.com/developers/dogstatsd/dogstatsd_mapper/ // +optional MapperProfiles *CustomConfigSpec `json:"mapperProfiles,omitempty"` }
DogstatsdConfig contains the Dogstatsd configuration parameters. +k8s:openapi-gen=true
func DefaultConfigDogstatsd ¶
func DefaultConfigDogstatsd(config *NodeAgentConfig) *DogstatsdConfig
DefaultConfigDogstatsd used to default Dogstatsd config in NodeAgentConfig
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 also: https://github.com/DataDog/watermarkpodautoscaler. // +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"` // Datadog credentials used by external metrics server to query Datadog. // If not set, the external metrics server uses the global .spec.Credentials // +optional Credentials *DatadogCredentials `json:"credentials,omitempty"` }
ExternalMetricsConfig contains the configuration of the external metrics provider in Cluster Agent. +k8s:openapi-gen=true
func DefaultExternalMetrics ¶
func DefaultExternalMetrics(conf *ClusterAgentConfig) *ExternalMetricsConfig
DefaultExternalMetrics defaults the External Metrics Server's config in the Cluster Agent's config
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 KubeStateMetricsCore ¶
type KubeStateMetricsCore struct { // Enable this to start the Kubernetes State Metrics Core check. // Refer to https://docs.datadoghq.com/integrations/kubernetes_state_core // +optional Enabled *bool `json:"enabled,omitempty"` // To override the configuration for the default Kubernetes State Metrics Core check. // Must point to a ConfigMap containing a valid cluster check configuration. Conf *CustomConfigSpec `json:"conf,omitempty"` // ClusterCheck configures the Kubernetes State Metrics Core check as a cluster check. // +optional ClusterCheck *bool `json:"clusterCheck,omitempty"` }
KubeStateMetricsCore contains the required parameters to enable and override the configuration of the Kubernetes State Metrics Core check. +k8s:openapi-gen=true
func DefaultDatadogFeatureKubeStateMetricsCore ¶
func DefaultDatadogFeatureKubeStateMetricsCore(ft *DatadogFeatures, withClusterChecksRunner bool) *KubeStateMetricsCore
DefaultDatadogFeatureKubeStateMetricsCore used to default the Kubernetes State Metrics core check Disabled by default with no overridden configuration.
func (*KubeStateMetricsCore) DeepCopy ¶
func (in *KubeStateMetricsCore) DeepCopy() *KubeStateMetricsCore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeStateMetricsCore.
func (*KubeStateMetricsCore) DeepCopyInto ¶
func (in *KubeStateMetricsCore) DeepCopyInto(out *KubeStateMetricsCore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalService ¶
type LocalService struct { // Name of the internal traffic service to target the agent running on the local node // +optional OverrideName string `json:"overrideName,omitempty"` // Force the creation of the internal traffic policy service to target the agent running on the local node. // By default, the internal traffic service is created only on Kubernetes 1.22+ where the feature became beta and enabled by default. // This option allows to force the creation of the internal traffic service on kubernetes 1.21 where the feature was alpha and required a feature gate to be explicitly enabled. ForceLocalServiceEnable *bool `json:"forceLocalServiceEnable,omitempty"` }
LocalService provides internal traffic policy service configuration +k8s:openapi-gen=true
func (*LocalService) DeepCopy ¶
func (in *LocalService) DeepCopy() *LocalService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalService.
func (*LocalService) DeepCopyInto ¶
func (in *LocalService) DeepCopyInto(out *LocalService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogCollectionConfig ¶
type LogCollectionConfig struct { // Enable this option to activate Datadog Agent log collection. // See also: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup // // +optional Enabled *bool `json:"enabled,omitempty"` // Enable this option to allow log collection for all containers. // See also: 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 the container runtime API. // Collecting logs from files is usually the most efficient way of collecting logs. // See also: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup // Default is true // // +optional ContainerCollectUsingFiles *bool `json:"containerCollectUsingFiles,omitempty"` // Allows log collection from the container log path. Set to a different path if you are not using the Docker runtime. // See also: https://docs.datadoghq.com/agent/kubernetes/daemonset_setup/?tab=k8sfile#create-manifest // Defaults to `/var/lib/docker/containers` // // +optional ContainerLogsPath *string `json:"containerLogsPath,omitempty"` // Allows log collection from pod log path. // Defaults to `/var/log/pods`. // // +optional PodLogsPath *string `json:"podLogsPath,omitempty"` // Allows the log collection to use symbolic links in this directory to // validate container ID -> pod. // Defaults to `/var/log/containers` // // +optional ContainerSymlinksPath *string `json:"containerSymlinksPath,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 starts tailing the log files immediately. // Default to `/var/lib/datadog-agent/logs` // // +optional TempStoragePath *string `json:"tempStoragePath,omitempty"` // Sets the maximum number of log files that the Datadog Agent tails. Increasing this limit can // increase resource consumption of the Agent. // See also: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup // Default is 100 // // +optional OpenFilesLimit *int32 `json:"openFilesLimit,omitempty"` }
LogCollectionConfig contains the Log Agent configuration. +k8s:openapi-gen=true
func DefaultDatadogFeatureLogCollection ¶
func DefaultDatadogFeatureLogCollection(ft *DatadogFeatures) *LogCollectionConfig
DefaultDatadogFeatureLogCollection used to default an LogCollectionConfig return the defaulted LogCollectionConfig
func (*LogCollectionConfig) DeepCopy ¶
func (in *LogCollectionConfig) DeepCopy() *LogCollectionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogCollectionConfig.
func (*LogCollectionConfig) DeepCopyInto ¶
func (in *LogCollectionConfig) DeepCopyInto(out *LogCollectionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitorStateSyncStatusMessage ¶ added in v1.1.0
type MonitorStateSyncStatusMessage string
MonitorStateSyncStatusMessage is the message reflecting the health of monitor state syncs to Datadog
const ( // MonitorStateSyncStatusOK means syncing is OK MonitorStateSyncStatusOK MonitorStateSyncStatusMessage = "OK" // MonitorStateSyncStatusValidateError means there is a monitor validation error MonitorStateSyncStatusValidateError MonitorStateSyncStatusMessage = "error validating monitor" // MonitorStateSyncStatusUpdateError means there is a monitor update error MonitorStateSyncStatusUpdateError MonitorStateSyncStatusMessage = "error updating monitor" // SyncStatusGetError means there is an error getting the monitor MonitorStateSyncStatusGetError MonitorStateSyncStatusMessage = "error getting monitor" )
type NetworkMonitoringConfig ¶
type NetworkMonitoringConfig struct {
Enabled *bool `json:"enabled,omitempty"`
}
NetworkMonitoringConfig allows configuration of network performance monitoring.
func DefaultDatadogFeatureNetworkMonitoring ¶
func DefaultDatadogFeatureNetworkMonitoring(ft *DatadogFeatures) *NetworkMonitoringConfig
DefaultDatadogFeatureNetworkMonitoring used to default the NetworkMonitoring config
func (*NetworkMonitoringConfig) DeepCopy ¶
func (in *NetworkMonitoringConfig) DeepCopy() *NetworkMonitoringConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkMonitoringConfig.
func (*NetworkMonitoringConfig) DeepCopyInto ¶
func (in *NetworkMonitoringConfig) DeepCopyInto(out *NetworkMonitoringConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkPolicyFlavor ¶
type NetworkPolicyFlavor string
NetworkPolicyFlavor specifies which flavor of Network Policy to use.
const ( // NetworkPolicyFlavorKubernetes refers to `networking.k8s.io/v1/NetworkPolicy` NetworkPolicyFlavorKubernetes NetworkPolicyFlavor = "kubernetes" // NetworkPolicyFlavorCilium refers to `cilium.io/v2/CiliumNetworkPolicy` NetworkPolicyFlavorCilium NetworkPolicyFlavor = "cilium" )
func IsAgentNetworkPolicyEnabled ¶ added in v1.0.0
func IsAgentNetworkPolicyEnabled(dda *DatadogAgent) (bool, NetworkPolicyFlavor)
IsAgentNetworkPolicyEnabled returns whether a network policy should be created for the node agent and which flavor to use
func IsClusterAgentNetworkPolicyEnabled ¶ added in v1.0.0
func IsClusterAgentNetworkPolicyEnabled(dda *DatadogAgent) (bool, NetworkPolicyFlavor)
IsClusterAgentNetworkPolicyEnabled returns whether a network policy should be created for the cluster agent and which flavor to use
type NetworkPolicySpec ¶
type NetworkPolicySpec struct { // If true, create a NetworkPolicy for the current agent. // +optional Create *bool `json:"create,omitempty"` // Which network policy to use. Can be `kubernetes` or `cilium`. // +optional Flavor NetworkPolicyFlavor `json:"flavor,omitempty"` // Cilium selector of the DNS server entity. // +optional // +listType=atomic DNSSelectorEndpoints []metav1.LabelSelector `json:"dnsSelectorEndpoints,omitempty"` }
NetworkPolicySpec provides Network Policy configuration for the agents. +k8s:openapi-gen=true
func DefaultAgentNetworkPolicy ¶
func DefaultAgentNetworkPolicy(agent *DatadogAgentSpecAgentSpec) *NetworkPolicySpec
DefaultAgentNetworkPolicy defaults the Network Policy for the Datadog Agent
func DefaultClusterAgentNetworkPolicy ¶
func DefaultClusterAgentNetworkPolicy(dca *DatadogAgentSpecClusterAgentSpec) *NetworkPolicySpec
DefaultClusterAgentNetworkPolicy defaults the Network Policy for the Datadog Cluster Agent
func DefaultClusterChecksRunnerNetworkPolicy ¶ added in v1.0.0
func DefaultClusterChecksRunnerNetworkPolicy(clc *DatadogAgentSpecClusterChecksRunnerSpec) *NetworkPolicySpec
DefaultClusterChecksRunnerNetworkPolicy defaults the Network Policy for the Cluster Check Runner
func DefaultNetworkPolicy ¶
func DefaultNetworkPolicy(policy *NetworkPolicySpec) *NetworkPolicySpec
DefaultNetworkPolicy is used to default NetworkPolicy. Returns the defaulted NetworkPolicySpec
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 Namespace Labels to Datadog Tags. // <KUBERNETES_LABEL>: <DATADOG_TAG_KEY> // +optional NamespaceLabelsAsTags map[string]string `json:"namespaceLabelsAsTags,omitempty"` // Provide a mapping of Kubernetes Node Labels to Datadog Tags. // <KUBERNETES_LABEL>: <DATADOG_TAG_KEY> // +optional NodeLabelsAsTags map[string]string `json:"nodeLabelsAsTags,omitempty"` // Provide a mapping of Kubernetes Pod Labels to Datadog Tags. // <KUBERNETES_LABEL>: <DATADOG_TAG_KEY> // +optional PodLabelsAsTags map[string]string `json:"podLabelsAsTags,omitempty"` // Provide a mapping of Kubernetes Pod 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"` // Enables this to start event collection from the Kubernetes API. // See also: 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. // See also: 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. // See also: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Command allows the specification of custom entrypoint for the Agent container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,omitempty"` // Configure the Liveness Probe of the Agent container // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"` // Configure the Readiness Probe of the Agent container // +optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"` // HealthPort of the Agent container for internal liveness probe. // Must be the same as the Liveness/Readiness probes. // +optional HealthPort *int32 `json:"healthPort,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"` // KubeletConfig contains the Kubelet configuration parameters // +optional Kubelet *commonv1.KubeletConfig `json:"kubelet,omitempty"` }
NodeAgentConfig contains the configuration of the Node Agent. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentConfig ¶
func DefaultDatadogAgentSpecAgentConfig(agent *DatadogAgentSpecAgentSpec) *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 OTLPGRPCSpec ¶ added in v1.0.0
type OTLPGRPCSpec struct { // Enable the OTLP/gRPC endpoint. // +optional Enabled *bool `json:"enabled,omitempty"` // Endpoint for OTLP/gRPC. // gRPC supports several naming schemes: https://github.com/grpc/grpc/blob/master/doc/naming.md // The Datadog Operator supports only 'host:port' (usually '0.0.0.0:port'). // Default: '0.0.0.0:4317'. // +optional Endpoint *string `json:"endpoint,omitempty"` }
OTLPGRPCSpec contains configuration for the OTLP ingest OTLP/gRPC receiver. +k8s:openapi-gen=true
func (*OTLPGRPCSpec) DeepCopy ¶ added in v1.0.0
func (in *OTLPGRPCSpec) DeepCopy() *OTLPGRPCSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OTLPGRPCSpec.
func (*OTLPGRPCSpec) DeepCopyInto ¶ added in v1.0.0
func (in *OTLPGRPCSpec) DeepCopyInto(out *OTLPGRPCSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OTLPHTTPSpec ¶ added in v1.0.0
type OTLPHTTPSpec struct { // Enable the OTLP/HTTP endpoint. // +optional Enabled *bool `json:"enabled,omitempty"` // Endpoint for OTLP/HTTP. // Default: '0.0.0.0:4318'. // +optional Endpoint *string `json:"endpoint,omitempty"` }
OTLPHTTPSpec contains configuration for the OTLP ingest OTLP/HTTP receiver. +k8s:openapi-gen=true
func (*OTLPHTTPSpec) DeepCopy ¶ added in v1.0.0
func (in *OTLPHTTPSpec) DeepCopy() *OTLPHTTPSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OTLPHTTPSpec.
func (*OTLPHTTPSpec) DeepCopyInto ¶ added in v1.0.0
func (in *OTLPHTTPSpec) DeepCopyInto(out *OTLPHTTPSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OTLPProtocolsSpec ¶ added in v1.0.0
type OTLPProtocolsSpec struct { // GRPC contains configuration for the OTLP ingest OTLP/gRPC receiver. // +optional GRPC *OTLPGRPCSpec `json:"grpc,omitempty"` // HTTP contains configuration for the OTLP ingest OTLP/HTTP receiver. // +optional HTTP *OTLPHTTPSpec `json:"http,omitempty"` }
OTLPProtocolsSpec contains configuration for the OTLP ingest receiver protocols. +k8s:openapi-gen=true
func (*OTLPProtocolsSpec) DeepCopy ¶ added in v1.0.0
func (in *OTLPProtocolsSpec) DeepCopy() *OTLPProtocolsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OTLPProtocolsSpec.
func (*OTLPProtocolsSpec) DeepCopyInto ¶ added in v1.0.0
func (in *OTLPProtocolsSpec) DeepCopyInto(out *OTLPProtocolsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OTLPReceiverSpec ¶ added in v1.0.0
type OTLPReceiverSpec struct { // Protocols contains configuration for the OTLP ingest receiver protocols. Protocols OTLPProtocolsSpec `json:"protocols,omitempty"` }
OTLPReceiverSpec contains configuration for the OTLP ingest receiver. +k8s:openapi-gen=true
func (*OTLPReceiverSpec) DeepCopy ¶ added in v1.0.0
func (in *OTLPReceiverSpec) DeepCopy() *OTLPReceiverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OTLPReceiverSpec.
func (*OTLPReceiverSpec) DeepCopyInto ¶ added in v1.0.0
func (in *OTLPReceiverSpec) DeepCopyInto(out *OTLPReceiverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OTLPSpec ¶ added in v1.0.0
type OTLPSpec struct { // Receiver contains configuration for the OTLP ingest receiver. Receiver OTLPReceiverSpec `json:"receiver,omitempty"` }
OTLPSpec contains configuration for OTLP ingest. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentOTLP ¶ added in v1.0.0
func DefaultDatadogAgentSpecAgentOTLP(agent *DatadogAgentSpecAgentSpec) *OTLPSpec
DefaultDatadogAgentSpecAgentOTLP defaults the OTLP Ingest in the DatadogAgentSpec
func (*OTLPSpec) DeepCopy ¶ added in v1.0.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OTLPSpec.
func (*OTLPSpec) DeepCopyInto ¶ added in v1.0.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OrchestratorExplorerConfig ¶
type OrchestratorExplorerConfig struct { // Enable this to activate live Kubernetes monitoring. // See also: https://docs.datadoghq.com/infrastructure/livecontainers/#kubernetes-resources // // +optional Enabled *bool `json:"enabled,omitempty"` // To override the configuration for the default Orchestrator Explorer check. // Must point to a ConfigMap containing a valid cluster check configuration. Conf *CustomConfigSpec `json:"conf,omitempty"` // ClusterCheck configures the Orchestrator Explorer check as a cluster check. // +optional ClusterCheck *bool `json:"clusterCheck,omitempty"` // +optional // Option to disable scrubbing of sensitive container data (passwords, tokens, etc. ). Scrubbing *Scrubbing `json:"scrubbing,omitempty"` // +optional // Additional endpoints for shipping the collected data as json in the form of {"https://process.agent.datadoghq.com": ["apikey1", ...], ...}'. AdditionalEndpoints *string `json:"additionalEndpoints,omitempty"` // +optional // Set this for the Datadog endpoint for the orchestrator explorer DDUrl *string `json:"ddUrl,omitempty"` // +optional // +listType=set // Additional tags for the collected data in the form of `a b c` // Difference to DD_TAGS: this is a cluster agent option that is used to define custom cluster tags ExtraTags []string `json:"extraTags,omitempty"` }
OrchestratorExplorerConfig contains the orchestrator explorer configuration. The orchestratorExplorer runs in the process-agent and DCA. +k8s:openapi-gen=true
func DefaultDatadogFeatureOrchestratorExplorer ¶
func DefaultDatadogFeatureOrchestratorExplorer(ft *DatadogFeatures, withClusterChecksRunner bool) *OrchestratorExplorerConfig
DefaultDatadogFeatureOrchestratorExplorer used to default an OrchestratorExplorerConfig return the defaulted OrchestratorExplorerConfig
func (*OrchestratorExplorerConfig) DeepCopy ¶
func (in *OrchestratorExplorerConfig) DeepCopy() *OrchestratorExplorerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratorExplorerConfig.
func (*OrchestratorExplorerConfig) DeepCopyInto ¶
func (in *OrchestratorExplorerConfig) DeepCopyInto(out *OrchestratorExplorerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProcessSpec ¶
type ProcessSpec struct { // Enable the Process Agent container. // See also: https://docs.datadoghq.com/infrastructure/process/?tab=kubernetes#installation // // +optional Enabled *bool `json:"enabled,omitempty"` // false (default): Only collect containers if available. // true: collect process information as well. // Note: If enabled, /etc/passwd is automatically mounted to allow username resolution. ProcessCollectionEnabled *bool `json:"processCollectionEnabled,omitempty"` // The Datadog Agent supports many environment variables. // See also: 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 Process Agent container. // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,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. // See also: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Command allows the specification of custom entrypoint for Process Agent container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,omitempty"` }
ProcessSpec contains the Process Agent configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentProcess ¶
func DefaultDatadogAgentSpecAgentProcess(agent *DatadogAgentSpecAgentSpec) *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 PrometheusScrapeConfig ¶
type PrometheusScrapeConfig struct { // Enable autodiscovering pods and services exposing prometheus metrics. // +optional Enabled *bool `json:"enabled,omitempty"` // ServiceEndpoints enables generating dedicated checks for service endpoints. // +optional ServiceEndpoints *bool `json:"serviceEndpoints,omitempty"` // AdditionalConfigs allows adding advanced prometheus check configurations with custom discovery rules. // +optional AdditionalConfigs *string `json:"additionalConfigs,omitempty"` }
PrometheusScrapeConfig allows configuration of the Prometheus Autodiscovery feature. +k8s:openapi-gen=true
func DefaultDatadogFeaturePrometheusScrape ¶
func DefaultDatadogFeaturePrometheusScrape(ft *DatadogFeatures) *PrometheusScrapeConfig
DefaultDatadogFeaturePrometheusScrape used to default the Prometheus Scrape config
func (*PrometheusScrapeConfig) DeepCopy ¶
func (in *PrometheusScrapeConfig) DeepCopy() *PrometheusScrapeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusScrapeConfig.
func (*PrometheusScrapeConfig) DeepCopyInto ¶
func (in *PrometheusScrapeConfig) DeepCopyInto(out *PrometheusScrapeConfig)
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(agent *DatadogAgentSpecAgentSpec) *RbacConfig
DefaultDatadogAgentSpecRbacConfig used to default a RbacConfig return the defaulted RbacConfig
func DefaultDatadogClusterAgentSpecRbacConfig ¶
func DefaultDatadogClusterAgentSpecRbacConfig(dca *DatadogAgentSpecClusterAgentSpec) *RbacConfig
DefaultDatadogClusterAgentSpecRbacConfig used to default a RbacConfig of the Cluster Agent
func DefaultDatadogClusterChecksRunnerSpecRbacConfig ¶ added in v1.0.0
func DefaultDatadogClusterChecksRunnerSpecRbacConfig(clc *DatadogAgentSpecClusterChecksRunnerSpec) *RbacConfig
DefaultDatadogClusterChecksRunnerSpecRbacConfig used to default a RbacConfig of the Cluster Check Runner
func DefaultRbacConfig ¶
func DefaultRbacConfig(rbac *RbacConfig) *RbacConfig
DefaultRbacConfig defaults the RBAC section of the DatadogAgent
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 Scrubbing ¶
type Scrubbing struct { // Deactivate this to stop the scrubbing of sensitive container data (passwords, tokens, etc. ). Containers *bool `json:"containers,omitempty"` }
Scrubbing contains configuration to enable or disable scrubbing options
func (*Scrubbing) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scrubbing.
func (*Scrubbing) 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. // See also: 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 Security Agent container. // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,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. // See also: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Command allows the specification of custom entrypoint for Security Agent container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,omitempty"` }
SecuritySpec contains the Security Agent configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentSecurity ¶
func DefaultDatadogAgentSpecAgentSecurity(agent *DatadogAgentSpecAgentSpec) *SecuritySpec
DefaultDatadogAgentSpecAgentSecurity defaults the Security Agent in the DatadogAgentSpec
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. // See also: https://docs.datadoghq.com/infrastructure/process/?tab=kubernetes#installation // +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. // This ConfigMap must contain a file named system-probe-seccomp.json. // +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. // See also: 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"` // Enable custom configuration for system-probe, corresponding to the system-probe.yaml config file. // This custom configuration has less priority than all settings above. // +optional CustomConfig *CustomConfigSpec `json:"customConfig,omitempty"` // The Datadog SystemProbe supports many environment variables. // See also: 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 Security Agent container. // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Datadog SystemProbe resource requests and limits. // Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class. // See also: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Command allows the specification of custom entrypoint for System Probe container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,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 DefaultDatadogAgentSpecAgentSystemProbe ¶
func DefaultDatadogAgentSpecAgentSystemProbe(agent *DatadogAgentSpecAgentSpec) *SystemProbeSpec
DefaultDatadogAgentSpecAgentSystemProbe defaults the System Probe This method can be re-run as part of the FeatureOverride
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.
Source Files ¶
- const.go
- datadogagent_conversion.go
- datadogagent_conversion_agent.go
- datadogagent_conversion_ccr.go
- datadogagent_conversion_dca.go
- datadogagent_default.go
- datadogagent_types.go
- datadogagent_validation.go
- datadogmetric_types.go
- datadogmonitor_types.go
- datadogmonitor_validation.go
- datadogslo_types.go
- datadogslo_validation.go
- doc.go
- groupversion_info.go
- secret.go
- utils.go
- zz_generated.deepcopy.go
- zz_generated.openapi.go