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 BoolToString(b *bool) string
- func BoolValue(b *bool) bool
- func FeatureOverride(dda *DatadogAgentSpec, dso *DatadogAgentSpec)
- func GetDefaultLivenessProbe() *corev1.Probe
- func GetDefaultReadinessProbe() *corev1.Probe
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- func IsEqualStruct(in interface{}, cmp interface{}) bool
- func IsValidCustomConfigSpec(ccs *CustomConfigSpec) error
- func IsValidDatadogAgent(spec *DatadogAgentSpec) error
- func IsValidDatadogMonitor(spec *DatadogMonitorSpec) error
- func Kind(kind string) schema.GroupKind
- func NewBoolPointer(b bool) *bool
- func NewInt32Pointer(i int32) *int32
- func NewInt64Pointer(i int64) *int64
- func NewStringPointer(s string) *string
- func Resource(resource string) schema.GroupResource
- type APMSpec
- type 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 DaemonSetStatus
- 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 DatadogMonitorDowntimeStatus
- type DatadogMonitorList
- type DatadogMonitorOptions
- type DatadogMonitorOptionsThresholdWindows
- type DatadogMonitorOptionsThresholds
- type DatadogMonitorSpec
- type DatadogMonitorState
- type DatadogMonitorStatus
- type DatadogMonitorTriggeredState
- type DatadogMonitorType
- type DeploymentStatus
- type DogstatsdConfig
- type ExternalMetricsConfig
- type ImageConfig
- func DefaultDatadogAgentSpecAgentImage(agent *DatadogAgentSpecAgentSpec, name, tag string) *ImageConfig
- func DefaultDatadogAgentSpecClusterChecksRunnerImage(clc *DatadogAgentSpecClusterChecksRunnerSpec, name, tag string) *ImageConfig
- func DefaultDatadogClusterAgentImage(dca *DatadogAgentSpecClusterAgentSpec, name, tag string) *ImageConfig
- type KubeStateMetricsCore
- type KubeletConfig
- type LogCollectionConfig
- type NetworkMonitoringConfig
- type NetworkPolicySpec
- func DefaultAgentNetworkPolicy(agent *DatadogAgentSpecAgentSpec) *NetworkPolicySpec
- func DefaultClusterAgentNetworkPolicy(dca *DatadogAgentSpecClusterAgentSpec) *NetworkPolicySpec
- func DefaultClusterCheckRunnerNetworkPolicy(clc *DatadogAgentSpecClusterChecksRunnerSpec) *NetworkPolicySpec
- func DefaultNetworkPolicy(policy *NetworkPolicySpec) *NetworkPolicySpec
- type NodeAgentConfig
- type OrchestratorExplorerConfig
- type ProcessSpec
- type PrometheusScrapeConfig
- type RbacConfig
- func DefaultDatadogAgentSpecRbacConfig(agent *DatadogAgentSpecAgentSpec) *RbacConfig
- func DefaultDatadogClusterAgentSpecRbacConfig(dca *DatadogAgentSpecClusterAgentSpec) *RbacConfig
- func DefaultDatadogClusterCheckRunnerSpecRbacConfig(clc *DatadogAgentSpecClusterChecksRunnerSpec) *RbacConfig
- func DefaultRbacConfig(rbac *RbacConfig) *RbacConfig
- type RuntimeSecuritySpec
- type Scrubbing
- type Secret
- type SecuritySpec
- type SyncStatusMessage
- type SyscallMonitorSpec
- type SystemProbeSpec
Constants ¶
const ( // AgentDeploymentNameLabelKey label key use to link a Resource to a DatadogAgent AgentDeploymentNameLabelKey = "agent.datadoghq.com/name" // AgentDeploymentComponentLabelKey label key use to know with component is it AgentDeploymentComponentLabelKey = "agent.datadoghq.com/component" // MD5AgentDeploymentAnnotationKey annotation key used on a Resource in order to identify which AgentDeployment have been used to generate it. MD5AgentDeploymentAnnotationKey = "agent.datadoghq.com/agentspechash" // DefaultAgentResourceSuffix use as suffix for agent resource naming DefaultAgentResourceSuffix = "agent" // DefaultClusterAgentResourceSuffix use as suffix for cluster-agent resource naming DefaultClusterAgentResourceSuffix = "cluster-agent" // DefaultClusterChecksRunnerResourceSuffix use as suffix for cluster-checks-runner resource naming DefaultClusterChecksRunnerResourceSuffix = "cluster-checks-runner" // DefaultMetricsServerResourceSuffix use as suffix for cluster-agent metrics-server resource naming DefaultMetricsServerResourceSuffix = "cluster-agent-metrics-server" // DefaultAPPKeyKey default app-key key (use in secret for instance). DefaultAPPKeyKey = "app_key" // DefaultAPIKeyKey default api-key key (use in secret for instance). DefaultAPIKeyKey = "api_key" // DefaultTokenKey default token key (use in secret for instance). DefaultTokenKey = "token" // DefaultClusterAgentServicePort default cluster-agent service port DefaultClusterAgentServicePort = 5005 // DefaultMetricsServerServicePort default metrics-server port DefaultMetricsServerServicePort = 443 // DefaultMetricsServerTargetPort default metrics-server pod port DefaultMetricsServerTargetPort = int(defaultMetricsProviderPort) // DefaultAdmissionControllerServicePort default admission controller service port DefaultAdmissionControllerServicePort = 443 // DefaultAdmissionControllerTargetPort default admission controller pod port DefaultAdmissionControllerTargetPort = 8000 // DefaultDogstatsdPort default dogstatsd port DefaultDogstatsdPort = 8125 )
const ( DatadogHost = "DATADOG_HOST" DDAPIKey = "DD_API_KEY" DDClusterName = "DD_CLUSTER_NAME" DDSite = "DD_SITE" DDddURL = "DD_DD_URL" DDHealthPort = "DD_HEALTH_PORT" DDLogLevel = "DD_LOG_LEVEL" DDPodLabelsAsTags = "DD_KUBERNETES_POD_LABELS_AS_TAGS" DDPodAnnotationsAsTags = "DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS" DDTags = "DD_TAGS" DDCollectKubeEvents = "DD_COLLECT_KUBERNETES_EVENTS" DDLeaderElection = "DD_LEADER_ELECTION" DDLogsEnabled = "DD_LOGS_ENABLED" DDLogsConfigContainerCollectAll = "DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL" DDLogsContainerCollectUsingFiles = "DD_LOGS_CONFIG_K8S_CONTAINER_USE_FILE" DDLogsConfigOpenFilesLimit = "DD_LOGS_CONFIG_OPEN_FILES_LIMIT" DDDogstatsdEnabled = "DD_USE_DOGSTATSD" DDDogstatsdOriginDetection = "DD_DOGSTATSD_ORIGIN_DETECTION" DDDogstatsdPort = "DD_DOGSTATSD_PORT" DDDogstatsdSocket = "DD_DOGSTATSD_SOCKET" DDDogstatsdMapperProfiles = "DD_DOGSTATSD_MAPPER_PROFILES" DDClusterAgentEnabled = "DD_CLUSTER_AGENT_ENABLED" DDClusterAgentKubeServiceName = "DD_CLUSTER_AGENT_KUBERNETES_SERVICE_NAME" DDClusterAgentAuthToken = "DD_CLUSTER_AGENT_AUTH_TOKEN" DDMetricsProviderEnabled = "DD_EXTERNAL_METRICS_PROVIDER_ENABLED" DDMetricsProviderPort = "DD_EXTERNAL_METRICS_PROVIDER_PORT" DDMetricsProviderUseDatadogMetric = "DD_EXTERNAL_METRICS_PROVIDER_USE_DATADOGMETRIC_CRD" DDMetricsProviderWPAController = "DD_EXTERNAL_METRICS_PROVIDER_WPA_CONTROLLER" DDAppKey = "DD_APP_KEY" DDClusterChecksEnabled = "DD_CLUSTER_CHECKS_ENABLED" DDIgnoreAutoConf = "DD_IGNORE_AUTOCONF" DDKubeStateMetricsCoreEnabled = "DD_KUBE_STATE_METRICS_CORE_ENABLED" DDKubeStateMetricsCoreConfigMap = "DD_KUBE_STATE_METRICS_CORE_CONFIGMAP_NAME" DDClcRunnerEnabled = "DD_CLC_RUNNER_ENABLED" DDClcRunnerHost = "DD_CLC_RUNNER_HOST" DDClcRunnerID = "DD_CLC_RUNNER_ID" DDExtraConfigProviders = "DD_EXTRA_CONFIG_PROVIDERS" DDExtraListeners = "DD_EXTRA_LISTENERS" DDHostname = "DD_HOSTNAME" DDAPMEnabled = "DD_APM_ENABLED" DDPPMReceiverSocket = "DD_APM_RECEIVER_SOCKET" DDProcessAgentEnabled = "DD_PROCESS_AGENT_ENABLED" DDSystemProbeAgentEnabled = "DD_SYSTEM_PROBE_ENABLED" DDSystemProbeSocketPath = "DD_SYSPROBE_SOCKET" DDSystemProbeCollectDNSStatsEnabled = "DD_COLLECT_DNS_STATS" DDSystemProbeNPMEnabled = "DD_SYSTEM_PROBE_NETWORK_ENABLED" DDSystemProbeEnvPrefix = "DD_SYSTEM_PROBE_CONFIG_" DDSystemProbeDebugPort = DDSystemProbeEnvPrefix + "DEBUG_PORT" DDSystemProbeConntrackEnabled = DDSystemProbeEnvPrefix + "ENABLE_CONNTRACK" DDSystemProbeBPFDebugEnabled = DDSystemProbeEnvPrefix + "BPF_DEBUG" DDSystemProbeTCPQueueLengthEnabled = DDSystemProbeEnvPrefix + "ENABLE_TCP_QUEUE_LENGTH" DDSystemProbeOOMKillEnabled = DDSystemProbeEnvPrefix + "ENABLE_OOM_KILL" DDEnableMetadataCollection = "DD_ENABLE_METADATA_COLLECTION" DDKubeletHost = "DD_KUBERNETES_KUBELET_HOST" DDKubeletTLSVerify = "DD_KUBELET_TLS_VERIFY" DDKubeletCAPath = "DD_KUBELET_CLIENT_CA" DDCriSocketPath = "DD_CRI_SOCKET_PATH" DockerHost = "DOCKER_HOST" DDAdmissionControllerEnabled = "DD_ADMISSION_CONTROLLER_ENABLED" DDAdmissionControllerMutateUnlabelled = "DD_ADMISSION_CONTROLLER_MUTATE_UNLABELLED" DDAdmissionControllerInjectConfig = "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_ENABLED" DDAdmissionControllerInjectTags = "DD_ADMISSION_CONTROLLER_INJECT_TAGS_ENABLED" DDAdmissionControllerServiceName = "DD_ADMISSION_CONTROLLER_SERVICE_NAME" DDComplianceConfigEnabled = "DD_COMPLIANCE_CONFIG_ENABLED" DDComplianceConfigCheckInterval = "DD_COMPLIANCE_CONFIG_CHECK_INTERVAL" DDComplianceConfigDir = "DD_COMPLIANCE_CONFIG_DIR" DDRuntimeSecurityConfigEnabled = "DD_RUNTIME_SECURITY_CONFIG_ENABLED" DDRuntimeSecurityConfigPoliciesDir = "DD_RUNTIME_SECURITY_CONFIG_POLICIES_DIR" DDRuntimeSecurityConfigSocket = "DD_RUNTIME_SECURITY_CONFIG_SOCKET" DDRuntimeSecurityConfigSyscallMonitorEnabled = "DD_RUNTIME_SECURITY_CONFIG_SYSCALL_MONITOR_ENABLED" DDRuntimeSecurityConfigRemoteTaggerEnabled = "DD_RUNTIME_SECURITY_CONFIG_REMOTE_TAGGER" DDExternalMetricsProviderEndpoint = "DD_EXTERNAL_METRICS_PROVIDER_ENDPOINT" DDPrometheusScrapeEnabled = "DD_PROMETHEUS_SCRAPE_ENABLED" DDPrometheusScrapeServiceEndpoints = "DD_PROMETHEUS_SCRAPE_SERVICE_ENDPOINTS" DDPrometheusScrapeChecks = "DD_PROMETHEUS_SCRAPE_CHECKS" DDExternalMetricsProviderAPIKey = "DD_EXTERNAL_METRICS_PROVIDER_API_KEY" DDExternalMetricsProviderAppKey = "DD_EXTERNAL_METRICS_PROVIDER_APP_KEY" DDAuthTokenFilePath = "DD_AUTH_TOKEN_FILE_PATH" // KubernetesEnvvarName Env var used by the Datadog Agent container entrypoint // to add kubelet config provider and listener KubernetesEnvvarName = "KUBERNETES" LogDatadogVolumeName = "logdatadog" LogDatadogVolumePath = "/var/log/datadog" APMSocketVolumeName = "apmsocket" APMSocketVolumePath = "/var/run/datadog/apm" InstallInfoVolumeName = "installinfo" InstallInfoVolumeSubPath = "install_info" InstallInfoVolumePath = "/etc/datadog-agent/install_info" InstallInfoVolumeReadOnly = true ConfdVolumeName = "confd" ConfdVolumePath = "/conf.d" ChecksdVolumeName = "checksd" ChecksdVolumePath = "/checks.d" ConfigVolumeName = "config" ConfigVolumePath = "/etc/datadog-agent" AuthVolumeName = "datadog-agent-auth" AuthVolumePath = "/etc/datadog-agent/auth" ProcVolumeName = "procdir" ProcVolumePath = "/host/proc" ProcVolumeReadOnly = true PasswdVolumeName = "passwd" PasswdVolumePath = "/etc/passwd" GroupVolumeName = "group" GroupVolumePath = "/etc/group" HostRootVolumeName = "hostroot" HostRootVolumePath = "/host/root" CgroupsVolumeName = "cgroups" CgroupsVolumePath = "/host/sys/fs/cgroup" CgroupsVolumeReadOnly = true SystemProbeSocketVolumeName = "sysprobe-socket-dir" SystemProbeSocketVolumePath = "/var/run/sysprobe" CriSocketVolumeName = "runtimesocketdir" CriSocketVolumeReadOnly = true DogstatsdSocketVolumeName = "dsdsocket" DogstatsdSocketVolumePath = "/var/run/datadog/statsd" KubeStateMetricCoreVolumeName = "ksm-core-config" 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" SystemProbeConfigVolumePath = "/etc/datadog-agent/system-probe.yaml" SystemProbeConfigVolumeSubPath = "system-probe.yaml" SystemProbeAgentSecurityVolumeName = "datadog-agent-security" SystemProbeAgentSecurityVolumePath = "/etc/config" SystemProbeSecCompRootVolumeName = "seccomp-root" SystemProbeSecCompRootVolumePath = "/host/var/lib/kubelet/seccomp" SystemProbeLibModulesVolumeName = "modules" SystemProbeLibModulesVolumePath = "/lib/modules" SystemProbeUsrSrcVolumeName = "src" SystemProbeUsrSrcVolumePath = "/usr/src" AgentCustomConfigVolumeName = "custom-datadog-yaml" AgentCustomConfigVolumePath = "/etc/datadog-agent/datadog.yaml" AgentCustomConfigVolumeSubPath = "datadog.yaml" KubeletCAVolumeName = "kubelet-ca" DefaultKubeletAgentCAPath = "/var/run/host-kubelet-ca.crt" OrchestratorExplorerConfigVolumeName = "orchestrator-explorer-config" HostCriSocketPathPrefix = "/host" SecurityAgentRuntimeCustomPoliciesVolumeName = "customruntimepolicies" SecurityAgentRuntimePoliciesDirVolumeName = "runtimepoliciesdir" SecurityAgentRuntimePoliciesDirVolumePath = "/etc/datadog-agent/runtime-security.d" SecurityAgentComplianceConfigDirVolumeName = "compliancedir" SecurityAgentComplianceConfigDirVolumePath = "/etc/datadog-agent/compliance.d" ClusterAgentCustomConfigVolumeName = "custom-datadog-yaml" ClusterAgentCustomConfigVolumePath = "/etc/datadog-agent/datadog-cluster.yaml" ClusterAgentCustomConfigVolumeSubPath = "datadog-cluster.yaml" 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" KubeServicesConfigProvider = "kube_services" KubeEndpointsConfigProvider = "kube_endpoints" KubeServicesAndEndpointsConfigProviders = "kube_services kube_endpoints" ClusterChecksConfigProvider = "clusterchecks" EndpointsChecksConfigProvider = "endpointschecks" ClusterAndEndpointsConfigPoviders = "clusterchecks endpointschecks" KubeServicesListener = "kube_services" KubeEndpointsListener = "kube_endpoints" KubeServicesAndEndpointsListeners = "kube_services kube_endpoints" CoreAPIGroup = "" ExtensionsAPIGroup = "extensions" OpenShiftQuotaAPIGroup = "quota.openshift.io" RbacAPIGroup = "rbac.authorization.k8s.io" AutoscalingAPIGroup = "autoscaling" CertificatesAPIGroup = "certificates.k8s.io" StorageAPIGroup = "storage.k8s.io" CoordinationAPIGroup = "coordination.k8s.io" DatadogAPIGroup = "datadoghq.com" AdmissionAPIGroup = "admissionregistration.k8s.io" AppsAPIGroup = "apps" BatchAPIGroup = "batch" PolicyAPIGroup = "policy" NetworkingAPIGroup = "networking.k8s.io" ServicesResource = "services" EventsResource = "events" EndpointsResource = "endpoints" PodsResource = "pods" NodesResource = "nodes" ComponentStatusesResource = "componentstatuses" CertificatesSigningRequestsResource = "certificatesigningrequests" ConfigMapsResource = "configmaps" ResourceQuotasResource = "resourcequotas" ReplicationControllersResource = "replicationcontrollers" LimitRangesResource = "limitranges" PersistentVolumeClaimsResource = "persistentvolumeclaims" PersistentVolumesResource = "persistentvolumes" LeasesResource = "leases" ClusterResourceQuotasResource = "clusterresourcequotas" NodeMetricsResource = "nodes/metrics" NodeSpecResource = "nodes/spec" NodeProxyResource = "nodes/proxy" NodeStats = "nodes/stats" HorizontalPodAutoscalersRecource = "horizontalpodautoscalers" DatadogMetricsResource = "datadogmetrics" DatadogMetricsStatusResource = "datadogmetrics/status" WpaResource = "watermarkpodautoscalers" MutatingConfigResource = "mutatingwebhookconfigurations" ValidatingConfigResource = "validatingwebhookconfigurations" SecretsResource = "secrets" PodDisruptionBudgetsResource = "poddisruptionbudgets" ReplicasetsResource = "replicasets" DeploymentsResource = "deployments" StatefulsetsResource = "statefulsets" DaemonsetsResource = "daemonsets" JobsResource = "jobs" CronjobsResource = "cronjobs" StorageClassesResource = "storageclasses" VolumeAttachments = "volumeattachments" ExtendedDaemonSetReplicaSetResource = "extendeddaemonsetreplicasets" ServiceAccountResource = "serviceaccounts" NamespaceResource = "namespaces" PodSecurityPolicyResource = "podsecuritypolicies" ClusterRoleBindingResource = "clusterrolebindings" RoleBindingResource = "rolebindings" NetworkPolicyResource = "networkpolicies" IngressesResource = "ingresses" DatadogTokenResourceName = "datadogtoken" DatadogLeaderElectionResourceName = "datadog-leader-election" DatadogCustomMetricsResourceName = "datadog-custom-metrics" DatadogClusterIDResourceName = "datadog-cluster-id" ExtensionAPIServerAuthResourceName = "extension-apiserver-authentication" KubeSystemResourceName = "kube-system" VersionURL = "/version" HealthzURL = "/healthz" MetricsURL = "/metrics" GetVerb = "get" ListVerb = "list" WatchVerb = "watch" UpdateVerb = "update" CreateVerb = "create" DeleteVerb = "delete" ClusterRoleKind = "ClusterRole" RoleKind = "Role" ServiceAccountKind = "ServiceAccount" )
Datadog env var names
const ( DefaultSeccompProfileName string = "localhost/system-probe" DefaultOrchestratorExplorerConf string = "orchestrator-explorer-config" DefaultKubeStateMetricsCoreConf string = "kube-state-metrics-core-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 BoolToString ¶
BoolToString return "true" if b == true, else "false"
func FeatureOverride ¶ added in v0.7.0
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 GetDefaultLivenessProbe ¶ added in v0.7.0
GetDefaultLivenessProbe creates a all defaulted LivenessProbe
func GetDefaultReadinessProbe ¶ added in v0.7.0
GetDefaultReadinessProbe creates a all defaulted ReadynessProbe
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
func IsEqualStruct ¶ added in v0.7.0
func IsEqualStruct(in interface{}, cmp interface{}) bool
IsEqualStruct is a util fonction that returns whether 2 structures are the same We compare the marchaled results to avoid traversing all fields and be agnostic of the struct.
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 ¶ added in v0.6.0
func IsValidDatadogMonitor(spec *DatadogMonitorSpec) error
IsValidDatadogMonitor use to check if a DatadogMonitorSpec is valid by checking that the required fields are defined
func NewBoolPointer ¶
NewBoolPointer returns pointer on a new bool value instance
func NewInt32Pointer ¶
NewInt32Pointer returns pointer on a new int32 value instance
func NewInt64Pointer ¶
NewInt64Pointer returns pointer on a new int32 value instance
func NewStringPointer ¶
NewStringPointer returns pointer on a new string value instance
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type APMSpec ¶
type APMSpec struct { // Enable this to enable APM and tracing, on port 8126. // 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 ¶ added in v0.5.0
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 ¶ added in v0.5.0
func DefaultDatadogAgentSpecAgentApmUDS(apm *APMSpec) *APMUnixDomainSocketSpec
DefaultDatadogAgentSpecAgentApmUDS used to default APMUnixDomainSocketSpec rreturn the defaulted APMUnixDomainSocketSpec
func (*APMUnixDomainSocketSpec) DeepCopy ¶ added in v0.5.0
func (in *APMUnixDomainSocketSpec) DeepCopy() *APMUnixDomainSocketSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APMUnixDomainSocketSpec.
func (*APMUnixDomainSocketSpec) DeepCopyInto ¶ added in v0.5.0
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"` }
AdmissionControllerConfig contains the configuration of the admission controller in Cluster Agent. +k8s:openapi-gen=true
func DefaultAdmissionController ¶ added in v0.7.0
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. // If `useSecretBackend: true`, other credential parameters will be ignored. // default value is false. UseSecretBackend *bool `json:"useSecretBackend,omitempty"` }
AgentCredentials contains credentials values to configure the Agent. +k8s:openapi-gen=true
func (*AgentCredentials) DeepCopy ¶
func (in *AgentCredentials) DeepCopy() *AgentCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentCredentials.
func (*AgentCredentials) DeepCopyInto ¶
func (in *AgentCredentials) DeepCopyInto(out *AgentCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CRISocketConfig ¶
type CRISocketConfig struct { // Path to the docker runtime socket. // +optional DockerSocketPath *string `json:"dockerSocketPath,omitempty"` // Path to the container runtime socket (if different from Docker). // This is supported starting from agent 6.6.0. // +optional CriSocketPath *string `json:"criSocketPath,omitempty"` }
CRISocketConfig contains the CRI socket configuration parameters. +k8s:openapi-gen=true
func DefaultContainerSocket ¶ added in v0.7.0
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 { ExternalMetrics *ExternalMetricsConfig `json:"externalMetrics,omitempty"` // Configure the Admission Controller. AdmissionController *AdmissionControllerConfig `json:"admissionController,omitempty"` // Enable the Cluster Checks and Endpoint Checks feature on both the cluster-agents and the daemonset. // 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 Liness/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 { // 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 Liness/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 ¶ added in v0.5.0
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 ¶ added in v0.5.0
func DefaultConfigDogstatsdUDS(dsd *DogstatsdConfig) *DSDUnixDomainSocketSpec
DefaultConfigDogstatsdUDS used to default DSDUnixDomainSocketSpec return the defaulted DSDUnixDomainSocketSpec
func (*DSDUnixDomainSocketSpec) DeepCopy ¶ added in v0.5.0
func (in *DSDUnixDomainSocketSpec) DeepCopy() *DSDUnixDomainSocketSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DSDUnixDomainSocketSpec.
func (*DSDUnixDomainSocketSpec) DeepCopyInto ¶ added in v0.5.0
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 maxinum number of not scheduled on its Node due to a // scheduler failure: resource constraints. Value can be an absolute number (ex: 5) or a percentage of total // number of DaemonSet pods at the start of the update (ex: 10%). Absolute MaxPodSchedulerFailure *intstr.IntOrString `json:"maxPodSchedulerFailure,omitempty"` // The maxium number of pods created in parallel. // Default value is 250. MaxParallelPodCreation *int32 `json:"maxParallelPodCreation,omitempty"` // SlowStartIntervalDuration the duration between to 2 // Default value is 1min. SlowStartIntervalDuration *metav1.Duration `json:"slowStartIntervalDuration,omitempty"` // SlowStartAdditiveIncrease // Value can be an absolute number (ex: 5) or a percentage of total // number of DaemonSet pods at the start of the update (ex: 10%). // Default value is 5. SlowStartAdditiveIncrease *intstr.IntOrString `json:"slowStartAdditiveIncrease,omitempty"` }
DaemonSetRollingUpdateSpec contains configuration fields of the rolling update strategy. The configuration is shared between DaemonSet and ExtendedDaemonSet. +k8s:openapi-gen=true
func (*DaemonSetRollingUpdateSpec) DeepCopy ¶
func (in *DaemonSetRollingUpdateSpec) DeepCopy() *DaemonSetRollingUpdateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaemonSetRollingUpdateSpec.
func (*DaemonSetRollingUpdateSpec) DeepCopyInto ¶
func (in *DaemonSetRollingUpdateSpec) DeepCopyInto(out *DaemonSetRollingUpdateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonSetStatus ¶
type DaemonSetStatus struct { Desired int32 `json:"desired"` Current int32 `json:"current"` Ready int32 `json:"ready"` Available int32 `json:"available"` UpToDate int32 `json:"upToDate"` Status string `json:"status,omitempty"` State string `json:"state,omitempty"` LastUpdate *metav1.Time `json:"lastUpdate,omitempty"` CurrentHash string `json:"currentHash,omitempty"` // DaemonsetName corresponds to the name of the created DaemonSet. DaemonsetName string `json:"daemonsetName,omitempty"` }
DaemonSetStatus defines the observed state of Agent running as DaemonSet. +k8s:openapi-gen=true
func (*DaemonSetStatus) DeepCopy ¶
func (in *DaemonSetStatus) DeepCopy() *DaemonSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaemonSetStatus.
func (*DaemonSetStatus) DeepCopyInto ¶
func (in *DaemonSetStatus) DeepCopyInto(out *DaemonSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgent ¶
type DatadogAgent struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DatadogAgentSpec `json:"spec,omitempty"` Status DatadogAgentStatus `json:"status,omitempty"` }
DatadogAgent Deployment with Datadog Operator. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogagents,shortName=dd +kubebuilder:printcolumn:name="active",type="string",JSONPath=".status.conditions[?(@.type=='Active')].status" +kubebuilder:printcolumn:name="agent",type="string",JSONPath=".status.agent.status" +kubebuilder:printcolumn:name="cluster-agent",type="string",JSONPath=".status.clusterAgent.status" +kubebuilder:printcolumn:name="cluster-checks-runner",type="string",JSONPath=".status.clusterChecksRunner.status" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true +genclient
func (*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 *ImageConfig `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"` // 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"` }
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 *ImageConfig `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 *ImageConfig `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 *DaemonSetStatus `json:"agent,omitempty"` // The actual state of the Cluster Agent as a deployment. // +optional ClusterAgent *DeploymentStatus `json:"clusterAgent,omitempty"` // The actual state of the Cluster Checks Runner as a deployment. // +optional ClusterChecksRunner *DeploymentStatus `json:"clusterChecksRunner,omitempty"` // Conditions Represents the latest available observations of a DatadogAgent's current state. // +listType=map // +listMapKey=type Conditions []DatadogAgentCondition `json:"conditions,omitempty"` }
DatadogAgentStatus defines the observed state of DatadogAgent. +k8s:openapi-gen=true
func 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 ¶ added in v0.5.0
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 *Secret `json:"apiSecret,omitempty"` // If you are using clusterAgent.metricsProvider.enabled = true, you must set // a Datadog application key for read access to your metrics. // +optional AppKey string `json:"appKey,omitempty"` // AppKeyExistingSecret is DEPRECATED. // In order to pass the APP key through an existing secret, please consider "appSecret" instead. // If set, this parameter takes precedence over "appKey". // +optional // +deprecated AppKeyExistingSecret string `json:"appKeyExistingSecret,omitempty"` // APPSecret Use existing Secret which stores API key instead of creating a new one. // If set, this parameter takes precedence over "apiKey" and "appKeyExistingSecret". // +optional APPSecret *Secret `json:"appSecret,omitempty"` }
DatadogCredentials is a generic structure that holds credentials to access Datadog. +k8s:openapi-gen=true
func (*DatadogCredentials) DeepCopy ¶ added in v0.5.0
func (in *DatadogCredentials) DeepCopy() *DatadogCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogCredentials.
func (*DatadogCredentials) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
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 ¶ added in v0.5.0
func DefaultFeatures(dda *DatadogAgent) *DatadogFeatures
DefaultFeatures used to initialized the Features' default values if necessary
func (*DatadogFeatures) DeepCopy ¶ added in v0.5.0
func (in *DatadogFeatures) DeepCopy() *DatadogFeatures
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogFeatures.
func (*DatadogFeatures) DeepCopyInto ¶ added in v0.5.0
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"` }
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 ¶ added in v0.5.0
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 transition",type="string",JSONPath=".status.monitorStateLastTransitionTime" +kubebuilder:printcolumn:name="last 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 ¶ added in v0.5.0
func (in *DatadogMonitor) DeepCopy() *DatadogMonitor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitor.
func (*DatadogMonitor) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *DatadogMonitor) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMonitorCondition ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *DatadogMonitorCondition) DeepCopy() *DatadogMonitorCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorCondition.
func (*DatadogMonitorCondition) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
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 DatadogMonitorDowntimeStatus ¶ added in v0.5.0
type DatadogMonitorDowntimeStatus struct { IsDowntimed bool `json:"isDowntimed,omitempty"` DowntimeID int `json:"downtimeId,omitempty"` }
DatadogMonitorDowntimeStatus represents the downtime status of a DatadogMonitor
func (*DatadogMonitorDowntimeStatus) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitorDowntimeStatus) DeepCopy() *DatadogMonitorDowntimeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorDowntimeStatus.
func (*DatadogMonitorDowntimeStatus) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *DatadogMonitorList) DeepCopy() *DatadogMonitorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorList.
func (*DatadogMonitorList) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *DatadogMonitorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMonitorOptions ¶ added in v0.5.0
type DatadogMonitorOptions struct { // 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. NewHostDelay *int64 `json:"newHostDelay,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
func (*DatadogMonitorOptions) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitorOptions) DeepCopy() *DatadogMonitorOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptions.
func (*DatadogMonitorOptions) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.6.0
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
func (*DatadogMonitorOptionsThresholdWindows) DeepCopy ¶ added in v0.6.0
func (in *DatadogMonitorOptionsThresholdWindows) DeepCopy() *DatadogMonitorOptionsThresholdWindows
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsThresholdWindows.
func (*DatadogMonitorOptionsThresholdWindows) DeepCopyInto ¶ added in v0.6.0
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 ¶ added in v0.6.0
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
func (*DatadogMonitorOptionsThresholds) DeepCopy ¶ added in v0.6.0
func (in *DatadogMonitorOptionsThresholds) DeepCopy() *DatadogMonitorOptionsThresholds
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsThresholds.
func (*DatadogMonitorOptionsThresholds) DeepCopyInto ¶ added in v0.6.0
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 ¶ added in v0.5.0
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"` // Tags is the monitor tags associated with your monitor 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"` }
DatadogMonitorSpec defines the desired state of DatadogMonitor
func (*DatadogMonitorSpec) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitorSpec) DeepCopy() *DatadogMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorSpec.
func (*DatadogMonitorSpec) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
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 ¶ added in v0.5.0
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"` // 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"` // SyncStatus shows the health of syncing the monitor state to Datadog SyncStatus SyncStatusMessage `json:"syncStatus,omitempty"` // TriggeredState only includes details for monitor groups that are triggering 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
func (*DatadogMonitorStatus) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitorStatus) DeepCopy() *DatadogMonitorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorStatus.
func (*DatadogMonitorStatus) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
type DatadogMonitorTriggeredState struct { // MonitorGroup is the name of the triggering group MonitorGroup string `json:"monitorGroup,omitempty"` 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
func (*DatadogMonitorTriggeredState) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitorTriggeredState) DeepCopy() *DatadogMonitorTriggeredState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorTriggeredState.
func (*DatadogMonitorTriggeredState) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
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" // DatadogMonitorTypeComposite is the composite alert monitor type DatadogMonitorTypeComposite DatadogMonitorType = "composite" )
type DeploymentStatus ¶
type DeploymentStatus struct { // Total number of non-terminated pods targeted by this deployment (their labels match the selector). // +optional Replicas int32 `json:"replicas,omitempty"` // Total number of non-terminated pods targeted by this deployment that have the desired template spec. // +optional UpdatedReplicas int32 `json:"updatedReplicas,omitempty"` // Total number of ready pods targeted by this deployment. // +optional ReadyReplicas int32 `json:"readyReplicas,omitempty"` // Total number of available pods (ready for at least minReadySeconds) targeted by this deployment. // +optional AvailableReplicas int32 `json:"availableReplicas,omitempty"` // pods that are still required for the deployment to have 100% available capacity. They may // either be pods that are running but not yet available or pods that still have not been created. // +optional UnavailableReplicas int32 `json:"unavailableReplicas,omitempty"` LastUpdate *metav1.Time `json:"lastUpdate,omitempty"` CurrentHash string `json:"currentHash,omitempty"` // GeneratedToken corresponds to the generated token if any token was provided in the Credential configuration when ClusterAgent is // enabled. // +optional GeneratedToken string `json:"generatedToken,omitempty"` // Status corresponds to the ClusterAgent deployment computed status. Status string `json:"status,omitempty"` // State corresponds to the ClusterAgent deployment state. State string `json:"state,omitempty"` // DeploymentName corresponds to the name of the Cluster Agent Deployment. DeploymentName string `json:"deploymentName,omitempty"` }
DeploymentStatus type representing the Cluster Agent Deployment status. +k8s:openapi-gen=true
func (*DeploymentStatus) DeepCopy ¶
func (in *DeploymentStatus) DeepCopy() *DeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatus.
func (*DeploymentStatus) DeepCopyInto ¶
func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DogstatsdConfig ¶
type DogstatsdConfig struct { // Enable origin detection for container tagging. // 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 ¶ added in v0.5.0
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 ¶ added in v0.7.0
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 ImageConfig ¶
type ImageConfig struct { // Define the image to use: // Use "gcr.io/datadoghq/agent" for Datadog Agent 7 // Use "datadog/dogstatsd" for Standalone Datadog Agent DogStatsD // Use "gcr.io/datadoghq/cluster-agent" for Datadog Cluster Agent // Use "agent" with the registry and tag configurations for <registry>/agent:<tag> // Use "cluster-agent" with the registry and tag configurations for <registry>/cluster-agent:<tag> Name string `json:"name,omitempty"` // Define the image version to use: // To be used if the Name field does not correspond to a full image string. // +optional Tag string `json:"tag,omitempty"` // Define whether the Agent image should support JMX. // +optional JmxEnabled bool `json:"jmxEnabled,omitempty"` // The Kubernetes pull policy: // Use Always, Never or IfNotPresent. PullPolicy *corev1.PullPolicy `json:"pullPolicy,omitempty"` // It is possible to specify docker registry credentials. // See https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod // +optional PullSecrets *[]corev1.LocalObjectReference `json:"pullSecrets,omitempty"` }
ImageConfig Datadog agent container image config. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentImage ¶
func DefaultDatadogAgentSpecAgentImage(agent *DatadogAgentSpecAgentSpec, name, tag string) *ImageConfig
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) *ImageConfig
DefaultDatadogAgentSpecClusterChecksRunnerImage used to default a ImageConfig for the Agent, Cluster Agent and the Cluster Check Runner. Returns the defaulted ImageConfig.
func DefaultDatadogClusterAgentImage ¶ added in v0.7.0
func DefaultDatadogClusterAgentImage(dca *DatadogAgentSpecClusterAgentSpec, name, tag string) *ImageConfig
DefaultDatadogClusterAgentImage used to default a ImageConfig for the Agent, Cluster Agent and the Cluster Check Runner. Returns the defaulted ImageConfig.
func (*ImageConfig) DeepCopy ¶
func (in *ImageConfig) DeepCopy() *ImageConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageConfig.
func (*ImageConfig) DeepCopyInto ¶
func (in *ImageConfig) DeepCopyInto(out *ImageConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeStateMetricsCore ¶ added in v0.5.0
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 ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *KubeStateMetricsCore) DeepCopy() *KubeStateMetricsCore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeStateMetricsCore.
func (*KubeStateMetricsCore) DeepCopyInto ¶ added in v0.5.0
func (in *KubeStateMetricsCore) DeepCopyInto(out *KubeStateMetricsCore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeletConfig ¶ added in v0.6.0
type KubeletConfig struct { // Override host used to contact Kubelet API (default to status.hostIP) // +optional Host *corev1.EnvVarSource `json:"host,omitempty"` // Toggle kubelet TLS verification (default to true) // +optional TLSVerify *bool `json:"tlsVerify,omitempty"` // Path (on host) where the Kubelet CA certificate is stored // +optional HostCAPath string `json:"hostCAPath,omitempty"` // Path (inside Agent containers) where the Kubelet CA certificate is stored // Default to /var/run/host-kubelet-ca.crt if hostCAPath else /var/run/secrets/kubernetes.io/serviceaccount/ca.crt // +optional AgentCAPath string `json:"agentCAPath,omitempty"` }
KubeletConfig contains the Kubelet configuration parameters +k8s:openapi-gen=true
func (*KubeletConfig) DeepCopy ¶ added in v0.6.0
func (in *KubeletConfig) DeepCopy() *KubeletConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig.
func (*KubeletConfig) DeepCopyInto ¶ added in v0.6.0
func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogCollectionConfig ¶ added in v0.6.0
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 ¶ added in v0.7.0
func DefaultDatadogFeatureLogCollection(ft *DatadogFeatures) *LogCollectionConfig
DefaultDatadogFeatureLogCollection used to default an LogCollectionConfig return the defaulted LogCollectionConfig
func (*LogCollectionConfig) DeepCopy ¶ added in v0.6.0
func (in *LogCollectionConfig) DeepCopy() *LogCollectionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogCollectionConfig.
func (*LogCollectionConfig) DeepCopyInto ¶ added in v0.6.0
func (in *LogCollectionConfig) DeepCopyInto(out *LogCollectionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkMonitoringConfig ¶ added in v0.6.0
type NetworkMonitoringConfig struct {
Enabled *bool `json:"enabled,omitempty"`
}
NetworkMonitoringConfig allows configuration of network performance monitoring.
func DefaultDatadogFeatureNetworkMonitoring ¶ added in v0.7.0
func DefaultDatadogFeatureNetworkMonitoring(ft *DatadogFeatures) *NetworkMonitoringConfig
DefaultDatadogFeatureNetworkMonitoring used to default the NetworkMonitoring config
func (*NetworkMonitoringConfig) DeepCopy ¶ added in v0.6.0
func (in *NetworkMonitoringConfig) DeepCopy() *NetworkMonitoringConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkMonitoringConfig.
func (*NetworkMonitoringConfig) DeepCopyInto ¶ added in v0.6.0
func (in *NetworkMonitoringConfig) DeepCopyInto(out *NetworkMonitoringConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkPolicySpec ¶
type NetworkPolicySpec struct { // If true, create a NetworkPolicy for the current agent. // +optional Create *bool `json:"create,omitempty"` }
NetworkPolicySpec provides Network Policy configuration for the agents. +k8s:openapi-gen=true
func DefaultAgentNetworkPolicy ¶ added in v0.7.0
func DefaultAgentNetworkPolicy(agent *DatadogAgentSpecAgentSpec) *NetworkPolicySpec
DefaultAgentNetworkPolicy defaults the Network Policy for the Datadog Agent
func DefaultClusterAgentNetworkPolicy ¶ added in v0.7.0
func DefaultClusterAgentNetworkPolicy(dca *DatadogAgentSpecClusterAgentSpec) *NetworkPolicySpec
DefaultClusterAgentNetworkPolicy defaults the Network Policy for the Datadog Cluster Agent
func DefaultClusterCheckRunnerNetworkPolicy ¶ added in v0.7.0
func DefaultClusterCheckRunnerNetworkPolicy(clc *DatadogAgentSpecClusterChecksRunnerSpec) *NetworkPolicySpec
DefaultClusterCheckRunnerNetworkPolicy 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 Labels to Datadog Tags. // <KUBERNETES_LABEL>: <DATADOG_TAG_KEY> // +optional PodLabelsAsTags map[string]string `json:"podLabelsAsTags,omitempty"` // Provide a mapping of Kubernetes Annotations to Datadog Tags. // <KUBERNETES_ANNOTATIONS>: <DATADOG_TAG_KEY> // +optional PodAnnotationsAsTags map[string]string `json:"podAnnotationsAsTags,omitempty"` // List of tags to attach to every metric, event and service check collected by this Agent. // Learn more about tagging: https://docs.datadoghq.com/tagging/ // +optional // +listType=set Tags []string `json:"tags,omitempty"` // 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 Liness/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 *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 OrchestratorExplorerConfig ¶ added in v0.5.0
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 ¶ added in v0.5.0
func DefaultDatadogFeatureOrchestratorExplorer(ft *DatadogFeatures, withClusterChecksRunner bool) *OrchestratorExplorerConfig
DefaultDatadogFeatureOrchestratorExplorer used to default an OrchestratorExplorerConfig return the defaulted OrchestratorExplorerConfig
func (*OrchestratorExplorerConfig) DeepCopy ¶ added in v0.5.0
func (in *OrchestratorExplorerConfig) DeepCopy() *OrchestratorExplorerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratorExplorerConfig.
func (*OrchestratorExplorerConfig) DeepCopyInto ¶ added in v0.5.0
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 { // Note: /etc/passwd is automatically mounted to allow username resolution. // See also: https://docs.datadoghq.com/graphing/infrastructure/process/#kubernetes-daemonset // // +optional Enabled *bool `json:"enabled,omitempty"` // false (default): Only collect containers if available. // true: collect process information as well 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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
func DefaultDatadogFeaturePrometheusScrape(ft *DatadogFeatures) *PrometheusScrapeConfig
DefaultDatadogFeaturePrometheusScrape used to default the Prometheus Scrape config
func (*PrometheusScrapeConfig) DeepCopy ¶ added in v0.6.0
func (in *PrometheusScrapeConfig) DeepCopy() *PrometheusScrapeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusScrapeConfig.
func (*PrometheusScrapeConfig) DeepCopyInto ¶ added in v0.6.0
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 ¶ added in v0.7.0
func DefaultDatadogClusterAgentSpecRbacConfig(dca *DatadogAgentSpecClusterAgentSpec) *RbacConfig
DefaultDatadogClusterAgentSpecRbacConfig used to default a RbacConfig of the Cluster Agent
func DefaultDatadogClusterCheckRunnerSpecRbacConfig ¶ added in v0.7.0
func DefaultDatadogClusterCheckRunnerSpecRbacConfig(clc *DatadogAgentSpecClusterChecksRunnerSpec) *RbacConfig
DefaultDatadogClusterCheckRunnerSpecRbacConfig used to default a RbacConfig of the Cluster Check Runner
func DefaultRbacConfig ¶ added in v0.7.0
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 ¶ added in v0.5.0
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 ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scrubbing.
func (*Scrubbing) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Secret ¶
type Secret struct { // SecretName is the name of the secret. SecretName string `json:"secretName"` // KeyName is the key of the secret to use. // +optional KeyName string `json:"keyName,omitempty"` }
Secret contains a secret name and an included key. +k8s:openapi-gen=true
func (*Secret) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret.
func (*Secret) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecuritySpec ¶
type SecuritySpec struct { // Compliance configuration. // +optional Compliance ComplianceSpec `json:"compliance,omitempty"` // Runtime security configuration. // +optional Runtime RuntimeSecuritySpec `json:"runtime,omitempty"` // The Datadog Security Agent supports many environment variables. // 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 ¶ added in v0.7.0
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 SyncStatusMessage ¶ added in v0.6.0
type SyncStatusMessage string
SyncStatusMessage is the message reflecting the health of monitor state syncs to Datadog
const ( // SyncStatusOK means syncing is OK SyncStatusOK SyncStatusMessage = "OK" // SyncStatusValidateError means there is a monitor validation error SyncStatusValidateError SyncStatusMessage = "error validating monitor" // SyncStatusUpdateError means there is a monitor update error SyncStatusUpdateError SyncStatusMessage = "error updating monitor" // SyncStatusGetError means there is an error getting the monitor SyncStatusGetError SyncStatusMessage = "error getting monitor" )
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/graphing/infrastructure/process/#kubernetes-daemonset // +optional Enabled *bool `json:"enabled,omitempty"` // SecCompRootPath specify the seccomp profile root directory. // +optional SecCompRootPath string `json:"secCompRootPath,omitempty"` // SecCompCustomProfileConfigMap specify a pre-existing ConfigMap containing a custom SecComp profile. // 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 ¶ added in v0.7.0
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.