Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the datadoghq v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=datadoghq.com
Package v1alpha1 contains API Schema definitions for the datadoghq v1alpha1 API group +kubebuilder:object:generate=true +groupName=datadoghq.com
Index ¶
- Constants
- Variables
- func BoolToString(b *bool) string
- func BoolValue(b *bool) bool
- func DefaultConfigDogstatsd(config *NodeAgentConfig)
- func GetKubeStateMetricsConfName(dcaConf *DatadogAgent) string
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- func IsDefaultedDatadogAgent(ad *DatadogAgent) bool
- func IsDefaultedDatadogAgentSpecAgentConfig(config *NodeAgentConfig) bool
- func IsDefaultedDatadogAgentSpecApm(apm *APMSpec) bool
- func IsDefaultedDatadogAgentSpecClusterAgentConfig(config *ClusterAgentConfig) bool
- func IsDefaultedDatadogAgentSpecClusterChecksRunnerConfig(config *ClusterChecksRunnerConfig) bool
- func IsDefaultedDatadogAgentSpecDatadogAgentStrategy(strategy *DaemonSetDeploymentStrategy) bool
- func IsDefaultedDatadogAgentSpecLog(log *LogCollectionConfig) bool
- func IsDefaultedDatadogAgentSpecProcess(process *ProcessSpec) bool
- func IsDefaultedDatadogAgentSpecRbacConfig(rbac *RbacConfig) bool
- func IsDefaultedDogstatsConfig(dsd *DogstatsdConfig) bool
- func IsDefaultedImageConfig(imageConfig *ImageConfig) bool
- func IsDefaultedKubeStateMetricsCore(ksmCore *KubeStateMetricsCore) bool
- func IsDefaultedNetworkPolicy(policy *NetworkPolicySpec) bool
- func IsDefaultedOrchestratorExplorer(orc *OrchestratorExplorerConfig) bool
- func IsDefaultedPrometheusScrape(prom *PrometheusScrapeConfig) bool
- func IsValidCustomConfigSpec(ccs *CustomConfigSpec) error
- func IsValidDatadogAgent(spec *DatadogAgentSpec) error
- func IsValidDatadogMonitor(spec *DatadogMonitorSpec) error
- func Kind(kind string) schema.GroupKind
- func NewBoolPointer(b bool) *bool
- func NewInt32Pointer(i int32) *int32
- func NewInt64Pointer(i int64) *int64
- func NewStringPointer(s string) *string
- func Resource(resource string) schema.GroupResource
- type APMSpec
- type APMUnixDomainSocketSpec
- type AdmissionControllerConfig
- type AgentCredentials
- type CRISocketConfig
- type ClusterAgentConfig
- type ClusterChecksRunnerConfig
- type ComplianceSpec
- type ConfigDirSpec
- type ConfigFileConfigMapSpec
- type CustomConfigSpec
- type DSDUnixDomainSocketSpec
- type DaemonSetDeploymentStrategy
- type DaemonSetRollingUpdateSpec
- type DaemonSetStatus
- type DatadogAgent
- type DatadogAgentCondition
- type DatadogAgentConditionType
- type DatadogAgentList
- type DatadogAgentSpec
- type DatadogAgentSpecAgentSpec
- type DatadogAgentSpecClusterAgentSpec
- type DatadogAgentSpecClusterChecksRunnerSpec
- type DatadogAgentState
- type DatadogAgentStatus
- type DatadogCredentials
- type DatadogFeatures
- type DatadogMetric
- type DatadogMetricCondition
- type DatadogMetricConditionType
- type DatadogMetricList
- type DatadogMetricSpec
- type DatadogMetricStatus
- type DatadogMonitor
- type DatadogMonitorCondition
- type DatadogMonitorConditionType
- type DatadogMonitorDowntimeStatus
- type DatadogMonitorList
- type DatadogMonitorOptions
- type DatadogMonitorOptionsThresholdWindows
- type DatadogMonitorOptionsThresholds
- type DatadogMonitorSpec
- type DatadogMonitorState
- type DatadogMonitorStatus
- type DatadogMonitorTriggeredState
- type DatadogMonitorType
- type DeploymentStatus
- type DogstatsdConfig
- type ExternalMetricsConfig
- type ImageConfig
- type KubeStateMetricsCore
- type KubeletConfig
- type LogCollectionConfig
- type NetworkMonitoringConfig
- type NetworkPolicySpec
- type NodeAgentConfig
- type OrchestratorExplorerConfig
- type ProcessSpec
- type PrometheusScrapeConfig
- type RbacConfig
- type RuntimeSecuritySpec
- type Scrubbing
- type Secret
- type SecuritySpec
- type SyncStatusMessage
- type SyscallMonitorSpec
- type SystemProbeSpec
Constants ¶
const ( // AgentDeploymentNameLabelKey label key use to link a Resource to a DatadogAgent AgentDeploymentNameLabelKey = "agent.datadoghq.com/name" // AgentDeploymentComponentLabelKey label key use to know with component is it AgentDeploymentComponentLabelKey = "agent.datadoghq.com/component" // MD5AgentDeploymentAnnotationKey annotation key used on a Resource in order to identify which AgentDeployment have been used to generate it. MD5AgentDeploymentAnnotationKey = "agent.datadoghq.com/agentspechash" // DefaultAgentResourceSuffix use as suffix for agent resource naming DefaultAgentResourceSuffix = "agent" // DefaultClusterAgentResourceSuffix use as suffix for cluster-agent resource naming DefaultClusterAgentResourceSuffix = "cluster-agent" // DefaultClusterChecksRunnerResourceSuffix use as suffix for cluster-checks-runner resource naming DefaultClusterChecksRunnerResourceSuffix = "cluster-checks-runner" // DefaultMetricsServerResourceSuffix use as suffix for cluster-agent metrics-server resource naming DefaultMetricsServerResourceSuffix = "cluster-agent-metrics-server" // DefaultAPPKeyKey default app-key key (use in secret for instance). DefaultAPPKeyKey = "app_key" // DefaultAPIKeyKey default api-key key (use in secret for instance). DefaultAPIKeyKey = "api_key" // DefaultTokenKey default token key (use in secret for instance). DefaultTokenKey = "token" // DefaultClusterAgentServicePort default cluster-agent service port DefaultClusterAgentServicePort = 5005 // DefaultMetricsServerServicePort default metrics-server port DefaultMetricsServerServicePort = 443 // DefaultMetricsServerTargetPort default metrics-server pod port DefaultMetricsServerTargetPort = int(defaultMetricsProviderPort) // DefaultAdmissionControllerServicePort default admission controller service port DefaultAdmissionControllerServicePort = 443 // DefaultAdmissionControllerTargetPort default admission controller pod port DefaultAdmissionControllerTargetPort = 8000 // DefaultDogstatsdPort default dogstatsd port DefaultDogstatsdPort = 8125 )
const ( DatadogHost = "DATADOG_HOST" DDAPIKey = "DD_API_KEY" DDClusterName = "DD_CLUSTER_NAME" DDSite = "DD_SITE" DDddURL = "DD_DD_URL" DDHealthPort = "DD_HEALTH_PORT" DDLogLevel = "DD_LOG_LEVEL" DDPodLabelsAsTags = "DD_KUBERNETES_POD_LABELS_AS_TAGS" DDPodAnnotationsAsTags = "DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS" DDTags = "DD_TAGS" DDCollectKubeEvents = "DD_COLLECT_KUBERNETES_EVENTS" DDLeaderElection = "DD_LEADER_ELECTION" DDLogsEnabled = "DD_LOGS_ENABLED" DDLogsConfigContainerCollectAll = "DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL" DDLogsContainerCollectUsingFiles = "DD_LOGS_CONFIG_K8S_CONTAINER_USE_FILE" DDLogsConfigOpenFilesLimit = "DD_LOGS_CONFIG_OPEN_FILES_LIMIT" DDDogstatsdEnabled = "DD_USE_DOGSTATSD" DDDogstatsdOriginDetection = "DD_DOGSTATSD_ORIGIN_DETECTION" DDDogstatsdPort = "DD_DOGSTATSD_PORT" DDDogstatsdSocket = "DD_DOGSTATSD_SOCKET" DDDogstatsdMapperProfiles = "DD_DOGSTATSD_MAPPER_PROFILES" DDClusterAgentEnabled = "DD_CLUSTER_AGENT_ENABLED" DDClusterAgentKubeServiceName = "DD_CLUSTER_AGENT_KUBERNETES_SERVICE_NAME" DDClusterAgentAuthToken = "DD_CLUSTER_AGENT_AUTH_TOKEN" DDMetricsProviderEnabled = "DD_EXTERNAL_METRICS_PROVIDER_ENABLED" DDMetricsProviderPort = "DD_EXTERNAL_METRICS_PROVIDER_PORT" DDMetricsProviderUseDatadogMetric = "DD_EXTERNAL_METRICS_PROVIDER_USE_DATADOGMETRIC_CRD" DDMetricsProviderWPAController = "DD_EXTERNAL_METRICS_PROVIDER_WPA_CONTROLLER" DDAppKey = "DD_APP_KEY" DDClusterChecksEnabled = "DD_CLUSTER_CHECKS_ENABLED" DDIgnoreAutoConf = "DD_IGNORE_AUTOCONF" DDKubeStateMetricsCoreEnabled = "DD_KUBE_STATE_METRICS_CORE_ENABLED" DDKubeStateMetricsCoreConfigMap = "DD_KUBE_STATE_METRICS_CORE_CONFIGMAP_NAME" DDClcRunnerEnabled = "DD_CLC_RUNNER_ENABLED" DDClcRunnerHost = "DD_CLC_RUNNER_HOST" 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" DDEnableMetadataCollection = "DD_ENABLE_METADATA_COLLECTION" DDKubeletHost = "DD_KUBERNETES_KUBELET_HOST" DDKubeletTLSVerify = "DD_KUBELET_TLS_VERIFY" DDKubeletCAPath = "DD_KUBELET_CLIENT_CA" DDCriSocketPath = "DD_CRI_SOCKET_PATH" DockerHost = "DOCKER_HOST" DDAdmissionControllerEnabled = "DD_ADMISSION_CONTROLLER_ENABLED" DDAdmissionControllerMutateUnlabelled = "DD_ADMISSION_CONTROLLER_MUTATE_UNLABELLED" DDAdmissionControllerInjectConfig = "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_ENABLED" DDAdmissionControllerInjectTags = "DD_ADMISSION_CONTROLLER_INJECT_TAGS_ENABLED" DDAdmissionControllerServiceName = "DD_ADMISSION_CONTROLLER_SERVICE_NAME" DDComplianceConfigEnabled = "DD_COMPLIANCE_CONFIG_ENABLED" DDComplianceConfigCheckInterval = "DD_COMPLIANCE_CONFIG_CHECK_INTERVAL" DDComplianceConfigDir = "DD_COMPLIANCE_CONFIG_DIR" DDRuntimeSecurityConfigEnabled = "DD_RUNTIME_SECURITY_CONFIG_ENABLED" DDRuntimeSecurityConfigPoliciesDir = "DD_RUNTIME_SECURITY_CONFIG_POLICIES_DIR" DDRuntimeSecurityConfigSocket = "DD_RUNTIME_SECURITY_CONFIG_SOCKET" DDRuntimeSecurityConfigSyscallMonitorEnabled = "DD_RUNTIME_SECURITY_CONFIG_SYSCALL_MONITOR_ENABLED" 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" // KubernetesEnvvarName Env var used by the Datadog Agent container entrypoint // to add kubelet config provider and listener KubernetesEnvvarName = "KUBERNETES" LogDatadogVolumeName = "logdatadog" LogDatadogVolumePath = "/var/log/datadog" APMSocketVolumeName = "apmsocket" APMSocketVolumePath = "/var/run/datadog/apm" InstallInfoVolumeName = "installinfo" InstallInfoVolumeSubPath = "install_info" InstallInfoVolumePath = "/etc/datadog-agent/install_info" InstallInfoVolumeReadOnly = true ConfdVolumeName = "confd" ConfdVolumePath = "/conf.d" ChecksdVolumeName = "checksd" ChecksdVolumePath = "/checks.d" ConfigVolumeName = "config" ConfigVolumePath = "/etc/datadog-agent" AuthVolumeName = "datadog-agent-auth" AuthVolumePath = "/etc/datadog-agent/auth" ProcVolumeName = "procdir" ProcVolumePath = "/host/proc" ProcVolumeReadOnly = true PasswdVolumeName = "passwd" PasswdVolumePath = "/etc/passwd" GroupVolumeName = "group" GroupVolumePath = "/etc/group" HostRootVolumeName = "hostroot" HostRootVolumePath = "/host/root" CgroupsVolumeName = "cgroups" CgroupsVolumePath = "/host/sys/fs/cgroup" CgroupsVolumeReadOnly = true SystemProbeSocketVolumeName = "sysprobe-socket-dir" SystemProbeSocketVolumePath = "/var/run/sysprobe" CriSocketVolumeName = "runtimesocketdir" CriSocketVolumeReadOnly = true DogstatsdSocketVolumeName = "dsdsocket" DogstatsdSocketVolumePath = "/var/run/datadog/statsd" KubeStateMetricCoreVolumeName = "ksm-core-config" PointerVolumeName = "pointerdir" PointerVolumePath = "/opt/datadog-agent/run" LogPodVolumeName = "logpodpath" LogPodVolumePath = "/var/log/pods" LogPodVolumeReadOnly = true LogContainerVolumeName = "logcontainerpath" LogContainerVolumeReadOnly = true 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" HostCriSocketPathPrefix = "/host" SecurityAgentRuntimePoliciesDirVolumeName = "runtimepoliciesdir" SecurityAgentRuntimePoliciesDirVolumePath = "/etc/datadog-agent/runtime-security.d" SecurityAgentComplianceConfigDirVolumeName = "compliancedir" SecurityAgentComplianceConfigDirVolumePath = "/etc/datadog-agent/compliance.d" ClusterAgentCustomConfigVolumeName = "custom-datadog-yaml" ClusterAgentCustomConfigVolumePath = "/etc/datadog-agent/datadog-cluster.yaml" ClusterAgentCustomConfigVolumeSubPath = "datadog-cluster.yaml" DefaultSystemProbeSecCompRootPath = "/var/lib/kubelet/seccomp" DefaultAppArmorProfileName = "unconfined" DefaultSeccompProfileName = "localhost/system-probe" SysteProbeAppArmorAnnotationKey = "container.apparmor.security.beta.kubernetes.io/system-probe" SysteProbeSeccompAnnotationKey = "container.seccomp.security.alpha.kubernetes.io/system-probe" 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" DefaultLivenessProbeInitialDelaySeconds int32 = 15 DefaultLivenessProbePeriodSeconds int32 = 15 DefaultLivenessProbeTimeoutSeconds int32 = 5 DefaultLivenessProbeSuccessThreshold int32 = 1 DefaultLivenessProbeFailureThreshold int32 = 6 DefaultAgentHealthPort int32 = 5555 DefaultLivenessProbeHTTPPath = "/live" DefaultReadinessProbeInitialDelaySeconds int32 = 15 DefaultReadinessProbePeriodSeconds int32 = 15 DefaultReadinessProbeTimeoutSeconds int32 = 5 DefaultReadinessProbeSuccessThreshold int32 = 1 DefaultReadinessProbeFailureThreshold int32 = 6 DefaultReadinessProbeHTTPPath = "/ready" DefaultAPMAgentTCPPort int32 = 8126 CoreAPIGroup = "" ExtensionsAPIGroup = "extensions" OpenShiftQuotaAPIGroup = "quota.openshift.io" RbacAPIGroup = "rbac.authorization.k8s.io" AutoscalingAPIGroup = "autoscaling" CertificatesAPIGroup = "certificates.k8s.io" StorageAPIGroup = "storage.k8s.io" CoordinationAPIGroup = "coordination.k8s.io" DatadogAPIGroup = "datadoghq.com" AdmissionAPIGroup = "admissionregistration.k8s.io" AppsAPIGroup = "apps" BatchAPIGroup = "batch" PolicyAPIGroup = "policy" NetworkingAPIGroup = "networking.k8s.io" ServicesResource = "services" EventsResource = "events" EndpointsResource = "endpoints" PodsResource = "pods" NodesResource = "nodes" ComponentStatusesResource = "componentstatuses" CertificatesSigningRequestsResource = "certificatesigningrequests" ConfigMapsResource = "configmaps" ResourceQuotasResource = "resourcequotas" ReplicationControllersResource = "replicationcontrollers" LimitRangesResource = "limitranges" PersistentVolumeClaimsResource = "persistentvolumeclaims" PersistentVolumesResource = "persistentvolumes" LeasesResource = "leases" ClusterResourceQuotasResource = "clusterresourcequotas" NodeMetricsResource = "nodes/metrics" NodeSpecResource = "nodes/spec" NodeProxyResource = "nodes/proxy" NodeStats = "nodes/stats" HorizontalPodAutoscalersRecource = "horizontalpodautoscalers" DatadogMetricsResource = "datadogmetrics" DatadogMetricsStatusResource = "datadogmetrics/status" WpaResource = "watermarkpodautoscalers" MutatingConfigResource = "mutatingwebhookconfigurations" ValidatingConfigResource = "validatingwebhookconfigurations" SecretsResource = "secrets" PodDisruptionBudgetsResource = "poddisruptionbudgets" ReplicasetsResource = "replicasets" DeploymentsResource = "deployments" StatefulsetsResource = "statefulsets" DaemonsetsResource = "daemonsets" JobsResource = "jobs" CronjobsResource = "cronjobs" StorageClassesResource = "storageclasses" VolumeAttachments = "volumeattachments" ExtendedDaemonSetReplicaSetResource = "extendeddaemonsetreplicasets" ServiceAccountResource = "serviceaccounts" NamespaceResource = "namespaces" PodSecurityPolicyResource = "podsecuritypolicies" ClusterRoleBindingResource = "clusterrolebindings" RoleBindingResource = "rolebindings" NetworkPolicyResource = "networkpolicies" IngressesResource = "ingresses" DatadogTokenResourceName = "datadogtoken" DatadogLeaderElectionResourceName = "datadog-leader-election" DatadogCustomMetricsResourceName = "datadog-custom-metrics" DatadogClusterIDResourceName = "datadog-cluster-id" ExtensionAPIServerAuthResourceName = "extension-apiserver-authentication" KubeSystemResourceName = "kube-system" VersionURL = "/version" HealthzURL = "/healthz" MetricsURL = "/metrics" GetVerb = "get" ListVerb = "list" WatchVerb = "watch" UpdateVerb = "update" CreateVerb = "create" DeleteVerb = "delete" ClusterRoleKind = "ClusterRole" RoleKind = "Role" ServiceAccountKind = "ServiceAccount" )
Datadog env var names
const ( DefaultLogLevel string = "INFO" DefaultKubeStateMetricsCoreConf string = "kube-state-metrics-core-config" DefaultAdmissionServiceName = "datadog-admission-controller" )
default values
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "datadoghq.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func BoolToString ¶
BoolToString return "true" if b == true, else "false"
func DefaultConfigDogstatsd ¶ added in v0.5.0
func DefaultConfigDogstatsd(config *NodeAgentConfig)
DefaultConfigDogstatsd used to default Dogstatsd config in NodeAgentConfig
func GetKubeStateMetricsConfName ¶ added in v0.5.0
func GetKubeStateMetricsConfName(dcaConf *DatadogAgent) string
GetKubeStateMetricsConfName get the name of the Configmap for the KSM Core check.
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
func IsDefaultedDatadogAgent ¶
func IsDefaultedDatadogAgent(ad *DatadogAgent) bool
IsDefaultedDatadogAgent used to check if an DatadogAgent was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecAgentConfig ¶
func IsDefaultedDatadogAgentSpecAgentConfig(config *NodeAgentConfig) bool
IsDefaultedDatadogAgentSpecAgentConfig used to check if a NodeAgentConfig was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecApm ¶
IsDefaultedDatadogAgentSpecApm used to check if an APMSpec was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecClusterAgentConfig ¶
func IsDefaultedDatadogAgentSpecClusterAgentConfig(config *ClusterAgentConfig) bool
IsDefaultedDatadogAgentSpecClusterAgentConfig used to check if a ClusterAgentConfig was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecClusterChecksRunnerConfig ¶
func IsDefaultedDatadogAgentSpecClusterChecksRunnerConfig(config *ClusterChecksRunnerConfig) bool
IsDefaultedDatadogAgentSpecClusterChecksRunnerConfig used to check if a ClusterChecksRunnerConfig was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecDatadogAgentStrategy ¶
func IsDefaultedDatadogAgentSpecDatadogAgentStrategy(strategy *DaemonSetDeploymentStrategy) bool
IsDefaultedDatadogAgentSpecDatadogAgentStrategy used to check if a DaemonSetDeploymentStrategy was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecLog ¶
func IsDefaultedDatadogAgentSpecLog(log *LogCollectionConfig) bool
IsDefaultedDatadogAgentSpecLog used to check if an LogCollectionConfig was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecProcess ¶
func IsDefaultedDatadogAgentSpecProcess(process *ProcessSpec) bool
IsDefaultedDatadogAgentSpecProcess used to check if an ProcessSpec was already defaulted returns true if yes, else false
func IsDefaultedDatadogAgentSpecRbacConfig ¶
func IsDefaultedDatadogAgentSpecRbacConfig(rbac *RbacConfig) bool
IsDefaultedDatadogAgentSpecRbacConfig used to check if a RbacConfig is defaulted returns true if yes, else false
func IsDefaultedDogstatsConfig ¶ added in v0.5.0
func IsDefaultedDogstatsConfig(dsd *DogstatsdConfig) bool
IsDefaultedDogstatsConfig used to check if the dogstatsd configuration is defaulted
func IsDefaultedImageConfig ¶
func IsDefaultedImageConfig(imageConfig *ImageConfig) bool
IsDefaultedImageConfig used to check if a ImageConfig was already defaulted returns true if yes, else false
func IsDefaultedKubeStateMetricsCore ¶ added in v0.5.0
func IsDefaultedKubeStateMetricsCore(ksmCore *KubeStateMetricsCore) bool
IsDefaultedKubeStateMetricsCore check if the Kubernetes State Metrics Core has the minimal config
func IsDefaultedNetworkPolicy ¶
func IsDefaultedNetworkPolicy(policy *NetworkPolicySpec) bool
IsDefaultedNetworkPolicy used to check if a NetworkPolicySpec was already defaulted. Returns true if yes, or false otherwise
func IsDefaultedOrchestratorExplorer ¶ added in v0.5.0
func IsDefaultedOrchestratorExplorer(orc *OrchestratorExplorerConfig) bool
IsDefaultedOrchestratorExplorer used to check if the orchestratorExplorer feature was already defaulted returns true if yes, else false
func IsDefaultedPrometheusScrape ¶ added in v0.6.0
func IsDefaultedPrometheusScrape(prom *PrometheusScrapeConfig) bool
IsDefaultedPrometheusScrape returns whether Prometheus Scrape config is defauled
func IsValidCustomConfigSpec ¶
func IsValidCustomConfigSpec(ccs *CustomConfigSpec) error
IsValidCustomConfigSpec used to check if a CustomConfigSpec is properly set
func IsValidDatadogAgent ¶
func IsValidDatadogAgent(spec *DatadogAgentSpec) error
IsValidDatadogAgent use to check if a DatadogAgentSpec is valid
func IsValidDatadogMonitor ¶ added in v0.6.0
func IsValidDatadogMonitor(spec *DatadogMonitorSpec) error
IsValidDatadogMonitor use to check if a DatadogMonitorSpec is valid by checking that the required fields are defined
func NewBoolPointer ¶
NewBoolPointer returns pointer on a new bool value instance
func NewInt32Pointer ¶
NewInt32Pointer returns pointer on a new int32 value instance
func NewInt64Pointer ¶
NewInt64Pointer returns pointer on a new int32 value instance
func NewStringPointer ¶
NewStringPointer returns pointer on a new string value instance
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type APMSpec ¶
type APMSpec struct {
// Enable this to enable APM and tracing, on port 8126.
// See also: https://github.com/DataDog/docker-dd-agent#tracing-from-the-host
// +optional
Enabled *bool `json:"enabled,omitempty"`
// Number of port to expose on the host.
// If specified, this must be a valid port number, 0 < x < 65536.
// If HostNetwork is specified, this must match ContainerPort.
// Most containers do not need this.
//
// +optional
HostPort *int32 `json:"hostPort,omitempty"`
// UnixDomainSocket socket configuration.
// See also: https://docs.datadoghq.com/agent/kubernetes/apm/?tab=helm#agent-environment-variables
// +optional
UnixDomainSocket *APMUnixDomainSocketSpec `json:"unixDomainSocket,omitempty"`
// The Datadog Agent supports many environment variables.
// See also: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables
//
// +optional
// +listType=map
// +listMapKey=name
Env []corev1.EnvVar `json:"env,omitempty"`
// Specify additional volume mounts in the APM Agent container.
// +optional
// +listType=map
// +listMapKey=name
// +listMapKey=mountPath
VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
// Datadog APM Agent resource requests and limits.
// Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class.
// See also: http://kubernetes.io/docs/user-guide/compute-resources/
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// Command allows the specification of custom entrypoint for Trace Agent container
// +listType=atomic
Command []string `json:"command,omitempty"`
// Args allows the specification of extra args to `Command` parameter
// +listType=atomic
Args []string `json:"args,omitempty"`
}
APMSpec contains the Trace Agent configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentApm ¶
DefaultDatadogAgentSpecAgentApm used to default an APMSpec return the defaulted APMSpec
func (*APMSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APMSpec.
func (*APMSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APMUnixDomainSocketSpec ¶ added in v0.5.0
type APMUnixDomainSocketSpec struct {
// Enable APM over Unix Domain Socket
// See also: https://docs.datadoghq.com/agent/kubernetes/apm/?tab=helm#agent-environment-variables
// +optional
Enabled *bool `json:"enabled,omitempty"`
// Define the host APM socket filepath used when APM over Unix Domain Socket is enabled.
// (default value: /var/run/datadog/apm.sock)
// See also: https://docs.datadoghq.com/agent/kubernetes/apm/?tab=helm#agent-environment-variables
// +optional
HostFilepath *string `json:"hostFilepath,omitempty"`
}
APMUnixDomainSocketSpec contains the APM Unix Domain Socket configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentApmUDS ¶ added in v0.5.0
func DefaultDatadogAgentSpecAgentApmUDS(uds *APMUnixDomainSocketSpec) *APMUnixDomainSocketSpec
DefaultDatadogAgentSpecAgentApmUDS used to default APMUnixDomainSocketSpec rreturn the defaulted APMUnixDomainSocketSpec
func (*APMUnixDomainSocketSpec) DeepCopy ¶ added in v0.5.0
func (in *APMUnixDomainSocketSpec) DeepCopy() *APMUnixDomainSocketSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APMUnixDomainSocketSpec.
func (*APMUnixDomainSocketSpec) DeepCopyInto ¶ added in v0.5.0
func (in *APMUnixDomainSocketSpec) DeepCopyInto(out *APMUnixDomainSocketSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdmissionControllerConfig ¶
type AdmissionControllerConfig struct {
// Enable the admission controller to be able to inject APM/Dogstatsd config
// and standard tags (env, service, version) automatically into your pods.
// +optional
Enabled bool `json:"enabled,omitempty"`
// MutateUnlabelled enables injecting config without having the pod label 'admission.datadoghq.com/enabled="true"'.
// +optional
MutateUnlabelled *bool `json:"mutateUnlabelled,omitempty"`
// ServiceName corresponds to the webhook service name.
// +optional
ServiceName *string `json:"serviceName,omitempty"`
}
AdmissionControllerConfig contains the configuration of the admission controller in Cluster Agent. +k8s:openapi-gen=true
func (*AdmissionControllerConfig) DeepCopy ¶
func (in *AdmissionControllerConfig) DeepCopy() *AdmissionControllerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionControllerConfig.
func (*AdmissionControllerConfig) DeepCopyInto ¶
func (in *AdmissionControllerConfig) DeepCopyInto(out *AdmissionControllerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentCredentials ¶
type AgentCredentials struct {
DatadogCredentials `json:",inline"`
// This needs to be at least 32 characters a-zA-z.
// It is a preshared key between the node agents and the cluster agent.
// +optional
Token string `json:"token,omitempty"`
// UseSecretBackend use the Agent secret backend feature for retreiving all credentials needed by
// the different components: Agent, Cluster, Cluster-Checks.
// If `useSecretBackend: true`, other credential parameters will be ignored.
// default value is false.
UseSecretBackend *bool `json:"useSecretBackend,omitempty"`
}
AgentCredentials contains credentials values to configure the Agent. +k8s:openapi-gen=true
func (*AgentCredentials) DeepCopy ¶
func (in *AgentCredentials) DeepCopy() *AgentCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentCredentials.
func (*AgentCredentials) DeepCopyInto ¶
func (in *AgentCredentials) DeepCopyInto(out *AgentCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CRISocketConfig ¶
type CRISocketConfig struct {
// Path to the docker runtime socket.
// +optional
DockerSocketPath *string `json:"dockerSocketPath,omitempty"`
// Path to the container runtime socket (if different from Docker).
// This is supported starting from agent 6.6.0.
// +optional
CriSocketPath *string `json:"criSocketPath,omitempty"`
}
CRISocketConfig contains the CRI socket configuration parameters. +k8s:openapi-gen=true
func (*CRISocketConfig) DeepCopy ¶
func (in *CRISocketConfig) DeepCopy() *CRISocketConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CRISocketConfig.
func (*CRISocketConfig) DeepCopyInto ¶
func (in *CRISocketConfig) DeepCopyInto(out *CRISocketConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterAgentConfig ¶
type ClusterAgentConfig struct {
ExternalMetrics *ExternalMetricsConfig `json:"externalMetrics,omitempty"`
// Configure the Admission Controller.
AdmissionController *AdmissionControllerConfig `json:"admissionController,omitempty"`
// Enable the Cluster Checks and Endpoint Checks feature on both the cluster-agents and the daemonset.
// See also:
// https://docs.datadoghq.com/agent/cluster_agent/clusterchecks/
// https://docs.datadoghq.com/agent/cluster_agent/endpointschecks/
// Autodiscovery via Kube Service annotations is automatically enabled.
ClusterChecksEnabled *bool `json:"clusterChecksEnabled,omitempty"`
// Enable this to start event collection from the kubernetes API.
// See also: https://docs.datadoghq.com/agent/cluster_agent/event_collection/
// +optional
CollectEvents *bool `json:"collectEvents,omitempty"`
// Set logging verbosity, valid log levels are:
// trace, debug, info, warn, error, critical, and off
LogLevel *string `json:"logLevel,omitempty"`
// Datadog cluster-agent resource requests and limits.
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// Command allows the specification of custom entrypoint for Cluster Agent container
// +listType=atomic
Command []string `json:"command,omitempty"`
// Args allows the specification of extra args to `Command` parameter
// +listType=atomic
Args []string `json:"args,omitempty"`
// Confd Provide additional cluster check configurations. Each key will become a file in /conf.d.
// see https://docs.datadoghq.com/agent/autodiscovery/ for more details.
// +optional
Confd *ConfigDirSpec `json:"confd,omitempty"`
// The Datadog Agent supports many environment variables.
// See also: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables
//
// +optional
// +listType=map
// +listMapKey=name
Env []corev1.EnvVar `json:"env,omitempty"`
// Specify additional volume mounts in the Datadog Cluster Agent container.
// +optional
// +listType=map
// +listMapKey=name
// +listMapKey=mountPath
VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
// Specify additional volumes in the Datadog Cluster Agent container.
// +optional
// +listType=map
// +listMapKey=name
Volumes []corev1.Volume `json:"volumes,omitempty"`
}
ClusterAgentConfig contains the configuration of the Cluster Agent. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecClusterAgentConfig ¶
func DefaultDatadogAgentSpecClusterAgentConfig(config *ClusterAgentConfig) *ClusterAgentConfig
DefaultDatadogAgentSpecClusterAgentConfig used to default an ClusterAgentConfig return the defaulted ClusterAgentConfig
func (*ClusterAgentConfig) DeepCopy ¶
func (in *ClusterAgentConfig) DeepCopy() *ClusterAgentConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAgentConfig.
func (*ClusterAgentConfig) DeepCopyInto ¶
func (in *ClusterAgentConfig) DeepCopyInto(out *ClusterAgentConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterChecksRunnerConfig ¶
type ClusterChecksRunnerConfig struct {
// Datadog Cluster Checks Runner resource requests and limits.
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// 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"`
}
ClusterChecksRunnerConfig contains the configuration of the Cluster Checks Runner. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecClusterChecksRunnerConfig ¶
func DefaultDatadogAgentSpecClusterChecksRunnerConfig(config *ClusterChecksRunnerConfig) *ClusterChecksRunnerConfig
DefaultDatadogAgentSpecClusterChecksRunnerConfig used to default an ClusterChecksRunnerConfig return the defaulted ClusterChecksRunnerConfig
func (*ClusterChecksRunnerConfig) DeepCopy ¶
func (in *ClusterChecksRunnerConfig) DeepCopy() *ClusterChecksRunnerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterChecksRunnerConfig.
func (*ClusterChecksRunnerConfig) DeepCopyInto ¶
func (in *ClusterChecksRunnerConfig) DeepCopyInto(out *ClusterChecksRunnerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComplianceSpec ¶
type ComplianceSpec struct {
// Enables continuous compliance monitoring.
// +optional
Enabled *bool `json:"enabled,omitempty"`
// Check interval.
// +optional
CheckInterval *metav1.Duration `json:"checkInterval,omitempty"`
// Config dir containing compliance benchmarks.
// +optional
ConfigDir *ConfigDirSpec `json:"configDir,omitempty"`
}
ComplianceSpec contains configuration for continuous compliance. +k8s:openapi-gen=true
func (*ComplianceSpec) DeepCopy ¶
func (in *ComplianceSpec) DeepCopy() *ComplianceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComplianceSpec.
func (*ComplianceSpec) DeepCopyInto ¶
func (in *ComplianceSpec) DeepCopyInto(out *ComplianceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigDirSpec ¶
type ConfigDirSpec struct {
// ConfigMapName name of a ConfigMap used to mount a directory.
ConfigMapName string `json:"configMapName,omitempty"`
}
ConfigDirSpec contains config file directory configuration. +k8s:openapi-gen=true
func (*ConfigDirSpec) DeepCopy ¶
func (in *ConfigDirSpec) DeepCopy() *ConfigDirSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigDirSpec.
func (*ConfigDirSpec) DeepCopyInto ¶
func (in *ConfigDirSpec) DeepCopyInto(out *ConfigDirSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigFileConfigMapSpec ¶
type ConfigFileConfigMapSpec struct {
// Name the ConfigMap name.
Name string `json:"name,omitempty"`
// FileKey corresponds to the key used in the ConfigMap.Data to store the configuration file content.
FileKey string `json:"fileKey,omitempty"`
}
ConfigFileConfigMapSpec contains configMap information used to store a config file. +k8s:openapi-gen=true
func (*ConfigFileConfigMapSpec) DeepCopy ¶
func (in *ConfigFileConfigMapSpec) DeepCopy() *ConfigFileConfigMapSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigFileConfigMapSpec.
func (*ConfigFileConfigMapSpec) DeepCopyInto ¶
func (in *ConfigFileConfigMapSpec) DeepCopyInto(out *ConfigFileConfigMapSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomConfigSpec ¶
type CustomConfigSpec struct {
// ConfigData corresponds to the configuration file content.
ConfigData *string `json:"configData,omitempty"`
// ConfigMap name of a ConfigMap used to mount the configuration file.
ConfigMap *ConfigFileConfigMapSpec `json:"configMap,omitempty"`
}
CustomConfigSpec Allow to put custom configuration for the agent, corresponding to the datadog-cluster.yaml or datadog.yaml config file the configuration can be provided in the 'configData' field as raw data, or in a configmap thanks to `configMap` field. Important: `configData` and `configMap` can't be set together. +k8s:openapi-gen=true
func (*CustomConfigSpec) DeepCopy ¶
func (in *CustomConfigSpec) DeepCopy() *CustomConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomConfigSpec.
func (*CustomConfigSpec) DeepCopyInto ¶
func (in *CustomConfigSpec) DeepCopyInto(out *CustomConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DSDUnixDomainSocketSpec ¶ added in v0.5.0
type DSDUnixDomainSocketSpec struct {
// Enable APM over Unix Domain Socket.
// See also: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/
// +optional
Enabled *bool `json:"enabled,omitempty"`
// Define the host APM socket filepath used when APM over Unix Domain Socket is enabled.
// (default value: /var/run/datadog/statsd.sock).
// See also: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/
// +optional
HostFilepath *string `json:"hostFilepath,omitempty"`
}
DSDUnixDomainSocketSpec contains the Dogstatsd Unix Domain Socket configuration. +k8s:openapi-gen=true
func DefaultConfigDogstatsdUDS ¶ added in v0.5.0
func DefaultConfigDogstatsdUDS(uds *DSDUnixDomainSocketSpec) *DSDUnixDomainSocketSpec
DefaultConfigDogstatsdUDS used to default DSDUnixDomainSocketSpec rreturn the defaulted DSDUnixDomainSocketSpec
func (*DSDUnixDomainSocketSpec) DeepCopy ¶ added in v0.5.0
func (in *DSDUnixDomainSocketSpec) DeepCopy() *DSDUnixDomainSocketSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DSDUnixDomainSocketSpec.
func (*DSDUnixDomainSocketSpec) DeepCopyInto ¶ added in v0.5.0
func (in *DSDUnixDomainSocketSpec) DeepCopyInto(out *DSDUnixDomainSocketSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonSetDeploymentStrategy ¶
type DaemonSetDeploymentStrategy struct {
// The update strategy used for the DaemonSet.
UpdateStrategyType *appsv1.DaemonSetUpdateStrategyType `json:"updateStrategyType,omitempty"`
// Configure the rolling updater strategy of the DaemonSet or the ExtendedDaemonSet.
RollingUpdate DaemonSetRollingUpdateSpec `json:"rollingUpdate,omitempty"`
// Configure the canary deployment configuration using ExtendedDaemonSet.
Canary *edsdatadoghqv1alpha1.ExtendedDaemonSetSpecStrategyCanary `json:"canary,omitempty"`
// The reconcile frequency of the ExtendDaemonSet.
ReconcileFrequency *metav1.Duration `json:"reconcileFrequency,omitempty"`
}
DaemonSetDeploymentStrategy contains the node Agent deployment configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecDatadogAgentStrategy ¶
func DefaultDatadogAgentSpecDatadogAgentStrategy(strategy *DaemonSetDeploymentStrategy) *DaemonSetDeploymentStrategy
DefaultDatadogAgentSpecDatadogAgentStrategy used to default a DaemonSetDeploymentStrategy return the defaulted DaemonSetDeploymentStrategy
func (*DaemonSetDeploymentStrategy) DeepCopy ¶
func (in *DaemonSetDeploymentStrategy) DeepCopy() *DaemonSetDeploymentStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaemonSetDeploymentStrategy.
func (*DaemonSetDeploymentStrategy) DeepCopyInto ¶
func (in *DaemonSetDeploymentStrategy) DeepCopyInto(out *DaemonSetDeploymentStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonSetRollingUpdateSpec ¶
type DaemonSetRollingUpdateSpec struct {
// update. Value can be an absolute number (ex: 5) or a percentage of total
// number of DaemonSet pods at the start of the update (ex: 10%). Absolute
// number is calculated from percentage by rounding up.
// This cannot be 0.
// Default value is 1.
MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`
// MaxPodSchedulerFailure the maxinum number of not scheduled on its Node due to a
// scheduler failure: resource constraints. Value can be an absolute number (ex: 5) or a percentage of total
// number of DaemonSet pods at the start of the update (ex: 10%). Absolute
MaxPodSchedulerFailure *intstr.IntOrString `json:"maxPodSchedulerFailure,omitempty"`
// The maxium number of pods created in parallel.
// Default value is 250.
MaxParallelPodCreation *int32 `json:"maxParallelPodCreation,omitempty"`
// SlowStartIntervalDuration the duration between to 2
// Default value is 1min.
SlowStartIntervalDuration *metav1.Duration `json:"slowStartIntervalDuration,omitempty"`
// SlowStartAdditiveIncrease
// Value can be an absolute number (ex: 5) or a percentage of total
// number of DaemonSet pods at the start of the update (ex: 10%).
// Default value is 5.
SlowStartAdditiveIncrease *intstr.IntOrString `json:"slowStartAdditiveIncrease,omitempty"`
}
DaemonSetRollingUpdateSpec contains configuration fields of the rolling update strategy. The configuration is shared between DaemonSet and ExtendedDaemonSet. +k8s:openapi-gen=true
func (*DaemonSetRollingUpdateSpec) DeepCopy ¶
func (in *DaemonSetRollingUpdateSpec) DeepCopy() *DaemonSetRollingUpdateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaemonSetRollingUpdateSpec.
func (*DaemonSetRollingUpdateSpec) DeepCopyInto ¶
func (in *DaemonSetRollingUpdateSpec) DeepCopyInto(out *DaemonSetRollingUpdateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonSetStatus ¶
type DaemonSetStatus struct {
Desired int32 `json:"desired"`
Current int32 `json:"current"`
Ready int32 `json:"ready"`
Available int32 `json:"available"`
UpToDate int32 `json:"upToDate"`
Status string `json:"status,omitempty"`
State string `json:"state,omitempty"`
LastUpdate *metav1.Time `json:"lastUpdate,omitempty"`
CurrentHash string `json:"currentHash,omitempty"`
// DaemonsetName corresponds to the name of the created DaemonSet.
DaemonsetName string `json:"daemonsetName,omitempty"`
}
DaemonSetStatus defines the observed state of Agent running as DaemonSet. +k8s:openapi-gen=true
func (*DaemonSetStatus) DeepCopy ¶
func (in *DaemonSetStatus) DeepCopy() *DaemonSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaemonSetStatus.
func (*DaemonSetStatus) DeepCopyInto ¶
func (in *DaemonSetStatus) DeepCopyInto(out *DaemonSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgent ¶
type DatadogAgent struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogAgentSpec `json:"spec,omitempty"`
Status DatadogAgentStatus `json:"status,omitempty"`
}
DatadogAgent Deployment with Datadog Operator. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogagents,shortName=dd +kubebuilder:printcolumn:name="active",type="string",JSONPath=".status.conditions[?(@.type=='Active')].status" +kubebuilder:printcolumn:name="agent",type="string",JSONPath=".status.agent.status" +kubebuilder:printcolumn:name="cluster-agent",type="string",JSONPath=".status.clusterAgent.status" +kubebuilder:printcolumn:name="cluster-checks-runner",type="string",JSONPath=".status.clusterChecksRunner.status" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true +genclient
func DefaultDatadogAgent ¶
func DefaultDatadogAgent(ad *DatadogAgent) *DatadogAgent
DefaultDatadogAgent used to default an DatadogAgent return the defaulted DatadogAgent
func (*DatadogAgent) DeepCopy ¶
func (in *DatadogAgent) DeepCopy() *DatadogAgent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgent.
func (*DatadogAgent) DeepCopyInto ¶
func (in *DatadogAgent) DeepCopyInto(out *DatadogAgent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogAgent) DeepCopyObject ¶
func (in *DatadogAgent) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogAgentCondition ¶
type DatadogAgentCondition struct {
// Type of DatadogAgent condition.
Type DatadogAgentConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status corev1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// Last time the condition was updated.
// +optional
LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
// The reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty"`
}
DatadogAgentCondition describes the state of a DatadogAgent at a certain point. +k8s:openapi-gen=true
func (*DatadogAgentCondition) DeepCopy ¶
func (in *DatadogAgentCondition) DeepCopy() *DatadogAgentCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentCondition.
func (*DatadogAgentCondition) DeepCopyInto ¶
func (in *DatadogAgentCondition) DeepCopyInto(out *DatadogAgentCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentConditionType ¶
type DatadogAgentConditionType string
DatadogAgentConditionType type use to represent a DatadogAgent condition.
const ( // 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.
Credentials AgentCredentials `json:"credentials"`
// 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"`
}
DatadogAgentSpec defines the desired state of DatadogAgent. +k8s:openapi-gen=true
func (*DatadogAgentSpec) DeepCopy ¶
func (in *DatadogAgentSpec) DeepCopy() *DatadogAgentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentSpec.
func (*DatadogAgentSpec) DeepCopyInto ¶
func (in *DatadogAgentSpec) DeepCopyInto(out *DatadogAgentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentSpecAgentSpec ¶
type DatadogAgentSpecAgentSpec struct {
// UseExtendedDaemonset use ExtendedDaemonset for Agent deployment.
// default value is false.
UseExtendedDaemonset *bool `json:"useExtendedDaemonset,omitempty"`
// The container image of the Datadog Agent.
Image ImageConfig `json:"image"`
// Name of the Daemonset to create or migrate from.
// +optional
DaemonsetName string `json:"daemonsetName,omitempty"`
// Agent configuration.
Config NodeAgentConfig `json:"config,omitempty"`
// RBAC configuration of the Agent.
Rbac RbacConfig `json:"rbac,omitempty"`
// Update strategy configuration for the DaemonSet.
DeploymentStrategy *DaemonSetDeploymentStrategy `json:"deploymentStrategy,omitempty"`
// AdditionalAnnotations provide annotations that will be added to the Agent Pods.
AdditionalAnnotations map[string]string `json:"additionalAnnotations,omitempty"`
// AdditionalLabels provide labels that will be added to the 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"`
}
DatadogAgentSpecAgentSpec defines the desired state of the node Agent. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgent ¶
func DefaultDatadogAgentSpecAgent(agent *DatadogAgentSpecAgentSpec) *DatadogAgentSpecAgentSpec
DefaultDatadogAgentSpecAgent used to default an DatadogAgentSpecAgentSpec return the defaulted DatadogAgentSpecAgentSpec
func (*DatadogAgentSpecAgentSpec) DeepCopy ¶
func (in *DatadogAgentSpecAgentSpec) DeepCopy() *DatadogAgentSpecAgentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentSpecAgentSpec.
func (*DatadogAgentSpecAgentSpec) DeepCopyInto ¶
func (in *DatadogAgentSpecAgentSpec) DeepCopyInto(out *DatadogAgentSpecAgentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentSpecClusterAgentSpec ¶
type DatadogAgentSpecClusterAgentSpec struct {
// The container image of the Datadog Cluster Agent.
Image ImageConfig `json:"image"`
// Name of the Cluster Agent Deployment to create or migrate from.
// +optional
DeploymentName string `json:"deploymentName,omitempty"`
// Cluster Agent configuration.
Config ClusterAgentConfig `json:"config,omitempty"`
// Allow to put custom configuration for the agent, corresponding to the datadog-cluster.yaml config file.
// +optional
CustomConfig *CustomConfigSpec `json:"customConfig,omitempty"`
// RBAC configuration of the Datadog Cluster Agent.
Rbac RbacConfig `json:"rbac,omitempty"`
// Number of the Cluster Agent replicas.
Replicas *int32 `json:"replicas,omitempty"`
// AdditionalAnnotations provide annotations that will be added to the Cluster Agent Pods.
AdditionalAnnotations map[string]string `json:"additionalAnnotations,omitempty"`
// AdditionalLabels provide labels that will be added to the Cluster 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 return the defaulted DatadogAgentSpecClusterAgentSpec
func (*DatadogAgentSpecClusterAgentSpec) DeepCopy ¶
func (in *DatadogAgentSpecClusterAgentSpec) DeepCopy() *DatadogAgentSpecClusterAgentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentSpecClusterAgentSpec.
func (*DatadogAgentSpecClusterAgentSpec) DeepCopyInto ¶
func (in *DatadogAgentSpecClusterAgentSpec) DeepCopyInto(out *DatadogAgentSpecClusterAgentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentSpecClusterChecksRunnerSpec ¶
type DatadogAgentSpecClusterChecksRunnerSpec struct {
// The container image of the Datadog Cluster Checks Runner.
Image ImageConfig `json:"image"`
// Name of the cluster checks deployment to create or migrate from.
// +optional
DeploymentName string `json:"deploymentName,omitempty"`
// Agent configuration.
Config ClusterChecksRunnerConfig `json:"config,omitempty"`
// Allow to put custom configuration for the agent, corresponding to the datadog.yaml config file.
// See https://docs.datadoghq.com/agent/guide/agent-configuration-files/?tab=agentv6 for more details.
// +optional
CustomConfig *CustomConfigSpec `json:"customConfig,omitempty"`
// RBAC configuration of the Datadog Cluster Checks Runner.
Rbac RbacConfig `json:"rbac,omitempty"`
// Number of the Cluster Agent replicas.
Replicas *int32 `json:"replicas,omitempty"`
// AdditionalAnnotations provide annotations that will be added to the cluster checks runner Pods.
AdditionalAnnotations map[string]string `json:"additionalAnnotations,omitempty"`
// AdditionalLabels provide labels that will be added to the cluster checks runner Pods.
AdditionalLabels map[string]string `json:"additionalLabels,omitempty"`
// If specified, indicates the pod's priority. "system-node-critical" and "system-cluster-critical"
// are two special keywords which indicate the highest priorities with the former being the highest priority.
// Any other name must be defined by creating a PriorityClass object with that name. If not specified,
// the pod priority will be default or zero if there is no default.
PriorityClassName string `json:"priorityClassName,omitempty"`
// If specified, the pod's scheduling constraints.
// +optional
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// If specified, the Cluster-Checks pod's tolerations.
// +optional
// +listType=atomic
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// NodeSelector is a selector which must be true for the pod to fit on a node.
// Selector which must match a node's labels for the pod to be scheduled on that node.
// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// Provide Cluster Checks Runner Network Policy configuration.
// +optional
NetworkPolicy NetworkPolicySpec `json:"networkPolicy,omitempty"`
}
DatadogAgentSpecClusterChecksRunnerSpec defines the desired state of the Cluster Checks Runner. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecClusterChecksRunner ¶
func DefaultDatadogAgentSpecClusterChecksRunner(clusterChecksRunner *DatadogAgentSpecClusterChecksRunnerSpec) *DatadogAgentSpecClusterChecksRunnerSpec
DefaultDatadogAgentSpecClusterChecksRunner used to default an DatadogAgentSpecClusterChecksRunnerSpec return the defaulted DatadogAgentSpecClusterChecksRunnerSpec
func (*DatadogAgentSpecClusterChecksRunnerSpec) DeepCopy ¶
func (in *DatadogAgentSpecClusterChecksRunnerSpec) DeepCopy() *DatadogAgentSpecClusterChecksRunnerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentSpecClusterChecksRunnerSpec.
func (*DatadogAgentSpecClusterChecksRunnerSpec) DeepCopyInto ¶
func (in *DatadogAgentSpecClusterChecksRunnerSpec) DeepCopyInto(out *DatadogAgentSpecClusterChecksRunnerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentState ¶
type DatadogAgentState string
DatadogAgentState type representing the deployment state of the different Agent components.
const ( // DatadogAgentStateProgressing the deployment is running properly. DatadogAgentStateProgressing DatadogAgentState = "Progressing" // DatadogAgentStateRunning the deployment is running properly. DatadogAgentStateRunning DatadogAgentState = "Running" // DatadogAgentStateUpdating the deployment is currently under a rolling update. DatadogAgentStateUpdating DatadogAgentState = "Updating" // DatadogAgentStateCanary the deployment is currently under a canary testing (EDS only). DatadogAgentStateCanary DatadogAgentState = "Canary" // DatadogAgentStateFailed the current state of the deployment is considered as Failed. DatadogAgentStateFailed DatadogAgentState = "Failed" )
type DatadogAgentStatus ¶
type DatadogAgentStatus struct {
// The actual state of the Agent as an extended daemonset.
// +optional
Agent *DaemonSetStatus `json:"agent,omitempty"`
// The actual state of the Cluster Agent as a deployment.
// +optional
ClusterAgent *DeploymentStatus `json:"clusterAgent,omitempty"`
// The actual state of the Cluster Checks Runner as a deployment.
// +optional
ClusterChecksRunner *DeploymentStatus `json:"clusterChecksRunner,omitempty"`
// Conditions Represents the latest available observations of a DatadogAgent's current state.
// +listType=map
// +listMapKey=type
Conditions []DatadogAgentCondition `json:"conditions,omitempty"`
}
DatadogAgentStatus defines the observed state of DatadogAgent. +k8s:openapi-gen=true
func (*DatadogAgentStatus) DeepCopy ¶
func (in *DatadogAgentStatus) DeepCopy() *DatadogAgentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentStatus.
func (*DatadogAgentStatus) DeepCopyInto ¶
func (in *DatadogAgentStatus) DeepCopyInto(out *DatadogAgentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogCredentials ¶ added in v0.5.0
type DatadogCredentials struct {
// APIKey Set this to your Datadog API key before the Agent runs.
// See also: https://app.datadoghq.com/account/settings#agent/kubernetes
APIKey string `json:"apiKey,omitempty"`
// APIKeyExistingSecret is DEPRECATED.
// In order to pass the API key through an existing secret, please consider "apiSecret" instead.
// If set, this parameter takes precedence over "apiKey".
// +optional
// +deprecated
APIKeyExistingSecret string `json:"apiKeyExistingSecret,omitempty"`
// APISecret Use existing Secret which stores API key instead of creating a new one.
// If set, this parameter takes precedence over "apiKey" and "apiKeyExistingSecret".
// +optional
APISecret *Secret `json:"apiSecret,omitempty"`
// If you are using clusterAgent.metricsProvider.enabled = true, you must set
// a Datadog application key for read access to your metrics.
// +optional
AppKey string `json:"appKey,omitempty"`
// AppKeyExistingSecret is DEPRECATED.
// In order to pass the APP key through an existing secret, please consider "appSecret" instead.
// If set, this parameter takes precedence over "appKey".
// +optional
// +deprecated
AppKeyExistingSecret string `json:"appKeyExistingSecret,omitempty"`
// APPSecret Use existing Secret which stores API key instead of creating a new one.
// If set, this parameter takes precedence over "apiKey" and "appKeyExistingSecret".
// +optional
APPSecret *Secret `json:"appSecret,omitempty"`
}
DatadogCredentials is a generic structure that holds credentials to access Datadog. +k8s:openapi-gen=true
func (*DatadogCredentials) DeepCopy ¶ added in v0.5.0
func (in *DatadogCredentials) DeepCopy() *DatadogCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogCredentials.
func (*DatadogCredentials) DeepCopyInto ¶ added in v0.5.0
func (in *DatadogCredentials) DeepCopyInto(out *DatadogCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogFeatures ¶ added in v0.5.0
type DatadogFeatures struct {
// OrchestratorExplorer configuration.
OrchestratorExplorer *OrchestratorExplorerConfig `json:"orchestratorExplorer,omitempty"`
// KubeStateMetricsCore configuration.
KubeStateMetricsCore *KubeStateMetricsCore `json:"kubeStateMetricsCore,omitempty"`
// PrometheusScrape configuration.
PrometheusScrape *PrometheusScrapeConfig `json:"prometheusScrape,omitempty"`
// NetworkMonitoring configuration.
NetworkMonitoring *NetworkMonitoringConfig `json:"networkMonitoring,omitempty"`
// LogCollection configuration.
LogCollection *LogCollectionConfig `json:"logCollection,omitempty"`
}
DatadogFeatures are Features running on the Agent and Cluster Agent. +k8s:openapi-gen=true
func DefaultFeatures ¶ added in v0.5.0
func DefaultFeatures(ft *DatadogFeatures) *DatadogFeatures
DefaultFeatures used to initialized the Features' default values if necessary
func (*DatadogFeatures) DeepCopy ¶ added in v0.5.0
func (in *DatadogFeatures) DeepCopy() *DatadogFeatures
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogFeatures.
func (*DatadogFeatures) DeepCopyInto ¶ added in v0.5.0
func (in *DatadogFeatures) DeepCopyInto(out *DatadogFeatures)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMetric ¶
type DatadogMetric struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogMetricSpec `json:"spec,omitempty"`
Status DatadogMetricStatus `json:"status,omitempty"`
}
DatadogMetric allows autoscaling on arbitrary Datadog query +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogmetrics,scope=Namespaced +kubebuilder:printcolumn:name="active",type="string",JSONPath=".status.conditions[?(@.type=='Active')].status" +kubebuilder:printcolumn:name="valid",type="string",JSONPath=".status.conditions[?(@.type=='Valid')].status" +kubebuilder:printcolumn:name="value",type="string",JSONPath=".status.currentValue" +kubebuilder:printcolumn:name="references",type="string",JSONPath=".status.autoscalerReferences" +kubebuilder:printcolumn:name="update time",type="date",JSONPath=".status.conditions[?(@.type=='Updated')].lastUpdateTime" +k8s:openapi-gen=true +genclient
func (*DatadogMetric) DeepCopy ¶
func (in *DatadogMetric) DeepCopy() *DatadogMetric
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetric.
func (*DatadogMetric) DeepCopyInto ¶
func (in *DatadogMetric) DeepCopyInto(out *DatadogMetric)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMetric) DeepCopyObject ¶
func (in *DatadogMetric) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMetricCondition ¶
type DatadogMetricCondition struct {
// Type of DatadogMetric condition.
Type DatadogMetricConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status corev1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// Last time the condition was updated.
// +optional
LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
// The reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty"`
}
DatadogMetricCondition describes the state of a DatadogMetric at a certain point. +k8s:openapi-gen=true
func (*DatadogMetricCondition) DeepCopy ¶
func (in *DatadogMetricCondition) DeepCopy() *DatadogMetricCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricCondition.
func (*DatadogMetricCondition) DeepCopyInto ¶
func (in *DatadogMetricCondition) DeepCopyInto(out *DatadogMetricCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMetricConditionType ¶
type DatadogMetricConditionType string
DatadogMetricConditionType type use to represent a DatadogMetric condition
const ( // DatadogMetricConditionTypeActive DatadogMetric is active (referenced by an HPA), Datadog will only be queried for active metrics DatadogMetricConditionTypeActive DatadogMetricConditionType = "Active" // DatadogMetricConditionTypeUpdated DatadogMetric is updated DatadogMetricConditionTypeUpdated DatadogMetricConditionType = "Updated" // DatadogMetricConditionTypeValid DatadogMetric.spec.query is invalid DatadogMetricConditionTypeValid DatadogMetricConditionType = "Valid" // DatadogMetricConditionTypeError the controller wasn't able to handle this DatadogMetric DatadogMetricConditionTypeError DatadogMetricConditionType = "Error" )
type DatadogMetricList ¶
type DatadogMetricList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatadogMetric `json:"items"`
}
DatadogMetricList contains a list of DatadogMetric +kubebuilder:object:root=true
func (*DatadogMetricList) DeepCopy ¶
func (in *DatadogMetricList) DeepCopy() *DatadogMetricList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricList.
func (*DatadogMetricList) DeepCopyInto ¶
func (in *DatadogMetricList) DeepCopyInto(out *DatadogMetricList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMetricList) DeepCopyObject ¶
func (in *DatadogMetricList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMetricSpec ¶
type DatadogMetricSpec struct {
// Query is the raw datadog query
Query string `json:"query,omitempty"`
// ExternalMetricName is reversed for internal use
ExternalMetricName string `json:"externalMetricName,omitempty"`
// MaxAge provides the max age for the metric query (overrides the default setting
// `external_metrics_provider.max_age`)
// +optional
MaxAge metav1.Duration `json:"maxAge,omitempty"`
}
DatadogMetricSpec defines the desired state of DatadogMetric
func (*DatadogMetricSpec) DeepCopy ¶
func (in *DatadogMetricSpec) DeepCopy() *DatadogMetricSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricSpec.
func (*DatadogMetricSpec) DeepCopyInto ¶
func (in *DatadogMetricSpec) DeepCopyInto(out *DatadogMetricSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMetricStatus ¶
type DatadogMetricStatus struct {
// Conditions Represents the latest available observations of a DatadogMetric's current state.
// +listType=map
// +listMapKey=type
Conditions []DatadogMetricCondition `json:"conditions,omitempty"`
// Value is the latest value of the metric
Value string `json:"currentValue"`
// List of autoscalers currently using this DatadogMetric
AutoscalerReferences string `json:"autoscalerReferences,omitempty"`
}
DatadogMetricStatus defines the observed state of DatadogMetric
func (*DatadogMetricStatus) DeepCopy ¶
func (in *DatadogMetricStatus) DeepCopy() *DatadogMetricStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricStatus.
func (*DatadogMetricStatus) DeepCopyInto ¶
func (in *DatadogMetricStatus) DeepCopyInto(out *DatadogMetricStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitor ¶ added in v0.5.0
type DatadogMonitor struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogMonitorSpec `json:"spec,omitempty"`
Status DatadogMonitorStatus `json:"status,omitempty"`
}
DatadogMonitor allows to define and manage Monitors from your Kubernetes Cluster +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogmonitors,scope=Namespaced +kubebuilder:printcolumn:name="id",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="monitor state",type="string",JSONPath=".status.monitorState" +kubebuilder:printcolumn:name="last transition",type="string",JSONPath=".status.monitorStateLastTransitionTime" +kubebuilder:printcolumn:name="last sync",type="string",format="date",JSONPath=".status.monitorStateLastUpdateTime" +kubebuilder:printcolumn:name="sync status",type="string",JSONPath=".status.syncStatus" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true +genclient
func (*DatadogMonitor) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitor) DeepCopy() *DatadogMonitor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitor.
func (*DatadogMonitor) DeepCopyInto ¶ added in v0.5.0
func (in *DatadogMonitor) DeepCopyInto(out *DatadogMonitor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMonitor) DeepCopyObject ¶ added in v0.5.0
func (in *DatadogMonitor) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMonitorCondition ¶ added in v0.5.0
type DatadogMonitorCondition struct {
// Type of DatadogMonitor condition
Type DatadogMonitorConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status corev1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// Last time the condition was updated.
// +optional
LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
// The reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty"`
}
DatadogMonitorCondition describes the current state of a DatadogMonitor +k8s:openapi-gen=true
func (*DatadogMonitorCondition) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitorCondition) DeepCopy() *DatadogMonitorCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorCondition.
func (*DatadogMonitorCondition) DeepCopyInto ¶ added in v0.5.0
func (in *DatadogMonitorCondition) DeepCopyInto(out *DatadogMonitorCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorConditionType ¶ added in v0.5.0
type DatadogMonitorConditionType string
DatadogMonitorConditionType represents a DatadogMonitor condition
const ( // DatadogMonitorConditionTypeCreated means the DatadogMonitor is created successfully DatadogMonitorConditionTypeCreated DatadogMonitorConditionType = "Created" // DatadogMonitorConditionTypeActive means the DatadogMonitor is active DatadogMonitorConditionTypeActive DatadogMonitorConditionType = "Active" // DatadogMonitorConditionTypeUpdated means the DatadogMonitor is updated DatadogMonitorConditionTypeUpdated DatadogMonitorConditionType = "Updated" // DatadogMonitorConditionTypeError means the DatadogMonitor has an error DatadogMonitorConditionTypeError DatadogMonitorConditionType = "Error" )
type DatadogMonitorDowntimeStatus ¶ added in v0.5.0
type DatadogMonitorDowntimeStatus struct {
IsDowntimed bool `json:"isDowntimed,omitempty"`
DowntimeID int `json:"downtimeId,omitempty"`
}
DatadogMonitorDowntimeStatus represents the downtime status of a DatadogMonitor
func (*DatadogMonitorDowntimeStatus) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitorDowntimeStatus) DeepCopy() *DatadogMonitorDowntimeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorDowntimeStatus.
func (*DatadogMonitorDowntimeStatus) DeepCopyInto ¶ added in v0.5.0
func (in *DatadogMonitorDowntimeStatus) DeepCopyInto(out *DatadogMonitorDowntimeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorList ¶ added in v0.5.0
type DatadogMonitorList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatadogMonitor `json:"items"`
}
DatadogMonitorList contains a list of DatadogMonitors +kubebuilder:object:root=true
func (*DatadogMonitorList) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitorList) DeepCopy() *DatadogMonitorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorList.
func (*DatadogMonitorList) DeepCopyInto ¶ added in v0.5.0
func (in *DatadogMonitorList) DeepCopyInto(out *DatadogMonitorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMonitorList) DeepCopyObject ¶ added in v0.5.0
func (in *DatadogMonitorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMonitorOptions ¶ added in v0.5.0
type DatadogMonitorOptions struct {
// A message to include with a re-notification.
EscalationMessage *string `json:"escalationMessage,omitempty"`
// Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300 (5min),
// the timeframe is set to last_5m and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
// This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
EvaluationDelay *int64 `json:"evaluationDelay,omitempty"`
// A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
IncludeTags *bool `json:"includeTags,omitempty"`
// Whether or not the monitor is locked (only editable by creator and admins).
Locked *bool `json:"locked,omitempty"`
// Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of
// monitor results. Should be a non negative integer.
NewHostDelay *int64 `json:"newHostDelay,omitempty"`
// The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the
// monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe
// is used for metric alerts, and 24 hours is used for service checks.
NoDataTimeframe *int64 `json:"noDataTimeframe,omitempty"`
// A Boolean indicating whether tagged users are notified on changes to this monitor.
NotifyAudit *bool `json:"notifyAudit,omitempty"`
// A Boolean indicating whether this monitor notifies when data stops reporting.
NotifyNoData *bool `json:"notifyNoData,omitempty"`
// The number of minutes after the last notification before a monitor re-notifies on the current status.
// It only re-notifies if it’s not resolved.
RenotifyInterval *int64 `json:"renotifyInterval,omitempty"`
// A Boolean indicating whether this monitor needs a full window of data before it’s evaluated. We highly
// recommend you set this to false for sparse metrics, otherwise some evaluations are skipped. Default is false.
RequireFullWindow *bool `json:"requireFullWindow,omitempty"`
// The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
TimeoutH *int64 `json:"timeoutH,omitempty"`
// A struct of the different monitor threshold values.
Thresholds *DatadogMonitorOptionsThresholds `json:"thresholds,omitempty"`
// A struct of the alerting time window options.
ThresholdWindows *DatadogMonitorOptionsThresholdWindows `json:"thresholdWindows,omitempty"`
}
DatadogMonitorOptions define the optional parameters of a monitor
func (*DatadogMonitorOptions) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitorOptions) DeepCopy() *DatadogMonitorOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptions.
func (*DatadogMonitorOptions) DeepCopyInto ¶ added in v0.5.0
func (in *DatadogMonitorOptions) DeepCopyInto(out *DatadogMonitorOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorOptionsThresholdWindows ¶ added in v0.6.0
type DatadogMonitorOptionsThresholdWindows struct {
// Describes how long an anomalous metric must be normal before the alert recovers.
RecoveryWindow *string `json:"recoveryWindow,omitempty"`
// Describes how long a metric must be anomalous before an alert triggers.
TriggerWindow *string `json:"triggerWindow,omitempty"`
}
DatadogMonitorOptionsThresholdWindows is a struct of the alerting time window options
func (*DatadogMonitorOptionsThresholdWindows) DeepCopy ¶ added in v0.6.0
func (in *DatadogMonitorOptionsThresholdWindows) DeepCopy() *DatadogMonitorOptionsThresholdWindows
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsThresholdWindows.
func (*DatadogMonitorOptionsThresholdWindows) DeepCopyInto ¶ added in v0.6.0
func (in *DatadogMonitorOptionsThresholdWindows) DeepCopyInto(out *DatadogMonitorOptionsThresholdWindows)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorOptionsThresholds ¶ added in v0.6.0
type DatadogMonitorOptionsThresholds struct {
// The monitor CRITICAL threshold.
Critical *string `json:"critical,omitempty"`
// The monitor CRITICAL recovery threshold.
CriticalRecovery *string `json:"criticalRecovery,omitempty"`
// The monitor OK threshold.
OK *string `json:"ok,omitempty"`
// The monitor UNKNOWN threshold.
Unknown *string `json:"unknown,omitempty"`
// The monitor WARNING threshold.
Warning *string `json:"warning,omitempty"`
// The monitor WARNING recovery threshold.
WarningRecovery *string `json:"warningRecovery,omitempty"`
}
DatadogMonitorOptionsThresholds is a struct of the different monitor threshold values
func (*DatadogMonitorOptionsThresholds) DeepCopy ¶ added in v0.6.0
func (in *DatadogMonitorOptionsThresholds) DeepCopy() *DatadogMonitorOptionsThresholds
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsThresholds.
func (*DatadogMonitorOptionsThresholds) DeepCopyInto ¶ added in v0.6.0
func (in *DatadogMonitorOptionsThresholds) DeepCopyInto(out *DatadogMonitorOptionsThresholds)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorSpec ¶ added in v0.5.0
type DatadogMonitorSpec struct {
// Name is the monitor name
Name string `json:"name,omitempty"`
// Message is a message to include with notifications for this monitor
Message string `json:"message,omitempty"`
// Priority is an integer from 1 (high) to 5 (low) indicating alert severity
Priority int64 `json:"priority,omitempty"`
// Query is the Datadog monitor query
Query string `json:"query,omitempty"`
// Tags is the monitor tags associated with your monitor
Tags []string `json:"tags,omitempty"`
// Type is the monitor type
Type DatadogMonitorType `json:"type,omitempty"`
// Options are the optional parameters associated with your monitor
Options DatadogMonitorOptions `json:"options,omitempty"`
}
DatadogMonitorSpec defines the desired state of DatadogMonitor
func (*DatadogMonitorSpec) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitorSpec) DeepCopy() *DatadogMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorSpec.
func (*DatadogMonitorSpec) DeepCopyInto ¶ added in v0.5.0
func (in *DatadogMonitorSpec) DeepCopyInto(out *DatadogMonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorState ¶ added in v0.5.0
type DatadogMonitorState string
DatadogMonitorState represents the overall DatadogMonitor state
const ( // DatadogMonitorStateOK means the DatadogMonitor is OK DatadogMonitorStateOK DatadogMonitorState = "OK" // DatadogMonitorStateAlert means the DatadogMonitor triggered an alert DatadogMonitorStateAlert DatadogMonitorState = "Alert" // DatadogMonitorStateWarn means the DatadogMonitor triggered a warning DatadogMonitorStateWarn DatadogMonitorState = "Warn" // DatadogMonitorStateNoData means the DatadogMonitor triggered a no data alert DatadogMonitorStateNoData DatadogMonitorState = "No Data" // DatadogMonitorStateSkipped means the DatadogMonitor is skipped DatadogMonitorStateSkipped DatadogMonitorState = "Skipped" // DatadogMonitorStateIgnored means the DatadogMonitor is ignored DatadogMonitorStateIgnored DatadogMonitorState = "Ignored" // DatadogMonitorStateUnknown means the DatadogMonitor is in an unknown state DatadogMonitorStateUnknown DatadogMonitorState = "Unknown" )
type DatadogMonitorStatus ¶ added in v0.5.0
type DatadogMonitorStatus struct {
// Conditions Represents the latest available observations of a DatadogMonitor's current state.
// +listType=map
// +listMapKey=type
Conditions []DatadogMonitorCondition `json:"conditions,omitempty"`
// ID is the monitor ID generated in Datadog
ID int `json:"id,omitempty"`
// Creator is the identify of the monitor creator
Creator string `json:"creator,omitempty"`
// Created is the time the monitor was created
Created *metav1.Time `json:"created,omitempty"`
// MonitorState is the overall state of monitor
MonitorState DatadogMonitorState `json:"monitorState,omitempty"`
// MonitorStateLastUpdateTime is the last time the monitor state updated
MonitorStateLastUpdateTime *metav1.Time `json:"monitorStateLastUpdateTime,omitempty"`
// MonitorStateLastTransitionTime is the last time the monitor state changed
MonitorStateLastTransitionTime *metav1.Time `json:"monitorStateLastTransitionTime,omitempty"`
// SyncStatus shows the health of syncing the monitor state to Datadog
SyncStatus SyncStatusMessage `json:"syncStatus,omitempty"`
// TriggeredState only includes details for monitor groups that are triggering
TriggeredState []DatadogMonitorTriggeredState `json:"triggeredState,omitempty"`
// DowntimeStatus defines whether the monitor is downtimed
DowntimeStatus DatadogMonitorDowntimeStatus `json:"downtimeStatus,omitempty"`
// Primary defines whether the monitor is managed by the Kubernetes custom
// resource (true) or outside Kubernetes (false)
Primary bool `json:"primary,omitempty"`
// CurrentHash tracks the hash of the current DatadogMonitorSpec to know
// if the Spec has changed and needs an update
CurrentHash string `json:"currentHash,omitempty"`
}
DatadogMonitorStatus defines the observed state of DatadogMonitor
func (*DatadogMonitorStatus) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitorStatus) DeepCopy() *DatadogMonitorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorStatus.
func (*DatadogMonitorStatus) DeepCopyInto ¶ added in v0.5.0
func (in *DatadogMonitorStatus) DeepCopyInto(out *DatadogMonitorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorTriggeredState ¶ added in v0.5.0
type DatadogMonitorTriggeredState struct {
// MonitorGroup is the name of the triggering group
MonitorGroup string `json:"monitorGroup,omitempty"`
State DatadogMonitorState `json:"state,omitempty"`
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}
DatadogMonitorTriggeredState represents the details of a triggering DatadogMonitor The DatadogMonitor is triggering if one of its groups is in Alert, Warn, or No Data
func (*DatadogMonitorTriggeredState) DeepCopy ¶ added in v0.5.0
func (in *DatadogMonitorTriggeredState) DeepCopy() *DatadogMonitorTriggeredState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorTriggeredState.
func (*DatadogMonitorTriggeredState) DeepCopyInto ¶ added in v0.5.0
func (in *DatadogMonitorTriggeredState) DeepCopyInto(out *DatadogMonitorTriggeredState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorType ¶ added in v0.5.0
type DatadogMonitorType string
DatadogMonitorType defines the type of monitor
const ( // DatadogMonitorTypeMetric is the metric alert monitor type DatadogMonitorTypeMetric DatadogMonitorType = "metric alert" // DatadogMonitorTypeQuery is the query alert monitor type DatadogMonitorTypeQuery DatadogMonitorType = "query alert" // DatadogMonitorTypeService is the service check monitor type DatadogMonitorTypeService DatadogMonitorType = "service check" // DatadogMonitorTypeComposite is the composite alert monitor type DatadogMonitorTypeComposite DatadogMonitorType = "composite" )
type DeploymentStatus ¶
type DeploymentStatus struct {
// Total number of non-terminated pods targeted by this deployment (their labels match the selector).
// +optional
Replicas int32 `json:"replicas,omitempty"`
// Total number of non-terminated pods targeted by this deployment that have the desired template spec.
// +optional
UpdatedReplicas int32 `json:"updatedReplicas,omitempty"`
// Total number of ready pods targeted by this deployment.
// +optional
ReadyReplicas int32 `json:"readyReplicas,omitempty"`
// Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.
// +optional
AvailableReplicas int32 `json:"availableReplicas,omitempty"`
// pods that are still required for the deployment to have 100% available capacity. They may
// either be pods that are running but not yet available or pods that still have not been created.
// +optional
UnavailableReplicas int32 `json:"unavailableReplicas,omitempty"`
LastUpdate *metav1.Time `json:"lastUpdate,omitempty"`
CurrentHash string `json:"currentHash,omitempty"`
// GeneratedToken corresponds to the generated token if any token was provided in the Credential configuration when ClusterAgent is
// enabled.
// +optional
GeneratedToken string `json:"generatedToken,omitempty"`
// Status corresponds to the ClusterAgent deployment computed status.
Status string `json:"status,omitempty"`
// State corresponds to the ClusterAgent deployment state.
State string `json:"state,omitempty"`
// DeploymentName corresponds to the name of the Cluster Agent Deployment.
DeploymentName string `json:"deploymentName,omitempty"`
}
DeploymentStatus type representing the Cluster Agent Deployment status. +k8s:openapi-gen=true
func (*DeploymentStatus) DeepCopy ¶
func (in *DeploymentStatus) DeepCopy() *DeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatus.
func (*DeploymentStatus) DeepCopyInto ¶
func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DogstatsdConfig ¶
type DogstatsdConfig struct {
// Enable origin detection for container tagging.
// See also: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/#using-origin-detection-for-container-tagging
// +optional
DogstatsdOriginDetection *bool `json:"dogstatsdOriginDetection,omitempty"`
// Configure the Dogstatsd Unix Domain Socket.
// See also: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/
// +optional
UnixDomainSocket *DSDUnixDomainSocketSpec `json:"unixDomainSocket,omitempty"`
// Configure the Dogstasd Mapper Profiles.
// Can be passed as raw data or via a json encoded string in a config map.
// See also: https://docs.datadoghq.com/developers/dogstatsd/dogstatsd_mapper/
// +optional
MapperProfiles *CustomConfigSpec `json:"mapperProfiles,omitempty"`
}
DogstatsdConfig contains the Dogstatsd configuration parameters. +k8s:openapi-gen=true
func (*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 (*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:latest" for Datadog Agent 6
// Use "datadog/dogstatsd:latest" for Standalone Datadog Agent DogStatsD6
// Use "gcr.io/datadoghq/cluster-agent:latest" for Datadog Cluster Agent
Name string `json:"name"`
// The Kubernetes pull policy:
// Use Always, Never or IfNotPresent.
PullPolicy *corev1.PullPolicy `json:"pullPolicy,omitempty"`
// It is possible to specify docker registry credentials.
// See https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
// +optional
PullSecrets *[]corev1.LocalObjectReference `json:"pullSecrets,omitempty"`
}
ImageConfig Datadog agent container image config. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentImage ¶
func DefaultDatadogAgentSpecAgentImage(image *ImageConfig) *ImageConfig
DefaultDatadogAgentSpecAgentImage used to default a ImageConfig return the defaulted ImageConfig
func DefaultDatadogAgentSpecClusterAgentImage ¶
func DefaultDatadogAgentSpecClusterAgentImage(image *ImageConfig) *ImageConfig
DefaultDatadogAgentSpecClusterAgentImage used to default ImageConfig for the Datadog Cluster Agent return the defaulted ImageConfig
func DefaultDatadogAgentSpecClusterChecksRunnerImage ¶
func DefaultDatadogAgentSpecClusterChecksRunnerImage(image *ImageConfig) *ImageConfig
DefaultDatadogAgentSpecClusterChecksRunnerImage used to default ImageConfig for the Datadog Cluster Agent return the defaulted ImageConfig
func (*ImageConfig) DeepCopy ¶
func (in *ImageConfig) DeepCopy() *ImageConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageConfig.
func (*ImageConfig) DeepCopyInto ¶
func (in *ImageConfig) DeepCopyInto(out *ImageConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeStateMetricsCore ¶ added in v0.5.0
type KubeStateMetricsCore struct {
// Enable this to start the Kubernetes State Metrics Core check.
// Refer to https://github.com/DataDog/datadog-operator/blob/main/docs/kubernetes_state_metrics.md
// +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"`
}
KubeStateMetricsCore contains the required parameters to enable and override the configuration of the Kubernetes State Metrics Core (aka v2.0.0) of the check. +k8s:openapi-gen=true
func DefaultDatadogFeatureKubeStateMetricsCore ¶ added in v0.5.0
func DefaultDatadogFeatureKubeStateMetricsCore(ksmCore *KubeStateMetricsCore) *KubeStateMetricsCore
DefaultDatadogFeatureKubeStateMetricsCore used to default the Kubernetes State Metrics core check Disabled by default with no overridden configuration.
func (*KubeStateMetricsCore) DeepCopy ¶ added in v0.5.0
func (in *KubeStateMetricsCore) DeepCopy() *KubeStateMetricsCore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeStateMetricsCore.
func (*KubeStateMetricsCore) DeepCopyInto ¶ added in v0.5.0
func (in *KubeStateMetricsCore) DeepCopyInto(out *KubeStateMetricsCore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeletConfig ¶ added in v0.6.0
type KubeletConfig struct {
// Override host used to contact Kubelet API (default to status.hostIP)
// +optional
Host *corev1.EnvVarSource `json:"host,omitempty"`
// Toggle kubelet TLS verification (default to true)
// +optional
TLSVerify *bool `json:"tlsVerify,omitempty"`
// Path (on host) where the Kubelet CA certificate is stored
// +optional
HostCAPath string `json:"hostCAPath,omitempty"`
// Path (inside Agent containers) where the Kubelet CA certificate is stored
// Default to /var/run/host-kubelet-ca.crt if hostCAPath else /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
// +optional
AgentCAPath string `json:"agentCAPath,omitempty"`
}
KubeletConfig contains the Kubelet configuration parameters +k8s:openapi-gen=true
func (*KubeletConfig) DeepCopy ¶ added in v0.6.0
func (in *KubeletConfig) DeepCopy() *KubeletConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig.
func (*KubeletConfig) DeepCopyInto ¶ added in v0.6.0
func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogCollectionConfig ¶ added in v0.6.0
type LogCollectionConfig struct {
// Enable this option to activate Datadog Agent log collection.
// See also: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup
//
// +optional
Enabled *bool `json:"enabled,omitempty"`
// Enable this option to allow log collection for all containers.
// See also: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup
//
// +optional
LogsConfigContainerCollectAll *bool `json:"logsConfigContainerCollectAll,omitempty"`
// Collect logs from files in `/var/log/pods instead` of using the container runtime API.
// Collecting logs from files is usually the most efficient way of collecting logs.
// See also: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup
// Default is true
//
// +optional
ContainerCollectUsingFiles *bool `json:"containerCollectUsingFiles,omitempty"`
// Allows log collection from the container log path. Set to a different path if you are not using the Docker runtime.
// See also: https://docs.datadoghq.com/agent/kubernetes/daemonset_setup/?tab=k8sfile#create-manifest
// Defaults to `/var/lib/docker/containers`
//
// +optional
ContainerLogsPath *string `json:"containerLogsPath,omitempty"`
// Allows log collection from pod log path.
// Defaults to `/var/log/pods`.
//
// +optional
PodLogsPath *string `json:"podLogsPath,omitempty"`
// 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 DefaultDatadogAgentSpecLogCollection ¶ added in v0.6.0
func DefaultDatadogAgentSpecLogCollection(log *LogCollectionConfig) *LogCollectionConfig
DefaultDatadogAgentSpecLogCollection used to default an LogCollectionConfig return the defaulted LogCollectionConfig
func (*LogCollectionConfig) DeepCopy ¶ added in v0.6.0
func (in *LogCollectionConfig) DeepCopy() *LogCollectionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogCollectionConfig.
func (*LogCollectionConfig) DeepCopyInto ¶ added in v0.6.0
func (in *LogCollectionConfig) DeepCopyInto(out *LogCollectionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkMonitoringConfig ¶ added in v0.6.0
type NetworkMonitoringConfig struct {
Enabled *bool `json:"enabled,omitempty"`
}
NetworkMonitoringConfig allows configuration of network performance monitoring.
func (*NetworkMonitoringConfig) DeepCopy ¶ added in v0.6.0
func (in *NetworkMonitoringConfig) DeepCopy() *NetworkMonitoringConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkMonitoringConfig.
func (*NetworkMonitoringConfig) DeepCopyInto ¶ added in v0.6.0
func (in *NetworkMonitoringConfig) DeepCopyInto(out *NetworkMonitoringConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkPolicySpec ¶
type NetworkPolicySpec struct {
// If true, create a NetworkPolicy for the current agent.
// +optional
Create *bool `json:"create,omitempty"`
}
NetworkPolicySpec provides Network Policy configuration for the agents. +k8s:openapi-gen=true
func DefaultNetworkPolicy ¶
func DefaultNetworkPolicy(policy *NetworkPolicySpec) *NetworkPolicySpec
DefaultNetworkPolicy is used to default NetworkPolicy. Returns the defaulted ImageConfig
func (*NetworkPolicySpec) DeepCopy ¶
func (in *NetworkPolicySpec) DeepCopy() *NetworkPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPolicySpec.
func (*NetworkPolicySpec) DeepCopyInto ¶
func (in *NetworkPolicySpec) DeepCopyInto(out *NetworkPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeAgentConfig ¶
type NodeAgentConfig struct {
// Pod-level SecurityContext.
// +optional
SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`
// The host of the Datadog intake server to send Agent data to, only set this option
// if you need the Agent to send data to a custom URL.
// Overrides the site setting defined in "site".
// +optional
DDUrl *string `json:"ddUrl,omitempty"`
// Set logging verbosity, valid log levels are:
// trace, debug, info, warn, error, critical, and off
LogLevel *string `json:"logLevel,omitempty"`
// Confd configuration allowing to specify config files for custom checks placed under /etc/datadog-agent/conf.d/.
// See https://docs.datadoghq.com/agent/guide/agent-configuration-files/?tab=agentv6 for more details.
// +optional
Confd *ConfigDirSpec `json:"confd,omitempty"`
// Checksd configuration allowing to specify custom checks placed under /etc/datadog-agent/checks.d/
// See https://docs.datadoghq.com/agent/guide/agent-configuration-files/?tab=agentv6 for more details.
// +optional
Checksd *ConfigDirSpec `json:"checksd,omitempty"`
// Provide a mapping of Kubernetes Labels to Datadog Tags.
// <KUBERNETES_LABEL>: <DATADOG_TAG_KEY>
// +optional
PodLabelsAsTags map[string]string `json:"podLabelsAsTags,omitempty"`
// Provide a mapping of Kubernetes Annotations to Datadog Tags.
// <KUBERNETES_ANNOTATIONS>: <DATADOG_TAG_KEY>
// +optional
PodAnnotationsAsTags map[string]string `json:"podAnnotationsAsTags,omitempty"`
// List of tags to attach to every metric, event and service check collected by this Agent.
// Learn more about tagging: https://docs.datadoghq.com/tagging/
// +optional
// +listType=set
Tags []string `json:"tags,omitempty"`
// 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 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(config *NodeAgentConfig) *NodeAgentConfig
DefaultDatadogAgentSpecAgentConfig used to default a NodeAgentConfig return the defaulted NodeAgentConfig
func (*NodeAgentConfig) DeepCopy ¶
func (in *NodeAgentConfig) DeepCopy() *NodeAgentConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAgentConfig.
func (*NodeAgentConfig) DeepCopyInto ¶
func (in *NodeAgentConfig) DeepCopyInto(out *NodeAgentConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OrchestratorExplorerConfig ¶ added in v0.5.0
type OrchestratorExplorerConfig struct {
// Enable this to activate live Kubernetes monitoring.
// See also: https://docs.datadoghq.com/infrastructure/livecontainers/#kubernetes-resources
//
// +optional
Enabled *bool `json:"enabled,omitempty"`
// +optional
// Option to disable scrubbing of sensitive container data (passwords, tokens, etc. ).
Scrubbing *Scrubbing `json:"scrubbing,omitempty"`
// +optional
// Additional endpoints for shipping the collected data as json in the form of {"https://process.agent.datadoghq.com": ["apikey1", ...], ...}'.
AdditionalEndpoints *string `json:"additionalEndpoints,omitempty"`
// +optional
// Set this for the Datadog endpoint for the orchestrator explorer
DDUrl *string `json:"ddUrl,omitempty"`
// +optional
// +listType=set
// Additional tags for the collected data in the form of `a b c`
// Difference to DD_TAGS: this is a cluster agent option that is used to define custom cluster tags
ExtraTags []string `json:"extraTags,omitempty"`
}
OrchestratorExplorerConfig contains the orchestrator explorer configuration. The orchestratorExplorer runs in the process-agent and DCA. +k8s:openapi-gen=true
func DefaultDatadogFeatureOrchestratorExplorer ¶ added in v0.5.0
func DefaultDatadogFeatureOrchestratorExplorer(explorerConfig *OrchestratorExplorerConfig) *OrchestratorExplorerConfig
DefaultDatadogFeatureOrchestratorExplorer used to default an OrchestratorExplorerConfig return the defaulted OrchestratorExplorerConfig
func (*OrchestratorExplorerConfig) DeepCopy ¶ added in v0.5.0
func (in *OrchestratorExplorerConfig) DeepCopy() *OrchestratorExplorerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratorExplorerConfig.
func (*OrchestratorExplorerConfig) DeepCopyInto ¶ added in v0.5.0
func (in *OrchestratorExplorerConfig) DeepCopyInto(out *OrchestratorExplorerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProcessSpec ¶
type ProcessSpec struct {
// Note: /etc/passwd is automatically mounted to allow username resolution.
// See also: https://docs.datadoghq.com/graphing/infrastructure/process/#kubernetes-daemonset
//
// +optional
Enabled *bool `json:"enabled,omitempty"`
// false (default): Only collect containers if available.
// true: collect process information as well
ProcessCollectionEnabled *bool `json:"processCollectionEnabled,omitempty"`
// The Datadog Agent supports many environment variables.
// See also: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables
//
// +optional
// +listType=map
// +listMapKey=name
Env []corev1.EnvVar `json:"env,omitempty"`
// Specify additional volume mounts in the Process Agent container.
// +optional
// +listType=map
// +listMapKey=name
// +listMapKey=mountPath
VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
// Datadog Process Agent resource requests and limits.
// Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class.
// See also: http://kubernetes.io/docs/user-guide/compute-resources/
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// Command allows the specification of custom entrypoint for Process Agent container
// +listType=atomic
Command []string `json:"command,omitempty"`
// Args allows the specification of extra args to `Command` parameter
// +listType=atomic
Args []string `json:"args,omitempty"`
}
ProcessSpec contains the Process Agent configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecAgentProcess ¶
func DefaultDatadogAgentSpecAgentProcess(process *ProcessSpec) *ProcessSpec
DefaultDatadogAgentSpecAgentProcess used to default an ProcessSpec return the defaulted ProcessSpec
func (*ProcessSpec) DeepCopy ¶
func (in *ProcessSpec) DeepCopy() *ProcessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProcessSpec.
func (*ProcessSpec) DeepCopyInto ¶
func (in *ProcessSpec) DeepCopyInto(out *ProcessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusScrapeConfig ¶ added in v0.6.0
type PrometheusScrapeConfig struct {
// Enable autodiscovering pods and services exposing prometheus metrics.
// +optional
Enabled *bool `json:"enabled,omitempty"`
// ServiceEndpoints enables generating dedicated checks for service endpoints.
// +optional
ServiceEndpoints *bool `json:"serviceEndpoints,omitempty"`
// AdditionalConfigs allows adding advanced prometheus check configurations with custom discovery rules.
// +optional
AdditionalConfigs *string `json:"additionalConfigs,omitempty"`
}
PrometheusScrapeConfig allows configuration of the Prometheus Autodiscovery feature. +k8s:openapi-gen=true
func DefaultDatadogFeaturePrometheusScrape ¶ added in v0.6.0
func DefaultDatadogFeaturePrometheusScrape(prom *PrometheusScrapeConfig) *PrometheusScrapeConfig
DefaultDatadogFeaturePrometheusScrape used to default the Prometheus Scrape config
func (*PrometheusScrapeConfig) DeepCopy ¶ added in v0.6.0
func (in *PrometheusScrapeConfig) DeepCopy() *PrometheusScrapeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusScrapeConfig.
func (*PrometheusScrapeConfig) DeepCopyInto ¶ added in v0.6.0
func (in *PrometheusScrapeConfig) DeepCopyInto(out *PrometheusScrapeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RbacConfig ¶
type RbacConfig struct {
// Used to configure RBAC resources creation.
Create *bool `json:"create,omitempty"`
// Used to set up the service account name to use.
// Ignored if the field Create is true.
ServiceAccountName *string `json:"serviceAccountName,omitempty"`
}
RbacConfig contains RBAC configuration. +k8s:openapi-gen=true
func DefaultDatadogAgentSpecRbacConfig ¶
func DefaultDatadogAgentSpecRbacConfig(rbac *RbacConfig) *RbacConfig
DefaultDatadogAgentSpecRbacConfig used to default a RbacConfig return the defaulted RbacConfig
func (*RbacConfig) DeepCopy ¶
func (in *RbacConfig) DeepCopy() *RbacConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RbacConfig.
func (*RbacConfig) DeepCopyInto ¶
func (in *RbacConfig) DeepCopyInto(out *RbacConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RuntimeSecuritySpec ¶
type RuntimeSecuritySpec struct {
// Enables runtime security features.
// +optional
Enabled *bool `json:"enabled,omitempty"`
// ConfigDir containing security policies.
// +optional
PoliciesDir *ConfigDirSpec `json:"policiesDir,omitempty"`
// Syscall monitor configuration.
// +optional
SyscallMonitor *SyscallMonitorSpec `json:"syscallMonitor,omitempty"`
}
RuntimeSecuritySpec contains configuration for runtime security features. +k8s:openapi-gen=true
func (*RuntimeSecuritySpec) DeepCopy ¶
func (in *RuntimeSecuritySpec) DeepCopy() *RuntimeSecuritySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeSecuritySpec.
func (*RuntimeSecuritySpec) DeepCopyInto ¶
func (in *RuntimeSecuritySpec) DeepCopyInto(out *RuntimeSecuritySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Scrubbing ¶ added in v0.5.0
type Scrubbing struct {
// Deactivate this to stop the scrubbing of sensitive container data (passwords, tokens, etc. ).
Containers *bool `json:"containers,omitempty"`
}
Scrubbing contains configuration to enable or disable scrubbing options
func (*Scrubbing) DeepCopy ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scrubbing.
func (*Scrubbing) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Secret ¶
type Secret struct {
// SecretName is the name of the secret.
SecretName string `json:"secretName"`
// KeyName is the key of the secret to use.
// +optional
KeyName string `json:"keyName,omitempty"`
}
Secret contains a secret name and an included key. +k8s:openapi-gen=true
func (*Secret) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret.
func (*Secret) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecuritySpec ¶
type SecuritySpec struct {
// Compliance configuration.
// +optional
Compliance ComplianceSpec `json:"compliance,omitempty"`
// Runtime security configuration.
// +optional
Runtime RuntimeSecuritySpec `json:"runtime,omitempty"`
// The Datadog Security Agent supports many environment variables.
// See also: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables
//
// +optional
// +listType=map
// +listMapKey=name
Env []corev1.EnvVar `json:"env,omitempty"`
// Specify additional volume mounts in the Security Agent container.
// +optional
// +listType=map
// +listMapKey=name
// +listMapKey=mountPath
VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
// Datadog Security Agent resource requests and limits.
// Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class.
// See also: http://kubernetes.io/docs/user-guide/compute-resources/
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// Command allows the specification of custom entrypoint for Security Agent container
// +listType=atomic
Command []string `json:"command,omitempty"`
// Args allows the specification of extra args to `Command` parameter
// +listType=atomic
Args []string `json:"args,omitempty"`
}
SecuritySpec contains the Security Agent configuration. +k8s:openapi-gen=true
func (*SecuritySpec) DeepCopy ¶
func (in *SecuritySpec) DeepCopy() *SecuritySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecuritySpec.
func (*SecuritySpec) DeepCopyInto ¶
func (in *SecuritySpec) DeepCopyInto(out *SecuritySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyncStatusMessage ¶ added in v0.6.0
type SyncStatusMessage string
SyncStatusMessage is the message reflecting the health of monitor state syncs to Datadog
const ( // SyncStatusOK means syncing is OK SyncStatusOK SyncStatusMessage = "OK" // SyncStatusValidateError means there is a monitor validation error SyncStatusValidateError SyncStatusMessage = "error validating monitor" // SyncStatusUpdateError means there is a monitor update error SyncStatusUpdateError SyncStatusMessage = "error updating monitor" // SyncStatusGetError means there is an error getting the monitor SyncStatusGetError SyncStatusMessage = "error getting monitor" )
type SyscallMonitorSpec ¶
type SyscallMonitorSpec struct {
// Enabled enables syscall monitor
// +optional
Enabled *bool `json:"enabled,omitempty"`
}
SyscallMonitorSpec contains configuration for syscall monitor. +k8s:openapi-gen=true
func (*SyscallMonitorSpec) DeepCopy ¶
func (in *SyscallMonitorSpec) DeepCopy() *SyscallMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyscallMonitorSpec.
func (*SyscallMonitorSpec) DeepCopyInto ¶
func (in *SyscallMonitorSpec) DeepCopyInto(out *SyscallMonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SystemProbeSpec ¶
type SystemProbeSpec struct {
// Enable this to activate live process monitoring.
// Note: /etc/passwd is automatically mounted to allow username resolution.
// See also: https://docs.datadoghq.com/graphing/infrastructure/process/#kubernetes-daemonset
// +optional
Enabled *bool `json:"enabled,omitempty"`
// SecCompRootPath specify the seccomp profile root directory.
// +optional
SecCompRootPath string `json:"secCompRootPath,omitempty"`
// SecCompCustomProfileConfigMap specify a pre-existing ConfigMap containing a custom SecComp profile.
// +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"`
// 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"`
// 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 (*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.