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 DefaultedClusterAgentToken(ddaStatus *DatadogAgentStatus) string
- func FeatureOverride(dda *DatadogAgentSpec, dso *DatadogAgentSpec)
- func GetDefaultLivenessProbe() *corev1.Probe
- func GetDefaultReadinessProbe() *corev1.Probe
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- func IsValidCustomConfigSpec(ccs *CustomConfigSpec) error
- func IsValidDatadogAgent(spec *DatadogAgentSpec) error
- func IsValidDatadogMonitor(spec *DatadogMonitorSpec) error
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type APMSpec
- type APMUnixDomainSocketSpec
- type AdmissionControllerConfig
- type AgentCredentials
- type CRISocketConfig
- type ClusterAgentConfig
- type ClusterChecksRunnerConfig
- type ComplianceSpec
- type ConfigDirSpec
- type ConfigFileConfigMapSpec
- type CustomConfigSpec
- type DSDUnixDomainSocketSpec
- type DaemonSetDeploymentStrategy
- type DaemonSetRollingUpdateSpec
- type 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 LocalService
- type LogCollectionConfig
- type NetworkMonitoringConfig
- type NetworkPolicyFlavor
- 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 // DefaultDogstatsdPortName default dogstatsd port name DefaultDogstatsdPortName = "dogstatsd" // DefaultApmPortName default apm port name DefaultApmPortName = "apm" )
const ( DatadogHost = "DATADOG_HOST" DDAPIKey = "DD_API_KEY" DDSecretBackendCommand = "DD_SECRET_BACKEND_COMMAND" DDClusterName = "DD_CLUSTER_NAME" DDSite = "DD_SITE" DDddURL = "DD_DD_URL" DDHealthPort = "DD_HEALTH_PORT" DDLogLevel = "DD_LOG_LEVEL" DDNamespaceLabelsAsTags = "DD_KUBERNETES_NAMESPACE_LABELS_AS_TAGS" DDNodeLabelsAsTags = "DD_KUBERNETES_NODE_LABELS_AS_TAGS" 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" DDAdmissionControllerInjectConfigMode = "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_MODE" DDAdmissionControllerLocalServiceName = "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_LOCAL_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" TmpVolumeName = "tmp" TmpVolumePath = "/tmp" CertificatesVolumeName = "certificates" CertificatesVolumePath = "/etc/datadog-agent/certificates" 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" SecurityAgentComplianceCustomConfigDirVolumeName = "customcompliancebenchmarks" 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" AutoscalingK8sIoAPIGroup = "autoscaling.k8s.io" AuthorizationAPIGroup = "authorization.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" ClusterRoleResource = "clusterroles" RoleResource = "roles" ClusterRoleBindingResource = "clusterrolebindings" RoleBindingResource = "rolebindings" NetworkPolicyResource = "networkpolicies" IngressesResource = "ingresses" VPAResource = "verticalpodautoscalers" SubjectAccessReviewResource = "subjectaccessreviews" 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 DefaultedClusterAgentToken ¶
func DefaultedClusterAgentToken(ddaStatus *DatadogAgentStatus) string
DefaultedClusterAgentToken returns the autogenerated token used for the communication between the agents and the DCA. If the token has not been autogenerated, this function returns an empty string.
func FeatureOverride ¶
func FeatureOverride(dda *DatadogAgentSpec, dso *DatadogAgentSpec)
FeatureOverride defaults the feature section of the DatadogAgent TODO surface in the status when Overrides are not possible. Security agent requires the System Probe
func GetDefaultLivenessProbe ¶
GetDefaultLivenessProbe creates a all defaulted LivenessProbe
func GetDefaultReadinessProbe ¶
GetDefaultReadinessProbe creates a all defaulted ReadynessProbe
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
func IsValidCustomConfigSpec ¶
func IsValidCustomConfigSpec(ccs *CustomConfigSpec) error
IsValidCustomConfigSpec used to check if a CustomConfigSpec is properly set
func IsValidDatadogAgent ¶
func IsValidDatadogAgent(spec *DatadogAgentSpec) error
IsValidDatadogAgent use to check if a DatadogAgentSpec is valid
func IsValidDatadogMonitor ¶
func IsValidDatadogMonitor(spec *DatadogMonitorSpec) error
IsValidDatadogMonitor use to check if a DatadogMonitorSpec is valid by checking that the required fields are defined
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type APMSpec ¶
type APMSpec struct { // Enable this to enable APM and tracing, on port 8126. // See also: https://github.com/DataDog/docker-dd-agent#tracing-from-the-host // +optional Enabled *bool `json:"enabled,omitempty"` // Number of port to expose on the host. // If specified, this must be a valid port number, 0 < x < 65536. // If HostNetwork is specified, this must match ContainerPort. // Most containers do not need this. // // +optional HostPort *int32 `json:"hostPort,omitempty"` // UnixDomainSocket socket configuration. // See also: https://docs.datadoghq.com/agent/kubernetes/apm/?tab=helm#agent-environment-variables // +optional UnixDomainSocket *APMUnixDomainSocketSpec `json:"unixDomainSocket,omitempty"` // The Datadog Agent supports many environment variables. // See also: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=map // +listMapKey=name Env []corev1.EnvVar `json:"env,omitempty"` // Specify additional volume mounts in the APM Agent container. // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Datadog APM Agent resource requests and limits. // Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class. // See also: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Command allows the specification of custom entrypoint for Trace Agent container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,omitempty"` // Configure the Liveness Probe of the APM container // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"` }
APMSpec contains the Trace Agent configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentApm ¶
func DefaultDatadogAgentSpecAgentApm(agent *DatadogAgentSpecAgentSpec) *APMSpec
DefaultDatadogAgentSpecAgentApm used to default an APMSpec return the defaulted APMSpec
func (*APMSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APMSpec.
func (*APMSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APMUnixDomainSocketSpec ¶
type APMUnixDomainSocketSpec struct { // Enable APM over Unix Domain Socket // See also: https://docs.datadoghq.com/agent/kubernetes/apm/?tab=helm#agent-environment-variables // +optional Enabled *bool `json:"enabled,omitempty"` // Define the host APM socket filepath used when APM over Unix Domain Socket is enabled. // (default value: /var/run/datadog/apm.sock) // See also: https://docs.datadoghq.com/agent/kubernetes/apm/?tab=helm#agent-environment-variables // +optional HostFilepath *string `json:"hostFilepath,omitempty"` }
APMUnixDomainSocketSpec contains the APM Unix Domain Socket configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentApmUDS ¶
func DefaultDatadogAgentSpecAgentApmUDS(apm *APMSpec) *APMUnixDomainSocketSpec
DefaultDatadogAgentSpecAgentApmUDS used to default APMUnixDomainSocketSpec rreturn the defaulted APMUnixDomainSocketSpec
func (*APMUnixDomainSocketSpec) DeepCopy ¶
func (in *APMUnixDomainSocketSpec) DeepCopy() *APMUnixDomainSocketSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APMUnixDomainSocketSpec.
func (*APMUnixDomainSocketSpec) DeepCopyInto ¶
func (in *APMUnixDomainSocketSpec) DeepCopyInto(out *APMUnixDomainSocketSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdmissionControllerConfig ¶
type AdmissionControllerConfig struct { // Enable the admission controller to be able to inject APM/Dogstatsd config // and standard tags (env, service, version) automatically into your pods. // +optional Enabled *bool `json:"enabled,omitempty"` // MutateUnlabelled enables injecting config without having the pod label 'admission.datadoghq.com/enabled="true"'. // +optional MutateUnlabelled *bool `json:"mutateUnlabelled,omitempty"` // ServiceName corresponds to the webhook service name. // +optional ServiceName *string `json:"serviceName,omitempty"` // agentCommunicationMode corresponds to the mode used by the Datadog application libraries to communicate with the Agent. // It can be "hostip", "service", or "socket". // +optional AgentCommunicationMode *string `json:"agentCommunicationMode,omitempty"` }
AdmissionControllerConfig contains the configuration of the admission controller in Cluster Agent. +k8s:openapi-gen=true
func DefaultAdmissionController ¶
func DefaultAdmissionController(conf *ClusterAgentConfig) *AdmissionControllerConfig
DefaultAdmissionController defaults the Admission Controller's config in the Cluster Agent's config
func (*AdmissionControllerConfig) DeepCopy ¶
func (in *AdmissionControllerConfig) DeepCopy() *AdmissionControllerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionControllerConfig.
func (*AdmissionControllerConfig) DeepCopyInto ¶
func (in *AdmissionControllerConfig) DeepCopyInto(out *AdmissionControllerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentCredentials ¶
type AgentCredentials struct { DatadogCredentials `json:",inline"` // This needs to be at least 32 characters a-zA-z. // It is a preshared key between the node agents and the cluster agent. // +optional Token string `json:"token,omitempty"` // UseSecretBackend use the Agent secret backend feature for retreiving all credentials needed by // the different components: Agent, Cluster, Cluster-Checks. // default value is false. UseSecretBackend *bool `json:"useSecretBackend,omitempty"` }
AgentCredentials contains credentials values to configure the Agent. +k8s:openapi-gen=true
func (*AgentCredentials) DeepCopy ¶
func (in *AgentCredentials) DeepCopy() *AgentCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentCredentials.
func (*AgentCredentials) DeepCopyInto ¶
func (in *AgentCredentials) DeepCopyInto(out *AgentCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CRISocketConfig ¶
type CRISocketConfig struct { // Path to the docker runtime socket. // +optional DockerSocketPath *string `json:"dockerSocketPath,omitempty"` // Path to the container runtime socket (if different from Docker). // This is supported starting from agent 6.6.0. // +optional CriSocketPath *string `json:"criSocketPath,omitempty"` }
CRISocketConfig contains the CRI socket configuration parameters. +k8s:openapi-gen=true
func DefaultContainerSocket ¶
func DefaultContainerSocket(config *NodeAgentConfig) *CRISocketConfig
DefaultContainerSocket defaults the socket configuration for the Datadog Agent
func (*CRISocketConfig) DeepCopy ¶
func (in *CRISocketConfig) DeepCopy() *CRISocketConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CRISocketConfig.
func (*CRISocketConfig) DeepCopyInto ¶
func (in *CRISocketConfig) DeepCopyInto(out *CRISocketConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterAgentConfig ¶
type ClusterAgentConfig struct { // Pod-level SecurityContext. // +optional SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"` ExternalMetrics *ExternalMetricsConfig `json:"externalMetrics,omitempty"` // Configure the Admission Controller. AdmissionController *AdmissionControllerConfig `json:"admissionController,omitempty"` // Enable the Cluster Checks and Endpoint Checks feature on both the Cluster Agent and the daemonset. // See also: // https://docs.datadoghq.com/agent/cluster_agent/clusterchecks/ // https://docs.datadoghq.com/agent/cluster_agent/endpointschecks/ // Autodiscovery via Kube Service annotations is automatically enabled. ClusterChecksEnabled *bool `json:"clusterChecksEnabled,omitempty"` // Enable this to start event collection from the kubernetes API. // See also: https://docs.datadoghq.com/agent/cluster_agent/event_collection/ // +optional CollectEvents *bool `json:"collectEvents,omitempty"` // Set logging verbosity, valid log levels are: // trace, debug, info, warn, error, critical, and off LogLevel *string `json:"logLevel,omitempty"` // Datadog Cluster Agent resource requests and limits. Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Command allows the specification of custom entrypoint for Cluster Agent container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,omitempty"` // Confd Provide additional cluster check configurations. Each key will become a file in /conf.d. // see https://docs.datadoghq.com/agent/autodiscovery/ for more details. // +optional Confd *ConfigDirSpec `json:"confd,omitempty"` // The Datadog Agent supports many environment variables. // See also: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=map // +listMapKey=name Env []corev1.EnvVar `json:"env,omitempty"` // Specify additional volume mounts in the Datadog Cluster Agent container. // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Specify additional volumes in the Datadog Cluster Agent container. // +optional // +listType=map // +listMapKey=name Volumes []corev1.Volume `json:"volumes,omitempty"` // HealthPort of the Agent container for internal liveness probe. // Must be the same as the Liveness/Readiness probes. HealthPort *int32 `json:"healthPort,omitempty"` }
ClusterAgentConfig contains the configuration of the Cluster Agent. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecClusterAgentConfig ¶
func DefaultDatadogAgentSpecClusterAgentConfig(dca *DatadogAgentSpecClusterAgentSpec) *ClusterAgentConfig
DefaultDatadogAgentSpecClusterAgentConfig used to default an ClusterAgentConfig return the defaulted ClusterAgentConfig
func (*ClusterAgentConfig) DeepCopy ¶
func (in *ClusterAgentConfig) DeepCopy() *ClusterAgentConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAgentConfig.
func (*ClusterAgentConfig) DeepCopyInto ¶
func (in *ClusterAgentConfig) DeepCopyInto(out *ClusterAgentConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterChecksRunnerConfig ¶
type ClusterChecksRunnerConfig struct { // Pod-level SecurityContext. // +optional SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"` // Datadog Cluster Checks Runner resource requests and limits. Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Command allows the specification of custom entrypoint for Cluster Checks Runner container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,omitempty"` // Set logging verbosity, valid log levels are: // trace, debug, info, warn, error, critical, and off LogLevel *string `json:"logLevel,omitempty"` // The Datadog Agent supports many environment variables. // See also: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=map // +listMapKey=name Env []corev1.EnvVar `json:"env,omitempty"` // Specify additional volume mounts in the Datadog Cluster Check Runner container. // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Specify additional volumes in the Datadog Cluster Check Runner container. // +optional // +listType=map // +listMapKey=name Volumes []corev1.Volume `json:"volumes,omitempty"` // Configure the Liveness Probe of the CLC container LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"` // Configure the Readiness Probe of the CLC container ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"` // HealthPort of the Agent container for internal liveness probe. // Must be the same as the Liveness/Readiness probes. HealthPort *int32 `json:"healthPort,omitempty"` }
ClusterChecksRunnerConfig contains the configuration of the Cluster Checks Runner. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecClusterChecksRunnerConfig ¶
func DefaultDatadogAgentSpecClusterChecksRunnerConfig(clc *DatadogAgentSpecClusterChecksRunnerSpec) *ClusterChecksRunnerConfig
DefaultDatadogAgentSpecClusterChecksRunnerConfig used to default an ClusterChecksRunnerConfig return the defaulted ClusterChecksRunnerConfig
func (*ClusterChecksRunnerConfig) DeepCopy ¶
func (in *ClusterChecksRunnerConfig) DeepCopy() *ClusterChecksRunnerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterChecksRunnerConfig.
func (*ClusterChecksRunnerConfig) DeepCopyInto ¶
func (in *ClusterChecksRunnerConfig) DeepCopyInto(out *ClusterChecksRunnerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComplianceSpec ¶
type ComplianceSpec struct { // Enables continuous compliance monitoring. // +optional Enabled *bool `json:"enabled,omitempty"` // Check interval. // +optional CheckInterval *metav1.Duration `json:"checkInterval,omitempty"` // Config dir containing compliance benchmarks. // +optional ConfigDir *ConfigDirSpec `json:"configDir,omitempty"` }
ComplianceSpec contains configuration for continuous compliance. +k8s:openapi-gen=true
func (*ComplianceSpec) DeepCopy ¶
func (in *ComplianceSpec) DeepCopy() *ComplianceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComplianceSpec.
func (*ComplianceSpec) DeepCopyInto ¶
func (in *ComplianceSpec) DeepCopyInto(out *ComplianceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigDirSpec ¶
type ConfigDirSpec struct { // ConfigMapName name of a ConfigMap used to mount a directory. ConfigMapName string `json:"configMapName,omitempty"` // items mapping between configMap data key and file path mount. // +optional // +listType=map // +listMapKey=key Items []corev1.KeyToPath `json:"items,omitempty"` }
ConfigDirSpec contains config file directory configuration. +k8s:openapi-gen=true
func (*ConfigDirSpec) DeepCopy ¶
func (in *ConfigDirSpec) DeepCopy() *ConfigDirSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigDirSpec.
func (*ConfigDirSpec) DeepCopyInto ¶
func (in *ConfigDirSpec) DeepCopyInto(out *ConfigDirSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigFileConfigMapSpec ¶
type ConfigFileConfigMapSpec struct { // The name of source ConfigMap. Name string `json:"name,omitempty"` // FileKey corresponds to the key used in the ConfigMap.Data to store the configuration file content. FileKey string `json:"fileKey,omitempty"` }
ConfigFileConfigMapSpec contains configMap information used to store a config file. +k8s:openapi-gen=true
func (*ConfigFileConfigMapSpec) DeepCopy ¶
func (in *ConfigFileConfigMapSpec) DeepCopy() *ConfigFileConfigMapSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigFileConfigMapSpec.
func (*ConfigFileConfigMapSpec) DeepCopyInto ¶
func (in *ConfigFileConfigMapSpec) DeepCopyInto(out *ConfigFileConfigMapSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomConfigSpec ¶
type CustomConfigSpec struct { // ConfigData corresponds to the configuration file content. ConfigData *string `json:"configData,omitempty"` // Enable to specify a reference to an already existing ConfigMap. ConfigMap *ConfigFileConfigMapSpec `json:"configMap,omitempty"` }
CustomConfigSpec Allow to put custom configuration for the agent, corresponding to the datadog-cluster.yaml or datadog.yaml config file the configuration can be provided in the 'configData' field as raw data, or in a configmap thanks to `configMap` field. Important: `configData` and `configMap` can't be set together. +k8s:openapi-gen=true
func (*CustomConfigSpec) DeepCopy ¶
func (in *CustomConfigSpec) DeepCopy() *CustomConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomConfigSpec.
func (*CustomConfigSpec) DeepCopyInto ¶
func (in *CustomConfigSpec) DeepCopyInto(out *CustomConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DSDUnixDomainSocketSpec ¶
type DSDUnixDomainSocketSpec struct { // Enable APM over Unix Domain Socket. // See also: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/ // +optional Enabled *bool `json:"enabled,omitempty"` // Define the host APM socket filepath used when APM over Unix Domain Socket is enabled. // (default value: /var/run/datadog/statsd.sock). // See also: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/ // +optional HostFilepath *string `json:"hostFilepath,omitempty"` }
DSDUnixDomainSocketSpec contains the Dogstatsd Unix Domain Socket configuration. +k8s:openapi-gen=true
func DefaultConfigDogstatsdUDS ¶
func DefaultConfigDogstatsdUDS(dsd *DogstatsdConfig) *DSDUnixDomainSocketSpec
DefaultConfigDogstatsdUDS used to default DSDUnixDomainSocketSpec return the defaulted DSDUnixDomainSocketSpec
func (*DSDUnixDomainSocketSpec) DeepCopy ¶
func (in *DSDUnixDomainSocketSpec) DeepCopy() *DSDUnixDomainSocketSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DSDUnixDomainSocketSpec.
func (*DSDUnixDomainSocketSpec) DeepCopyInto ¶
func (in *DSDUnixDomainSocketSpec) DeepCopyInto(out *DSDUnixDomainSocketSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonSetDeploymentStrategy ¶
type DaemonSetDeploymentStrategy struct { // The update strategy used for the DaemonSet. UpdateStrategyType *appsv1.DaemonSetUpdateStrategyType `json:"updateStrategyType,omitempty"` // Configure the rolling updater strategy of the DaemonSet or the ExtendedDaemonSet. RollingUpdate DaemonSetRollingUpdateSpec `json:"rollingUpdate,omitempty"` // Configure the canary deployment configuration using ExtendedDaemonSet. Canary *edsdatadoghqv1alpha1.ExtendedDaemonSetSpecStrategyCanary `json:"canary,omitempty"` // The reconcile frequency of the ExtendDaemonSet. ReconcileFrequency *metav1.Duration `json:"reconcileFrequency,omitempty"` }
DaemonSetDeploymentStrategy contains the node Agent deployment configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecDatadogAgentStrategy ¶
func DefaultDatadogAgentSpecDatadogAgentStrategy(agent *DatadogAgentSpecAgentSpec) *DaemonSetDeploymentStrategy
DefaultDatadogAgentSpecDatadogAgentStrategy used to default a DaemonSetDeploymentStrategy return the defaulted DaemonSetDeploymentStrategy
func (*DaemonSetDeploymentStrategy) DeepCopy ¶
func (in *DaemonSetDeploymentStrategy) DeepCopy() *DaemonSetDeploymentStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaemonSetDeploymentStrategy.
func (*DaemonSetDeploymentStrategy) DeepCopyInto ¶
func (in *DaemonSetDeploymentStrategy) DeepCopyInto(out *DaemonSetDeploymentStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonSetRollingUpdateSpec ¶
type DaemonSetRollingUpdateSpec struct { // update. Value can be an absolute number (ex: 5) or a percentage of total // number of DaemonSet pods at the start of the update (ex: 10%). Absolute // number is calculated from percentage by rounding up. // This cannot be 0. // Default value is 1. MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"` // MaxPodSchedulerFailure the 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:storageversion +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"` // Options to customize the internal traffic policy service // +optional LocalService *LocalService `json:"localService,omitempty"` }
DatadogAgentSpecAgentSpec defines the desired state of the node Agent. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgent ¶
func DefaultDatadogAgentSpecAgent(agent *DatadogAgentSpecAgentSpec) *DatadogAgentSpecAgentSpec
DefaultDatadogAgentSpecAgent used to default an DatadogAgentSpecAgentSpec return the defaulted DatadogAgentSpecAgentSpec
func (*DatadogAgentSpecAgentSpec) DeepCopy ¶
func (in *DatadogAgentSpecAgentSpec) DeepCopy() *DatadogAgentSpecAgentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentSpecAgentSpec.
func (*DatadogAgentSpecAgentSpec) DeepCopyInto ¶
func (in *DatadogAgentSpecAgentSpec) DeepCopyInto(out *DatadogAgentSpecAgentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentSpecClusterAgentSpec ¶
type DatadogAgentSpecClusterAgentSpec struct { // Enabled Enabled *bool `json:"enabled,omitempty"` // The container image of the Datadog Cluster Agent. Image *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 ¶
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 ¶
func (in *DatadogCredentials) DeepCopy() *DatadogCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogCredentials.
func (*DatadogCredentials) DeepCopyInto ¶
func (in *DatadogCredentials) DeepCopyInto(out *DatadogCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogFeatures ¶
type DatadogFeatures struct { // OrchestratorExplorer configuration. OrchestratorExplorer *OrchestratorExplorerConfig `json:"orchestratorExplorer,omitempty"` // KubeStateMetricsCore configuration. KubeStateMetricsCore *KubeStateMetricsCore `json:"kubeStateMetricsCore,omitempty"` // PrometheusScrape configuration. PrometheusScrape *PrometheusScrapeConfig `json:"prometheusScrape,omitempty"` // NetworkMonitoring configuration. NetworkMonitoring *NetworkMonitoringConfig `json:"networkMonitoring,omitempty"` // LogCollection configuration. LogCollection *LogCollectionConfig `json:"logCollection,omitempty"` }
DatadogFeatures are Features running on the Agent and Cluster Agent. +k8s:openapi-gen=true
func DefaultFeatures ¶
func DefaultFeatures(dda *DatadogAgent) *DatadogFeatures
DefaultFeatures used to initialized the Features' default values if necessary
func (*DatadogFeatures) DeepCopy ¶
func (in *DatadogFeatures) DeepCopy() *DatadogFeatures
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogFeatures.
func (*DatadogFeatures) DeepCopyInto ¶
func (in *DatadogFeatures) DeepCopyInto(out *DatadogFeatures)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMetric ¶
type DatadogMetric struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DatadogMetricSpec `json:"spec,omitempty"` Status DatadogMetricStatus `json:"status,omitempty"` }
DatadogMetric allows autoscaling on arbitrary Datadog query +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogmetrics,scope=Namespaced +kubebuilder:printcolumn:name="active",type="string",JSONPath=".status.conditions[?(@.type=='Active')].status" +kubebuilder:printcolumn:name="valid",type="string",JSONPath=".status.conditions[?(@.type=='Valid')].status" +kubebuilder:printcolumn:name="value",type="string",JSONPath=".status.currentValue" +kubebuilder:printcolumn:name="references",type="string",JSONPath=".status.autoscalerReferences" +kubebuilder:printcolumn:name="update time",type="date",JSONPath=".status.conditions[?(@.type=='Updated')].lastUpdateTime" +k8s:openapi-gen=true +genclient
func (*DatadogMetric) DeepCopy ¶
func (in *DatadogMetric) DeepCopy() *DatadogMetric
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetric.
func (*DatadogMetric) DeepCopyInto ¶
func (in *DatadogMetric) DeepCopyInto(out *DatadogMetric)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMetric) DeepCopyObject ¶
func (in *DatadogMetric) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMetricCondition ¶
type DatadogMetricCondition struct { // Type of DatadogMetric condition. Type DatadogMetricConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // Last time the condition was updated. // +optional LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // The reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // A human readable message indicating details about the transition. // +optional Message string `json:"message,omitempty"` }
DatadogMetricCondition describes the state of a DatadogMetric at a certain point. +k8s:openapi-gen=true
func (*DatadogMetricCondition) DeepCopy ¶
func (in *DatadogMetricCondition) DeepCopy() *DatadogMetricCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricCondition.
func (*DatadogMetricCondition) DeepCopyInto ¶
func (in *DatadogMetricCondition) DeepCopyInto(out *DatadogMetricCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMetricConditionType ¶
type DatadogMetricConditionType string
DatadogMetricConditionType type use to represent a DatadogMetric condition
const ( // DatadogMetricConditionTypeActive DatadogMetric is active (referenced by an HPA), Datadog will only be queried for active metrics DatadogMetricConditionTypeActive DatadogMetricConditionType = "Active" // DatadogMetricConditionTypeUpdated DatadogMetric is updated DatadogMetricConditionTypeUpdated DatadogMetricConditionType = "Updated" // DatadogMetricConditionTypeValid DatadogMetric.spec.query is invalid DatadogMetricConditionTypeValid DatadogMetricConditionType = "Valid" // DatadogMetricConditionTypeError the controller wasn't able to handle this DatadogMetric DatadogMetricConditionTypeError DatadogMetricConditionType = "Error" )
type DatadogMetricList ¶
type DatadogMetricList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DatadogMetric `json:"items"` }
DatadogMetricList contains a list of DatadogMetric +kubebuilder:object:root=true
func (*DatadogMetricList) DeepCopy ¶
func (in *DatadogMetricList) DeepCopy() *DatadogMetricList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricList.
func (*DatadogMetricList) DeepCopyInto ¶
func (in *DatadogMetricList) DeepCopyInto(out *DatadogMetricList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMetricList) DeepCopyObject ¶
func (in *DatadogMetricList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMetricSpec ¶
type DatadogMetricSpec struct { // Query is the raw datadog query Query string `json:"query,omitempty"` // ExternalMetricName is reserved for internal use ExternalMetricName string `json:"externalMetricName,omitempty"` // MaxAge provides the max age for the metric query (overrides the default setting // `external_metrics_provider.max_age`) // +optional MaxAge metav1.Duration `json:"maxAge,omitempty"` }
DatadogMetricSpec defines the desired state of DatadogMetric
func (*DatadogMetricSpec) DeepCopy ¶
func (in *DatadogMetricSpec) DeepCopy() *DatadogMetricSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricSpec.
func (*DatadogMetricSpec) DeepCopyInto ¶
func (in *DatadogMetricSpec) DeepCopyInto(out *DatadogMetricSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMetricStatus ¶
type DatadogMetricStatus struct { // Conditions Represents the latest available observations of a DatadogMetric's current state. // +listType=map // +listMapKey=type Conditions []DatadogMetricCondition `json:"conditions,omitempty"` // Value is the latest value of the metric Value string `json:"currentValue"` // List of autoscalers currently using this DatadogMetric AutoscalerReferences string `json:"autoscalerReferences,omitempty"` }
DatadogMetricStatus defines the observed state of DatadogMetric
func (*DatadogMetricStatus) DeepCopy ¶
func (in *DatadogMetricStatus) DeepCopy() *DatadogMetricStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricStatus.
func (*DatadogMetricStatus) DeepCopyInto ¶
func (in *DatadogMetricStatus) DeepCopyInto(out *DatadogMetricStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitor ¶
type DatadogMonitor struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DatadogMonitorSpec `json:"spec,omitempty"` Status DatadogMonitorStatus `json:"status,omitempty"` }
DatadogMonitor allows to define and manage Monitors from your Kubernetes Cluster +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogmonitors,scope=Namespaced +kubebuilder:printcolumn:name="id",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="monitor state",type="string",JSONPath=".status.monitorState" +kubebuilder:printcolumn:name="last 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 ¶
func (in *DatadogMonitor) DeepCopy() *DatadogMonitor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitor.
func (*DatadogMonitor) DeepCopyInto ¶
func (in *DatadogMonitor) DeepCopyInto(out *DatadogMonitor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMonitor) DeepCopyObject ¶
func (in *DatadogMonitor) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMonitorCondition ¶
type DatadogMonitorCondition struct { // Type of DatadogMonitor condition Type DatadogMonitorConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // Last time the condition was updated. // +optional LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // The reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // A human readable message indicating details about the transition. // +optional Message string `json:"message,omitempty"` }
DatadogMonitorCondition describes the current state of a DatadogMonitor +k8s:openapi-gen=true
func (*DatadogMonitorCondition) DeepCopy ¶
func (in *DatadogMonitorCondition) DeepCopy() *DatadogMonitorCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorCondition.
func (*DatadogMonitorCondition) DeepCopyInto ¶
func (in *DatadogMonitorCondition) DeepCopyInto(out *DatadogMonitorCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorConditionType ¶
type DatadogMonitorConditionType string
DatadogMonitorConditionType represents a DatadogMonitor condition
const ( // DatadogMonitorConditionTypeCreated means the DatadogMonitor is created successfully DatadogMonitorConditionTypeCreated DatadogMonitorConditionType = "Created" // DatadogMonitorConditionTypeActive means the DatadogMonitor is active DatadogMonitorConditionTypeActive DatadogMonitorConditionType = "Active" // DatadogMonitorConditionTypeUpdated means the DatadogMonitor is updated DatadogMonitorConditionTypeUpdated DatadogMonitorConditionType = "Updated" // DatadogMonitorConditionTypeError means the DatadogMonitor has an error DatadogMonitorConditionTypeError DatadogMonitorConditionType = "Error" )
type DatadogMonitorDowntimeStatus ¶
type DatadogMonitorDowntimeStatus struct { IsDowntimed bool `json:"isDowntimed,omitempty"` DowntimeID int `json:"downtimeId,omitempty"` }
DatadogMonitorDowntimeStatus represents the downtime status of a DatadogMonitor
func (*DatadogMonitorDowntimeStatus) DeepCopy ¶
func (in *DatadogMonitorDowntimeStatus) DeepCopy() *DatadogMonitorDowntimeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorDowntimeStatus.
func (*DatadogMonitorDowntimeStatus) DeepCopyInto ¶
func (in *DatadogMonitorDowntimeStatus) DeepCopyInto(out *DatadogMonitorDowntimeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorList ¶
type DatadogMonitorList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DatadogMonitor `json:"items"` }
DatadogMonitorList contains a list of DatadogMonitors +kubebuilder:object:root=true
func (*DatadogMonitorList) DeepCopy ¶
func (in *DatadogMonitorList) DeepCopy() *DatadogMonitorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorList.
func (*DatadogMonitorList) DeepCopyInto ¶
func (in *DatadogMonitorList) DeepCopyInto(out *DatadogMonitorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMonitorList) DeepCopyObject ¶
func (in *DatadogMonitorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMonitorOptions ¶
type DatadogMonitorOptions struct { // A 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 ¶
func (in *DatadogMonitorOptions) DeepCopy() *DatadogMonitorOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptions.
func (*DatadogMonitorOptions) DeepCopyInto ¶
func (in *DatadogMonitorOptions) DeepCopyInto(out *DatadogMonitorOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorOptionsThresholdWindows ¶
type DatadogMonitorOptionsThresholdWindows struct { // Describes how long an anomalous metric must be normal before the alert recovers. RecoveryWindow *string `json:"recoveryWindow,omitempty"` // Describes how long a metric must be anomalous before an alert triggers. TriggerWindow *string `json:"triggerWindow,omitempty"` }
DatadogMonitorOptionsThresholdWindows is a struct of the alerting time window options
func (*DatadogMonitorOptionsThresholdWindows) DeepCopy ¶
func (in *DatadogMonitorOptionsThresholdWindows) DeepCopy() *DatadogMonitorOptionsThresholdWindows
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsThresholdWindows.
func (*DatadogMonitorOptionsThresholdWindows) DeepCopyInto ¶
func (in *DatadogMonitorOptionsThresholdWindows) DeepCopyInto(out *DatadogMonitorOptionsThresholdWindows)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorOptionsThresholds ¶
type DatadogMonitorOptionsThresholds struct { // The monitor CRITICAL threshold. Critical *string `json:"critical,omitempty"` // The monitor CRITICAL recovery threshold. CriticalRecovery *string `json:"criticalRecovery,omitempty"` // The monitor OK threshold. OK *string `json:"ok,omitempty"` // The monitor UNKNOWN threshold. Unknown *string `json:"unknown,omitempty"` // The monitor WARNING threshold. Warning *string `json:"warning,omitempty"` // The monitor WARNING recovery threshold. WarningRecovery *string `json:"warningRecovery,omitempty"` }
DatadogMonitorOptionsThresholds is a struct of the different monitor threshold values
func (*DatadogMonitorOptionsThresholds) DeepCopy ¶
func (in *DatadogMonitorOptionsThresholds) DeepCopy() *DatadogMonitorOptionsThresholds
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsThresholds.
func (*DatadogMonitorOptionsThresholds) DeepCopyInto ¶
func (in *DatadogMonitorOptionsThresholds) DeepCopyInto(out *DatadogMonitorOptionsThresholds)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorSpec ¶
type DatadogMonitorSpec struct { // Name is the monitor name Name string `json:"name,omitempty"` // Message is a message to include with notifications for this monitor Message string `json:"message,omitempty"` // Priority is an integer from 1 (high) to 5 (low) indicating alert severity Priority int64 `json:"priority,omitempty"` // Query is the Datadog monitor query Query string `json:"query,omitempty"` // 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 ¶
func (in *DatadogMonitorSpec) DeepCopy() *DatadogMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorSpec.
func (*DatadogMonitorSpec) DeepCopyInto ¶
func (in *DatadogMonitorSpec) DeepCopyInto(out *DatadogMonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorState ¶
type DatadogMonitorState string
DatadogMonitorState represents the overall DatadogMonitor state
const ( // DatadogMonitorStateOK means the DatadogMonitor is OK DatadogMonitorStateOK DatadogMonitorState = "OK" // DatadogMonitorStateAlert means the DatadogMonitor triggered an alert DatadogMonitorStateAlert DatadogMonitorState = "Alert" // DatadogMonitorStateWarn means the DatadogMonitor triggered a warning DatadogMonitorStateWarn DatadogMonitorState = "Warn" // DatadogMonitorStateNoData means the DatadogMonitor triggered a no data alert DatadogMonitorStateNoData DatadogMonitorState = "No Data" // DatadogMonitorStateSkipped means the DatadogMonitor is skipped DatadogMonitorStateSkipped DatadogMonitorState = "Skipped" // DatadogMonitorStateIgnored means the DatadogMonitor is ignored DatadogMonitorStateIgnored DatadogMonitorState = "Ignored" // DatadogMonitorStateUnknown means the DatadogMonitor is in an unknown state DatadogMonitorStateUnknown DatadogMonitorState = "Unknown" )
type DatadogMonitorStatus ¶
type DatadogMonitorStatus struct { // Conditions Represents the latest available observations of a DatadogMonitor's current state. // +listType=map // +listMapKey=type Conditions []DatadogMonitorCondition `json:"conditions,omitempty"` // ID is the monitor ID generated in Datadog ID int `json:"id,omitempty"` // Creator is the identify of the monitor creator Creator string `json:"creator,omitempty"` // Created is the time the monitor was created Created *metav1.Time `json:"created,omitempty"` // MonitorState is the overall state of monitor MonitorState DatadogMonitorState `json:"monitorState,omitempty"` // 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 ¶
func (in *DatadogMonitorStatus) DeepCopy() *DatadogMonitorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorStatus.
func (*DatadogMonitorStatus) DeepCopyInto ¶
func (in *DatadogMonitorStatus) DeepCopyInto(out *DatadogMonitorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorTriggeredState ¶
type DatadogMonitorTriggeredState struct { // MonitorGroup is the name of the triggering group MonitorGroup string `json:"monitorGroup,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 ¶
func (in *DatadogMonitorTriggeredState) DeepCopy() *DatadogMonitorTriggeredState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorTriggeredState.
func (*DatadogMonitorTriggeredState) DeepCopyInto ¶
func (in *DatadogMonitorTriggeredState) DeepCopyInto(out *DatadogMonitorTriggeredState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorType ¶
type DatadogMonitorType string
DatadogMonitorType defines the type of monitor
const ( // DatadogMonitorTypeMetric is the metric alert monitor type DatadogMonitorTypeMetric DatadogMonitorType = "metric alert" // DatadogMonitorTypeQuery is the query alert monitor type DatadogMonitorTypeQuery DatadogMonitorType = "query alert" // DatadogMonitorTypeService is the service check monitor type DatadogMonitorTypeService DatadogMonitorType = "service check" // DatadogMonitorTypeEvent is the event alert monitor type DatadogMonitorTypeEvent DatadogMonitorType = "event alert" // DatadogMonitorTypeLog is the log alert monitor type DatadogMonitorTypeLog DatadogMonitorType = "log alert" // DatadogMonitorTypeProcess is the process alert monitor type DatadogMonitorTypeProcess DatadogMonitorType = "process alert" // DatadogMonitorTypeRUM is the rum alert monitor type DatadogMonitorTypeRUM DatadogMonitorType = "rum alert" // DatadogMonitorTypeTraceAnalytics is the trace-analytics alert monitor type DatadogMonitorTypeTraceAnalytics DatadogMonitorType = "trace-analytics alert" // DatadogMonitorTypeSLO is the slo alert monitor type DatadogMonitorTypeSLO DatadogMonitorType = "slo alert" // DatadogMonitorTypeEventV2 is the event-v2 alert monitor type DatadogMonitorTypeEventV2 DatadogMonitorType = "event-v2 alert" // DatadogMonitorTypeAudit is the audit alert monitor type DatadogMonitorTypeAudit DatadogMonitorType = "audit alert" // DatadogMonitorTypeComposite is the composite alert monitor type DatadogMonitorTypeComposite DatadogMonitorType = "composite" )
type 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 ¶
func DefaultConfigDogstatsd(config *NodeAgentConfig) *DogstatsdConfig
DefaultConfigDogstatsd used to default Dogstatsd config in NodeAgentConfig
func (*DogstatsdConfig) DeepCopy ¶
func (in *DogstatsdConfig) DeepCopy() *DogstatsdConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DogstatsdConfig.
func (*DogstatsdConfig) DeepCopyInto ¶
func (in *DogstatsdConfig) DeepCopyInto(out *DogstatsdConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalMetricsConfig ¶
type ExternalMetricsConfig struct { // Enable the metricsProvider to be able to scale based on metrics in Datadog. // +optional Enabled *bool `json:"enabled,omitempty"` // Enable informer and controller of the watermark pod autoscaler. // NOTE: The WatermarkPodAutoscaler controller needs to be installed. // See also: https://github.com/DataDog/watermarkpodautoscaler. // +optional WpaController bool `json:"wpaController,omitempty"` // Enable usage of DatadogMetrics CRD (allow to scale on arbitrary queries). // +optional UseDatadogMetrics bool `json:"useDatadogMetrics,omitempty"` // If specified configures the metricsProvider external metrics service port. // +optional Port *int32 `json:"port,omitempty"` // Override the API endpoint for the external metrics server. // Defaults to .spec.agent.config.ddUrl or "https://app.datadoghq.com" if that's empty. // +optional Endpoint *string `json:"endpoint,omitempty"` // Datadog credentials used by external metrics server to query Datadog. // If not set, the external metrics server uses the global .spec.Credentials // +optional Credentials *DatadogCredentials `json:"credentials,omitempty"` }
ExternalMetricsConfig contains the configuration of the external metrics provider in Cluster Agent. +k8s:openapi-gen=true
func DefaultExternalMetrics ¶
func DefaultExternalMetrics(conf *ClusterAgentConfig) *ExternalMetricsConfig
DefaultExternalMetrics defaults the External Metrics Server's config in the Cluster Agent's config
func (*ExternalMetricsConfig) DeepCopy ¶
func (in *ExternalMetricsConfig) DeepCopy() *ExternalMetricsConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalMetricsConfig.
func (*ExternalMetricsConfig) DeepCopyInto ¶
func (in *ExternalMetricsConfig) DeepCopyInto(out *ExternalMetricsConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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 ¶
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 ¶
type KubeStateMetricsCore struct { // Enable this to start the Kubernetes State Metrics Core check. // Refer to https://docs.datadoghq.com/integrations/kubernetes_state_core // +optional Enabled *bool `json:"enabled,omitempty"` // To override the configuration for the default Kubernetes State Metrics Core check. // Must point to a ConfigMap containing a valid cluster check configuration. Conf *CustomConfigSpec `json:"conf,omitempty"` // ClusterCheck configures the Kubernetes State Metrics Core check as a cluster check. // +optional ClusterCheck *bool `json:"clusterCheck,omitempty"` }
KubeStateMetricsCore contains the required parameters to enable and override the configuration of the Kubernetes State Metrics Core check. +k8s:openapi-gen=true
func DefaultDatadogFeatureKubeStateMetricsCore ¶
func DefaultDatadogFeatureKubeStateMetricsCore(ft *DatadogFeatures, withClusterChecksRunner bool) *KubeStateMetricsCore
DefaultDatadogFeatureKubeStateMetricsCore used to default the Kubernetes State Metrics core check Disabled by default with no overridden configuration.
func (*KubeStateMetricsCore) DeepCopy ¶
func (in *KubeStateMetricsCore) DeepCopy() *KubeStateMetricsCore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeStateMetricsCore.
func (*KubeStateMetricsCore) DeepCopyInto ¶
func (in *KubeStateMetricsCore) DeepCopyInto(out *KubeStateMetricsCore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeletConfig ¶
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 ¶
func (in *KubeletConfig) DeepCopy() *KubeletConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig.
func (*KubeletConfig) DeepCopyInto ¶
func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalService ¶
type LocalService struct { // Name of the internal traffic service to target the agent running on the local node // +optional OverrideName string `json:"overrideName,omitempty"` // Force the creation of the internal traffic policy service to target the agent running on the local node. // By default, the internal traffic service is created only on Kubernetes 1.22+ where the feature became beta and enabled by default. // This option allows to force the creation of the internal traffic service on kubernetes 1.21 where the feature was alpha and required a feature gate to be explicitly enabled. ForceLocalServiceEnable *bool `json:"forceLocalServiceEnable,omitempty"` }
LocalService provides internal traffic policy service configuration +k8s:openapi-gen=true
func (*LocalService) DeepCopy ¶
func (in *LocalService) DeepCopy() *LocalService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalService.
func (*LocalService) DeepCopyInto ¶
func (in *LocalService) DeepCopyInto(out *LocalService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogCollectionConfig ¶
type LogCollectionConfig struct { // Enable this option to activate Datadog Agent log collection. // See also: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup // // +optional Enabled *bool `json:"enabled,omitempty"` // Enable this option to allow log collection for all containers. // See also: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup // // +optional LogsConfigContainerCollectAll *bool `json:"logsConfigContainerCollectAll,omitempty"` // Collect logs from files in `/var/log/pods instead` of using the container runtime API. // Collecting logs from files is usually the most efficient way of collecting logs. // See also: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup // Default is true // // +optional ContainerCollectUsingFiles *bool `json:"containerCollectUsingFiles,omitempty"` // Allows log collection from the container log path. Set to a different path if you are not using the Docker runtime. // See also: https://docs.datadoghq.com/agent/kubernetes/daemonset_setup/?tab=k8sfile#create-manifest // Defaults to `/var/lib/docker/containers` // // +optional ContainerLogsPath *string `json:"containerLogsPath,omitempty"` // Allows log collection from pod log path. // Defaults to `/var/log/pods`. // // +optional PodLogsPath *string `json:"podLogsPath,omitempty"` // Allows the log collection to use symbolic links in this directory to // validate container ID -> pod. // Defaults to `/var/log/containers` // // +optional ContainerSymlinksPath *string `json:"containerSymlinksPath,omitempty"` // This path (always mounted from the host) is used by Datadog Agent to store information about processed log files. // If the Datadog Agent is restarted, it starts tailing the log files immediately. // Default to `/var/lib/datadog-agent/logs` // // +optional TempStoragePath *string `json:"tempStoragePath,omitempty"` // Sets the maximum number of log files that the Datadog Agent tails. Increasing this limit can // increase resource consumption of the Agent. // See also: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup // Default is 100 // // +optional OpenFilesLimit *int32 `json:"openFilesLimit,omitempty"` }
LogCollectionConfig contains the Log Agent configuration. +k8s:openapi-gen=true
func DefaultDatadogFeatureLogCollection ¶
func DefaultDatadogFeatureLogCollection(ft *DatadogFeatures) *LogCollectionConfig
DefaultDatadogFeatureLogCollection used to default an LogCollectionConfig return the defaulted LogCollectionConfig
func (*LogCollectionConfig) DeepCopy ¶
func (in *LogCollectionConfig) DeepCopy() *LogCollectionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogCollectionConfig.
func (*LogCollectionConfig) DeepCopyInto ¶
func (in *LogCollectionConfig) DeepCopyInto(out *LogCollectionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkMonitoringConfig ¶
type NetworkMonitoringConfig struct {
Enabled *bool `json:"enabled,omitempty"`
}
NetworkMonitoringConfig allows configuration of network performance monitoring.
func DefaultDatadogFeatureNetworkMonitoring ¶
func DefaultDatadogFeatureNetworkMonitoring(ft *DatadogFeatures) *NetworkMonitoringConfig
DefaultDatadogFeatureNetworkMonitoring used to default the NetworkMonitoring config
func (*NetworkMonitoringConfig) DeepCopy ¶
func (in *NetworkMonitoringConfig) DeepCopy() *NetworkMonitoringConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkMonitoringConfig.
func (*NetworkMonitoringConfig) DeepCopyInto ¶
func (in *NetworkMonitoringConfig) DeepCopyInto(out *NetworkMonitoringConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkPolicyFlavor ¶
type NetworkPolicyFlavor string
NetworkPolicyFlavor specifies which flavor of Network Policy to use.
const ( // NetworkPolicyFlavorKubernetes refers to `networking.k8s.io/v1/NetworkPolicy` NetworkPolicyFlavorKubernetes NetworkPolicyFlavor = "kubernetes" // NetworkPolicyFlavorCilium refers to `cilium.io/v2/CiliumNetworkPolicy` NetworkPolicyFlavorCilium NetworkPolicyFlavor = "cilium" )
type NetworkPolicySpec ¶
type NetworkPolicySpec struct { // If true, create a NetworkPolicy for the current agent. // +optional Create *bool `json:"create,omitempty"` // Which network policy to use. Can be `kubernetes` or `cilium`. // +optional Flavor NetworkPolicyFlavor `json:"flavor,omitempty"` // Cilium selector of the DNS server entity. // +optional // +listType=atomic DNSSelectorEndpoints []metav1.LabelSelector `json:"dnsSelectorEndpoints,omitempty"` }
NetworkPolicySpec provides Network Policy configuration for the agents. +k8s:openapi-gen=true
func DefaultAgentNetworkPolicy ¶
func DefaultAgentNetworkPolicy(agent *DatadogAgentSpecAgentSpec) *NetworkPolicySpec
DefaultAgentNetworkPolicy defaults the Network Policy for the Datadog Agent
func DefaultClusterAgentNetworkPolicy ¶
func DefaultClusterAgentNetworkPolicy(dca *DatadogAgentSpecClusterAgentSpec) *NetworkPolicySpec
DefaultClusterAgentNetworkPolicy defaults the Network Policy for the Datadog Cluster Agent
func DefaultClusterCheckRunnerNetworkPolicy ¶
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 Namespace Labels to Datadog Tags. // <KUBERNETES_LABEL>: <DATADOG_TAG_KEY> // +optional NamespaceLabelsAsTags map[string]string `json:"namespaceLabelsAsTags,omitempty"` // Provide a mapping of Kubernetes Node Labels to Datadog Tags. // <KUBERNETES_LABEL>: <DATADOG_TAG_KEY> // +optional NodeLabelsAsTags map[string]string `json:"nodeLabelsAsTags,omitempty"` // Provide a mapping of Kubernetes Pod Labels to Datadog Tags. // <KUBERNETES_LABEL>: <DATADOG_TAG_KEY> // +optional PodLabelsAsTags map[string]string `json:"podLabelsAsTags,omitempty"` // Provide a mapping of Kubernetes Pod Annotations to Datadog Tags. // <KUBERNETES_ANNOTATIONS>: <DATADOG_TAG_KEY> // +optional PodAnnotationsAsTags map[string]string `json:"podAnnotationsAsTags,omitempty"` // List of tags to attach to every metric, event and service check collected by this Agent. // Learn more about tagging: https://docs.datadoghq.com/tagging/ // +optional // +listType=set Tags []string `json:"tags,omitempty"` // Enables this to start event collection from the Kubernetes API. // See also: https://docs.datadoghq.com/agent/kubernetes/event_collection/ // +optional CollectEvents *bool `json:"collectEvents,omitempty"` // Enables leader election mechanism for event collection. // +optional LeaderElection *bool `json:"leaderElection,omitempty"` // The Datadog Agent supports many environment variables. // See also: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=map // +listMapKey=name Env []corev1.EnvVar `json:"env,omitempty"` // Specify additional volume mounts in the Datadog Agent container. // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Specify additional volumes in the Datadog Agent container. // +optional // +listType=map // +listMapKey=name Volumes []corev1.Volume `json:"volumes,omitempty"` // Datadog Agent resource requests and limits. // Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class. // See also: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Command allows the specification of custom entrypoint for the Agent container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,omitempty"` // Configure the Liveness Probe of the Agent container // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"` // Configure the Readiness Probe of the Agent container // +optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"` // HealthPort of the Agent container for internal liveness probe. // Must be the same as the Liveness/Readiness probes. // +optional HealthPort *int32 `json:"healthPort,omitempty"` // Configure the CRI Socket. CriSocket *CRISocketConfig `json:"criSocket,omitempty"` // Configure Dogstatsd. Dogstatsd *DogstatsdConfig `json:"dogstatsd,omitempty"` // If specified, the Agent pod's tolerations. // +optional // +listType=atomic Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Number of port to expose on the host. // If specified, this must be a valid port number, 0 < x < 65536. // If HostNetwork is specified, this must match ContainerPort. // Most containers do not need this. // // +optional HostPort *int32 `json:"hostPort,omitempty"` // KubeletConfig contains the Kubelet configuration parameters // +optional Kubelet *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 ¶
type OrchestratorExplorerConfig struct { // Enable this to activate live Kubernetes monitoring. // See also: https://docs.datadoghq.com/infrastructure/livecontainers/#kubernetes-resources // // +optional Enabled *bool `json:"enabled,omitempty"` // To override the configuration for the default Orchestrator Explorer check. // Must point to a ConfigMap containing a valid cluster check configuration. Conf *CustomConfigSpec `json:"conf,omitempty"` // ClusterCheck configures the Orchestrator Explorer check as a cluster check. // +optional ClusterCheck *bool `json:"clusterCheck,omitempty"` // +optional // Option to disable scrubbing of sensitive container data (passwords, tokens, etc. ). Scrubbing *Scrubbing `json:"scrubbing,omitempty"` // +optional // Additional endpoints for shipping the collected data as json in the form of {"https://process.agent.datadoghq.com": ["apikey1", ...], ...}'. AdditionalEndpoints *string `json:"additionalEndpoints,omitempty"` // +optional // Set this for the Datadog endpoint for the orchestrator explorer DDUrl *string `json:"ddUrl,omitempty"` // +optional // +listType=set // Additional tags for the collected data in the form of `a b c` // Difference to DD_TAGS: this is a cluster agent option that is used to define custom cluster tags ExtraTags []string `json:"extraTags,omitempty"` }
OrchestratorExplorerConfig contains the orchestrator explorer configuration. The orchestratorExplorer runs in the process-agent and DCA. +k8s:openapi-gen=true
func DefaultDatadogFeatureOrchestratorExplorer ¶
func DefaultDatadogFeatureOrchestratorExplorer(ft *DatadogFeatures, withClusterChecksRunner bool) *OrchestratorExplorerConfig
DefaultDatadogFeatureOrchestratorExplorer used to default an OrchestratorExplorerConfig return the defaulted OrchestratorExplorerConfig
func (*OrchestratorExplorerConfig) DeepCopy ¶
func (in *OrchestratorExplorerConfig) DeepCopy() *OrchestratorExplorerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratorExplorerConfig.
func (*OrchestratorExplorerConfig) DeepCopyInto ¶
func (in *OrchestratorExplorerConfig) DeepCopyInto(out *OrchestratorExplorerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProcessSpec ¶
type ProcessSpec struct { // Enable the Process Agent container. // See also: https://docs.datadoghq.com/infrastructure/process/?tab=kubernetes#installation // // +optional Enabled *bool `json:"enabled,omitempty"` // false (default): Only collect containers if available. // true: collect process information as well. // Note: If enabled, /etc/passwd is automatically mounted to allow username resolution. ProcessCollectionEnabled *bool `json:"processCollectionEnabled,omitempty"` // The Datadog Agent supports many environment variables. // See also: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=map // +listMapKey=name Env []corev1.EnvVar `json:"env,omitempty"` // Specify additional volume mounts in the Process Agent container. // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Datadog Process Agent resource requests and limits. // Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class. // See also: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Command allows the specification of custom entrypoint for Process Agent container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,omitempty"` }
ProcessSpec contains the Process Agent configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentProcess ¶
func DefaultDatadogAgentSpecAgentProcess(agent *DatadogAgentSpecAgentSpec) *ProcessSpec
DefaultDatadogAgentSpecAgentProcess used to default an ProcessSpec return the defaulted ProcessSpec
func (*ProcessSpec) DeepCopy ¶
func (in *ProcessSpec) DeepCopy() *ProcessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProcessSpec.
func (*ProcessSpec) DeepCopyInto ¶
func (in *ProcessSpec) DeepCopyInto(out *ProcessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusScrapeConfig ¶
type PrometheusScrapeConfig struct { // Enable autodiscovering pods and services exposing prometheus metrics. // +optional Enabled *bool `json:"enabled,omitempty"` // ServiceEndpoints enables generating dedicated checks for service endpoints. // +optional ServiceEndpoints *bool `json:"serviceEndpoints,omitempty"` // AdditionalConfigs allows adding advanced prometheus check configurations with custom discovery rules. // +optional AdditionalConfigs *string `json:"additionalConfigs,omitempty"` }
PrometheusScrapeConfig allows configuration of the Prometheus Autodiscovery feature. +k8s:openapi-gen=true
func DefaultDatadogFeaturePrometheusScrape ¶
func DefaultDatadogFeaturePrometheusScrape(ft *DatadogFeatures) *PrometheusScrapeConfig
DefaultDatadogFeaturePrometheusScrape used to default the Prometheus Scrape config
func (*PrometheusScrapeConfig) DeepCopy ¶
func (in *PrometheusScrapeConfig) DeepCopy() *PrometheusScrapeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusScrapeConfig.
func (*PrometheusScrapeConfig) DeepCopyInto ¶
func (in *PrometheusScrapeConfig) DeepCopyInto(out *PrometheusScrapeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RbacConfig ¶
type RbacConfig struct { // Used to configure RBAC resources creation. Create *bool `json:"create,omitempty"` // Used to set up the service account name to use. // Ignored if the field Create is true. ServiceAccountName *string `json:"serviceAccountName,omitempty"` }
RbacConfig contains RBAC configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecRbacConfig ¶
func DefaultDatadogAgentSpecRbacConfig(agent *DatadogAgentSpecAgentSpec) *RbacConfig
DefaultDatadogAgentSpecRbacConfig used to default a RbacConfig return the defaulted RbacConfig
func DefaultDatadogClusterAgentSpecRbacConfig ¶
func DefaultDatadogClusterAgentSpecRbacConfig(dca *DatadogAgentSpecClusterAgentSpec) *RbacConfig
DefaultDatadogClusterAgentSpecRbacConfig used to default a RbacConfig of the Cluster Agent
func DefaultDatadogClusterCheckRunnerSpecRbacConfig ¶
func DefaultDatadogClusterCheckRunnerSpecRbacConfig(clc *DatadogAgentSpecClusterChecksRunnerSpec) *RbacConfig
DefaultDatadogClusterCheckRunnerSpecRbacConfig used to default a RbacConfig of the Cluster Check Runner
func DefaultRbacConfig ¶
func DefaultRbacConfig(rbac *RbacConfig) *RbacConfig
DefaultRbacConfig defaults the RBAC section of the DatadogAgent
func (*RbacConfig) DeepCopy ¶
func (in *RbacConfig) DeepCopy() *RbacConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RbacConfig.
func (*RbacConfig) DeepCopyInto ¶
func (in *RbacConfig) DeepCopyInto(out *RbacConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RuntimeSecuritySpec ¶
type RuntimeSecuritySpec struct { // Enables runtime security features. // +optional Enabled *bool `json:"enabled,omitempty"` // ConfigDir containing security policies. // +optional PoliciesDir *ConfigDirSpec `json:"policiesDir,omitempty"` // Syscall monitor configuration. // +optional SyscallMonitor *SyscallMonitorSpec `json:"syscallMonitor,omitempty"` }
RuntimeSecuritySpec contains configuration for runtime security features. +k8s:openapi-gen=true
func (*RuntimeSecuritySpec) DeepCopy ¶
func (in *RuntimeSecuritySpec) DeepCopy() *RuntimeSecuritySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeSecuritySpec.
func (*RuntimeSecuritySpec) DeepCopyInto ¶
func (in *RuntimeSecuritySpec) DeepCopyInto(out *RuntimeSecuritySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Scrubbing ¶
type Scrubbing struct { // Deactivate this to stop the scrubbing of sensitive container data (passwords, tokens, etc. ). Containers *bool `json:"containers,omitempty"` }
Scrubbing contains configuration to enable or disable scrubbing options
func (*Scrubbing) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scrubbing.
func (*Scrubbing) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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 ¶
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 ¶
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/infrastructure/process/?tab=kubernetes#installation // +optional Enabled *bool `json:"enabled,omitempty"` // SecCompRootPath specify the seccomp profile root directory. // +optional SecCompRootPath string `json:"secCompRootPath,omitempty"` // SecCompCustomProfileConfigMap specify a pre-existing ConfigMap containing a custom SecComp profile. // This ConfigMap must contain a file named system-probe-seccomp.json. // +optional SecCompCustomProfileConfigMap string `json:"secCompCustomProfileConfigMap,omitempty"` // SecCompProfileName specify a seccomp profile. // +optional SecCompProfileName string `json:"secCompProfileName,omitempty"` // AppArmorProfileName specify a apparmor profile. // +optional AppArmorProfileName string `json:"appArmorProfileName,omitempty"` // ConntrackEnabled enable the system-probe agent to connect to the netlink/conntrack subsystem to add NAT information to connection data. // See also: http://conntrack-tools.netfilter.org/ ConntrackEnabled *bool `json:"conntrackEnabled,omitempty"` // BPFDebugEnabled logging for kernel debug. BPFDebugEnabled *bool `json:"bpfDebugEnabled,omitempty"` // DebugPort Specify the port to expose pprof and expvar for system-probe agent. DebugPort int32 `json:"debugPort,omitempty"` // EnableTCPQueueLength enables the TCP queue length eBPF-based check. EnableTCPQueueLength *bool `json:"enableTCPQueueLength,omitempty"` // EnableOOMKill enables the OOM kill eBPF-based check. EnableOOMKill *bool `json:"enableOOMKill,omitempty"` // CollectDNSStats enables DNS stat collection. CollectDNSStats *bool `json:"collectDNSStats,omitempty"` // Enable custom configuration for system-probe, corresponding to the system-probe.yaml config file. // This custom configuration has less priority than all settings above. // +optional CustomConfig *CustomConfigSpec `json:"customConfig,omitempty"` // The Datadog SystemProbe supports many environment variables. // See also: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables // // +optional // +listType=map // +listMapKey=name Env []corev1.EnvVar `json:"env,omitempty"` // Specify additional volume mounts in the Security Agent container. // +optional // +listType=map // +listMapKey=name // +listMapKey=mountPath VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Datadog SystemProbe resource requests and limits. // Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class. // See also: http://kubernetes.io/docs/user-guide/compute-resources/ Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Command allows the specification of custom entrypoint for System Probe container // +listType=atomic Command []string `json:"command,omitempty"` // Args allows the specification of extra args to `Command` parameter // +listType=atomic Args []string `json:"args,omitempty"` // You can modify the security context used to run the containers by // modifying the label type. // +optional SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` }
SystemProbeSpec contains the SystemProbe Agent configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentSystemProbe ¶
func DefaultDatadogAgentSpecAgentSystemProbe(agent *DatadogAgentSpecAgentSpec) *SystemProbeSpec
DefaultDatadogAgentSpecAgentSystemProbe defaults the System Probe This method can be re-run as part of the FeatureOverride
func (*SystemProbeSpec) DeepCopy ¶
func (in *SystemProbeSpec) DeepCopy() *SystemProbeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemProbeSpec.
func (*SystemProbeSpec) DeepCopyInto ¶
func (in *SystemProbeSpec) DeepCopyInto(out *SystemProbeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.