Documentation ¶
Overview ¶
Deprecated: This package is deprecated and will be removed in future versions. Please use github.com/Dynatrace/dynatrace-operator/pkg/api/v1beta3/dynakube instead.
+kubebuilder:object:generate=true +groupName=dynatrace.com +versionName=v1beta2
Index ¶
- Constants
- Variables
- func SetupWebhookWithManager(mgr ctrl.Manager, validator admission.CustomValidator) error
- type ActiveGateCapability
- type ActiveGateConnectionInfoStatus
- type ActiveGateSpec
- type ActiveGateStatus
- type AppInjectionSpec
- type ApplicationMonitoringSpec
- type CapabilityDisplayName
- type CapabilityProperties
- type CloudNativeFullStackSpec
- type CodeModulesStatus
- type CommunicationHostStatus
- type ConnectionInfoStatus
- type DynaKube
- func (dk *DynaKube) ApplicationMonitoringMode() bool
- func (dk *DynaKube) ClassicFullStackMode() bool
- func (dk *DynaKube) CloudNativeFullstackMode() bool
- func (dst *DynaKube) ConvertFrom(srcRaw conversion.Hub) error
- func (src *DynaKube) ConvertTo(dstRaw conversion.Hub) error
- func (in *DynaKube) DeepCopy() *DynaKube
- func (in *DynaKube) DeepCopyInto(out *DynaKube)
- func (in *DynaKube) DeepCopyObject() runtime.Object
- func (dk *DynaKube) FeatureApiRequestThreshold() time.Duration
- func (dk *DynaKube) FeatureDisableMetadataEnrichment() bool
- func (dk *DynaKube) FeatureMaxFailedCsiMountAttempts() int
- func (dk *DynaKube) FeatureOneAgentSecCompProfile() string
- func (dk *DynaKube) HostMonitoringMode() bool
- func (dk *DynaKube) MetadataEnrichmentEnabled() bool
- func (dk *DynaKube) NeedAppInjection() bool
- func (dk *DynaKube) NeedsOneAgent() bool
- func (dk *DynaKube) OneAgentDaemonsetName() string
- func (dk *DynaKube) OneAgentNamespaceSelector() *metav1.LabelSelector
- func (dk *DynaKube) UpdateStatus(ctx context.Context, client client.Client) error
- type DynaKubeList
- type DynaKubeProxy
- type DynaKubeSpec
- type DynaKubeStatus
- type DynaKubeValueSource
- type DynatraceApiStatus
- type EnrichmentRule
- type EnrichmentRuleType
- type HostInjectSpec
- type MetadataEnrichment
- type MetadataEnrichmentStatus
- type OneAgentConnectionInfoStatus
- type OneAgentInstance
- type OneAgentMode
- type OneAgentSpec
- type OneAgentStatus
Constants ¶
const ( AnnotationFeaturePrefix = "feature.dynatrace.com/" // Deprecated: AnnotationFeatureDisableActiveGateUpdates use AnnotationFeatureActiveGateUpdates instead. AnnotationFeatureAutomaticK8sApiMonitoring = AnnotationFeaturePrefix + "automatic-kubernetes-api-monitoring" AnnotationFeatureActiveGateIgnoreProxy = AnnotationFeaturePrefix + "activegate-ignore-proxy" // dtClient. AnnotationFeatureApiRequestThreshold = AnnotationFeaturePrefix + "dynatrace-api-request-threshold" // oneAgent. AnnotationFeatureOneAgentSecCompProfile = AnnotationFeaturePrefix + "oneagent-seccomp-profile" // injection (webhook). // Deprecated: AnnotationFeatureDisableMetadataEnrichment use AnnotationFeatureMetadataEnrichment instead. AnnotationFeatureDisableMetadataEnrichment = AnnotationFeaturePrefix + "disable-metadata-enrichment" AnnotationFeatureMetadataEnrichment = AnnotationFeaturePrefix + "metadata-enrichment" // CSI. AnnotationFeatureMaxFailedCsiMountAttempts = AnnotationFeaturePrefix + "max-csi-mount-attempts" )
const ( DefaultMinRequestThresholdMinutes = 15 DefaultMaxFailedCsiMountAttempts = 10 )
const MetadataPrefix string = "metadata.dynatrace.com"
const (
// PullSecretSuffix is the suffix appended to the DynaKube name to n.
PodNameOsAgent = "oneagent"
)
Variables ¶
var ( RoutingCapability = ActiveGateCapability{ DisplayName: "routing", ShortName: "routing", ArgumentName: "MSGrouter", } KubeMonCapability = ActiveGateCapability{ DisplayName: "kubernetes-monitoring", ShortName: "kubemon", ArgumentName: "kubernetes_monitoring", } MetricsIngestCapability = ActiveGateCapability{ DisplayName: "metrics-ingest", ShortName: "metrics-ingest", ArgumentName: "metrics_ingest", } DynatraceApiCapability = ActiveGateCapability{ DisplayName: "dynatrace-api", ShortName: "dynatrace-api", ArgumentName: "restInterface", } )
var ActiveGateDisplayNames = map[CapabilityDisplayName]struct{}{ RoutingCapability.DisplayName: {}, KubeMonCapability.DisplayName: {}, MetricsIngestCapability.DisplayName: {}, DynatraceApiCapability.DisplayName: {}, }
Functions ¶
func SetupWebhookWithManager ¶ added in v1.3.0
func SetupWebhookWithManager(mgr ctrl.Manager, validator admission.CustomValidator) error
Types ¶
type ActiveGateCapability ¶
type ActiveGateCapability struct { // The name of the capability known by the user, mainly used in the CR DisplayName CapabilityDisplayName // The name used for marking the pod for given capability ShortName string // The string passed to the active gate image to enable a given capability ArgumentName string }
func (*ActiveGateCapability) DeepCopy ¶
func (in *ActiveGateCapability) DeepCopy() *ActiveGateCapability
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActiveGateCapability.
func (*ActiveGateCapability) DeepCopyInto ¶
func (in *ActiveGateCapability) DeepCopyInto(out *ActiveGateCapability)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ActiveGateConnectionInfoStatus ¶
type ActiveGateConnectionInfoStatus struct { // Information about Active Gate's connections ConnectionInfoStatus `json:",inline"` }
func (*ActiveGateConnectionInfoStatus) DeepCopy ¶
func (in *ActiveGateConnectionInfoStatus) DeepCopy() *ActiveGateConnectionInfoStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActiveGateConnectionInfoStatus.
func (*ActiveGateConnectionInfoStatus) DeepCopyInto ¶
func (in *ActiveGateConnectionInfoStatus) DeepCopyInto(out *ActiveGateConnectionInfoStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ActiveGateSpec ¶
type ActiveGateSpec struct { // Adds additional annotations to the ActiveGate pods // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Annotations",order=27,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} Annotations map[string]string `json:"annotations,omitempty"` // The name of a secret containing ActiveGate TLS cert+key and password. If not set, self-signed certificate is used. // `server.p12`: certificate+key pair in pkcs12 format // `password`: passphrase to read server.p12 // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TlsSecretName",order=10,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} TlsSecretName string `json:"tlsSecretName,omitempty"` // Sets DNS Policy for the ActiveGate pods // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="DNS Policy",order=24,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty"` // Assign a priority class to the ActiveGate pods. By default, no class is set. // For details, see Pod Priority and Preemption. (https://dt-url.net/n8437bl) // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Priority Class name",order=23,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:PriorityClass"} PriorityClassName string `json:"priorityClassName,omitempty"` // Defines the ActiveGate pod capabilities // Possible values: // - `routing` enables OneAgent routing. // - `kubernetes-monitoring` enables Kubernetes API monitoring. // - `metrics-ingest` opens the metrics ingest endpoint on the DynaKube ActiveGate and redirects all pods to it. // - `dynatrace-api` enables calling the Dynatrace API via ActiveGate. Capabilities []CapabilityDisplayName `json:"capabilities,omitempty"` CapabilityProperties `json:",inline"` }
func (*ActiveGateSpec) DeepCopy ¶
func (in *ActiveGateSpec) DeepCopy() *ActiveGateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActiveGateSpec.
func (*ActiveGateSpec) DeepCopyInto ¶
func (in *ActiveGateSpec) DeepCopyInto(out *ActiveGateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ActiveGateStatus ¶
type ActiveGateStatus struct { status.VersionStatus `json:",inline"` // Information about Active Gate's connections ConnectionInfoStatus ActiveGateConnectionInfoStatus `json:"connectionInfoStatus,omitempty"` // The ClusterIPs set by Kubernetes on the ActiveGate Service created by the Operator ServiceIPs []string `json:"serviceIPs,omitempty"` }
func (*ActiveGateStatus) DeepCopy ¶
func (in *ActiveGateStatus) DeepCopy() *ActiveGateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActiveGateStatus.
func (*ActiveGateStatus) DeepCopyInto ¶
func (in *ActiveGateStatus) DeepCopyInto(out *ActiveGateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppInjectionSpec ¶
type AppInjectionSpec struct { // Define resources requests and limits for the initContainer. For details, see Managing resources for containers // (https://kubernetes.io/docs/concepts/configuration/manage-resources-containers). // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements",order=15,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:resourceRequirements"} InitResources *corev1.ResourceRequirements `json:"initResources,omitempty"` // The OneAgent image that is used to inject into Pods. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="CodeModulesImage",order=12,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} CodeModulesImage string `json:"codeModulesImage,omitempty"` // Applicable only for applicationMonitoring or cloudNativeFullStack configuration types. The namespaces where you want Dynatrace Operator to inject. // For more information, see Configure monitoring for namespaces and pods (https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-container-platforms/kubernetes/get-started-with-kubernetes-monitoring/dto-config-options-k8s#annotate). // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Namespace Selector",order=17,xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:core:v1:Namespace" NamespaceSelector metav1.LabelSelector `json:"namespaceSelector,omitempty"` }
func (*AppInjectionSpec) DeepCopy ¶
func (in *AppInjectionSpec) DeepCopy() *AppInjectionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppInjectionSpec.
func (*AppInjectionSpec) DeepCopyInto ¶
func (in *AppInjectionSpec) DeepCopyInto(out *AppInjectionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationMonitoringSpec ¶
type ApplicationMonitoringSpec struct { // The OneAgent version to be used. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent version",order=11,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} Version string `json:"version,omitempty"` AppInjectionSpec `json:",inline"` // Set if you want to use the CSIDriver. Don't enable it if you do not have access to Kubernetes nodes or if you lack privileges. // +kubebuilder:validation:Optional // +kubebuilder:default=false UseCSIDriver bool `json:"useCSIDriver,omitempty"` }
func (*ApplicationMonitoringSpec) DeepCopy ¶
func (in *ApplicationMonitoringSpec) DeepCopy() *ApplicationMonitoringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationMonitoringSpec.
func (*ApplicationMonitoringSpec) DeepCopyInto ¶
func (in *ApplicationMonitoringSpec) DeepCopyInto(out *ApplicationMonitoringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CapabilityDisplayName ¶
type CapabilityDisplayName string
type CapabilityProperties ¶
type CapabilityProperties struct { // Add a custom properties file by providing it as a value or reference it from a secret // +kubebuilder:validation:Optional // If referenced from a secret, make sure the key is called `customProperties` CustomProperties *DynaKubeValueSource `json:"customProperties,omitempty"` // Specify the node selector that controls on which nodes ActiveGate will be deployed. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Node Selector",order=35,xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node" NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Your defined labels for ActiveGate pods in order to structure workloads as desired. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Labels",order=37,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} Labels map[string]string `json:"labels,omitempty"` // Use a custom ActiveGate image. Defaults to the latest ActiveGate image provided by the registry on the tenant // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Image",order=10,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} Image string `json:"image,omitempty"` // Set activation group for ActiveGate // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Activation group",order=31,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} Group string `json:"group,omitempty"` // Resource settings for ActiveGate container. // Consumption of the ActiveGate heavily depends on the workload to monitor. Adjust values accordingly. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements",order=34,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:resourceRequirements"} Resources corev1.ResourceRequirements `json:"resources,omitempty"` // Set tolerations for the ActiveGate pods // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tolerations",order=36,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:hidden"} Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // List of environment variables to set for the ActiveGate // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Environment variables",order=39,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:hidden"} // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []corev1.EnvVar `json:"env,omitempty"` // Adds TopologySpreadConstraints to the ActiveGate pods // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="topologySpreadConstraints",order=40,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:hidden"} TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"` // Amount of replicas for your ActiveGates // +kubebuilder:validation:Optional // +kubebuilder:default=1 // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Replicas",order=30,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podCount" Replicas int32 `json:"replicas,omitempty"` }
CapabilityProperties is a struct which can be embedded by ActiveGate capabilities Such as KubernetesMonitoring or Routing It encapsulates common properties.
func (*CapabilityProperties) DeepCopy ¶
func (in *CapabilityProperties) DeepCopy() *CapabilityProperties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapabilityProperties.
func (*CapabilityProperties) DeepCopyInto ¶
func (in *CapabilityProperties) DeepCopyInto(out *CapabilityProperties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudNativeFullStackSpec ¶
type CloudNativeFullStackSpec struct { AppInjectionSpec `json:",inline"` HostInjectSpec `json:",inline"` }
func (*CloudNativeFullStackSpec) DeepCopy ¶
func (in *CloudNativeFullStackSpec) DeepCopy() *CloudNativeFullStackSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudNativeFullStackSpec.
func (*CloudNativeFullStackSpec) DeepCopyInto ¶
func (in *CloudNativeFullStackSpec) DeepCopyInto(out *CloudNativeFullStackSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CodeModulesStatus ¶
type CodeModulesStatus struct {
status.VersionStatus `json:",inline"`
}
func (*CodeModulesStatus) DeepCopy ¶
func (in *CodeModulesStatus) DeepCopy() *CodeModulesStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CodeModulesStatus.
func (*CodeModulesStatus) DeepCopyInto ¶
func (in *CodeModulesStatus) DeepCopyInto(out *CodeModulesStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommunicationHostStatus ¶
type CommunicationHostStatus struct { // Connection protocol Protocol string `json:"protocol,omitempty"` // Host domain Host string `json:"host,omitempty"` // Connection port Port uint32 `json:"port,omitempty"` }
func (*CommunicationHostStatus) DeepCopy ¶
func (in *CommunicationHostStatus) DeepCopy() *CommunicationHostStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommunicationHostStatus.
func (*CommunicationHostStatus) DeepCopyInto ¶
func (in *CommunicationHostStatus) DeepCopyInto(out *CommunicationHostStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConnectionInfoStatus ¶
type ConnectionInfoStatus struct { // Time of the last connection request LastRequest metav1.Time `json:"lastRequest,omitempty"` // UUID of the tenant, received from the tenant TenantUUID string `json:"tenantUUID,omitempty"` // Available connection endpoints Endpoints string `json:"endpoints,omitempty"` }
func (*ConnectionInfoStatus) DeepCopy ¶
func (in *ConnectionInfoStatus) DeepCopy() *ConnectionInfoStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionInfoStatus.
func (*ConnectionInfoStatus) DeepCopyInto ¶
func (in *ConnectionInfoStatus) DeepCopyInto(out *ConnectionInfoStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DynaKube ¶
type DynaKube struct { metav1.TypeMeta `json:",inline"` Status DynaKubeStatus `json:"status,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DynaKubeSpec `json:"spec,omitempty"` }
DynaKube is the Schema for the DynaKube API +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=dynakubes,scope=Namespaced,categories=dynatrace,shortName={dk,dks} +kubebuilder:printcolumn:name="ApiUrl",type=string,JSONPath=`.spec.apiUrl` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +operator-sdk:csv:customresourcedefinitions:displayName="Dynatrace DynaKube" +operator-sdk:csv:customresourcedefinitions:resources={{StatefulSet,v1,},{DaemonSet,v1,},{Pod,v1,}}
func (*DynaKube) ApplicationMonitoringMode ¶
ApplicationMonitoringMode returns true when application only section is used.
func (*DynaKube) ClassicFullStackMode ¶
ClassicFullStackMode returns true when classic fullstack section is used.
func (*DynaKube) CloudNativeFullstackMode ¶
CloudNativeFullstackMode returns true when cloud native fullstack section is used.
func (*DynaKube) ConvertFrom ¶ added in v1.4.0
func (dst *DynaKube) ConvertFrom(srcRaw conversion.Hub) error
ConvertFrom converts from the Hub version (v1beta3) to this version (v1beta3).
func (*DynaKube) ConvertTo ¶ added in v1.4.0
func (src *DynaKube) ConvertTo(dstRaw conversion.Hub) error
ConvertTo converts this v1beta2.DynaKube to the Hub version (dynakube.DynaKube).
func (*DynaKube) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynaKube.
func (*DynaKube) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DynaKube) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DynaKube) FeatureApiRequestThreshold ¶ added in v1.4.0
func (*DynaKube) FeatureDisableMetadataEnrichment ¶ added in v1.4.0
FeatureDisableMetadataEnrichment is a feature flag to disable metadata enrichment,.
func (*DynaKube) FeatureMaxFailedCsiMountAttempts ¶
func (*DynaKube) FeatureOneAgentSecCompProfile ¶ added in v1.4.0
func (*DynaKube) HostMonitoringMode ¶
HostMonitoringMode returns true when host monitoring section is used.
func (*DynaKube) MetadataEnrichmentEnabled ¶
func (*DynaKube) NeedAppInjection ¶
func (*DynaKube) NeedsOneAgent ¶
NeedsOneAgent returns true when a feature requires OneAgent instances.
func (*DynaKube) OneAgentDaemonsetName ¶
func (*DynaKube) OneAgentNamespaceSelector ¶
func (dk *DynaKube) OneAgentNamespaceSelector() *metav1.LabelSelector
type DynaKubeList ¶
type DynaKubeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DynaKube `json:"items"` }
DynaKubeList contains a list of DynaKube +kubebuilder:object:root=true
func (*DynaKubeList) DeepCopy ¶
func (in *DynaKubeList) DeepCopy() *DynaKubeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynaKubeList.
func (*DynaKubeList) DeepCopyInto ¶
func (in *DynaKubeList) DeepCopyInto(out *DynaKubeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DynaKubeList) DeepCopyObject ¶
func (in *DynaKubeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DynaKubeProxy ¶
type DynaKubeProxy struct { // Proxy URL. It has preference over ValueFrom. // +nullable // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Proxy value",order=32,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} Value string `json:"value,omitempty"` // Secret containing proxy URL. // +nullable // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Proxy secret",order=33,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:Secret"} ValueFrom string `json:"valueFrom,omitempty"` }
func (*DynaKubeProxy) DeepCopy ¶
func (in *DynaKubeProxy) DeepCopy() *DynaKubeProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynaKubeProxy.
func (*DynaKubeProxy) DeepCopyInto ¶
func (in *DynaKubeProxy) DeepCopyInto(out *DynaKubeProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DynaKubeSpec ¶
type DynaKubeSpec struct { // Set custom proxy settings either directly or from a secret with the field `proxy`. // Applies to Dynatrace Operator, ActiveGate, and OneAgents. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Proxy",order=3,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:booleanSwitch"} Proxy *DynaKubeProxy `json:"proxy,omitempty"` // General configuration about OneAgent instances. // You can't enable more than one module (classicFullStack, cloudNativeFullStack, hostMonitoring, or applicationMonitoring). // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent",xDescriptors="urn:alm:descriptor:com.tectonic.ui:text" OneAgent OneAgentSpec `json:"oneAgent,omitempty"` // Dynatrace `apiUrl`, including the `/api` path at the end. // - For SaaS, set `YOUR_ENVIRONMENT_ID` to your environment ID. // - For Managed, change the `apiUrl` address. // For instructions on how to determine the environment ID and how to configure the apiUrl address, see Environment ID (https://www.dynatrace.com/support/help/get-started/monitoring-environment/environment-id). // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="API URL",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:text" APIURL string `json:"apiUrl"` // Name of the secret holding the tokens used for connecting to Dynatrace. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tenant specific secrets",order=2,xDescriptors="urn:alm:descriptor:io.kubernetes:Secret" Tokens string `json:"tokens,omitempty"` // Adds custom RootCAs from a configmap. // The key to the data must be `certs`. // This applies to both the Dynatrace Operator and the OneAgent. Doesn't apply to ActiveGate. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Trusted CAs",order=6,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:ConfigMap"} TrustedCAs string `json:"trustedCAs,omitempty"` // Sets a network zone for the OneAgent and ActiveGate pods. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Network Zone",order=7,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} NetworkZone string `json:"networkZone,omitempty"` // Defines a custom pull secret in case you use a private registry when pulling images from the Dynatrace environment. // To define a custom pull secret and learn about the expected behavior, see Configure customPullSecret // (https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-container-platforms/kubernetes/get-started-with-kubernetes-monitoring/dto-config-options-k8s#custompullsecret). // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Custom PullSecret",order=8,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:Secret"} CustomPullSecret string `json:"customPullSecret,omitempty"` // General configuration about ActiveGate instances. // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="ActiveGate",xDescriptors="urn:alm:descriptor:com.tectonic.ui:text" ActiveGate ActiveGateSpec `json:"activeGate,omitempty"` // Configuration for Metadata Enrichment. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Metadata Enrichment",order=9,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"} MetadataEnrichment MetadataEnrichment `json:"metadataEnrichment,omitempty"` // Minimum minutes between Dynatrace API requests. // +kubebuilder:validation:Optional // +kubebuilder:default=15 // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Dynatrace API Request Threshold",order=9,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"} DynatraceApiRequestThreshold int `json:"dynatraceApiRequestThreshold,omitempty"` // Disable certificate check for the connection between Dynatrace Operator and the Dynatrace Cluster. // Set to `true` if you want to skip certification validation checks. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Skip Certificate Check",order=3,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:booleanSwitch"} SkipCertCheck bool `json:"skipCertCheck,omitempty"` // When enabled, and if Istio is installed in the Kubernetes environment, Dynatrace Operator will create the corresponding VirtualService and ServiceEntry objects to allow access to the Dynatrace Cluster from the OneAgent or ActiveGate. // Disabled by default. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable Istio automatic management",order=9,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:booleanSwitch"} EnableIstio bool `json:"enableIstio,omitempty"` }
DynaKubeSpec defines the desired state of DynaKube +k8s:openapi-gen=true
func (*DynaKubeSpec) DeepCopy ¶
func (in *DynaKubeSpec) DeepCopy() *DynaKubeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynaKubeSpec.
func (*DynaKubeSpec) DeepCopyInto ¶
func (in *DynaKubeSpec) DeepCopyInto(out *DynaKubeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DynaKubeStatus ¶
type DynaKubeStatus struct { // Observed state of OneAgent OneAgent OneAgentStatus `json:"oneAgent,omitempty"` // Observed state of ActiveGate ActiveGate ActiveGateStatus `json:"activeGate,omitempty"` // Observed state of Code Modules CodeModules CodeModulesStatus `json:"codeModules,omitempty"` // Observed state of Metadata-Enrichment MetadataEnrichment MetadataEnrichmentStatus `json:"metadataEnrichment,omitempty"` // UpdatedTimestamp indicates when the instance was last updated // +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Last Updated" // +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:text" UpdatedTimestamp metav1.Time `json:"updatedTimestamp,omitempty"` // Observed state of Dynatrace API DynatraceApi DynatraceApiStatus `json:"dynatraceApi,omitempty"` // Defines the current state (Running, Updating, Error, ...) Phase status.DeploymentPhase `json:"phase,omitempty"` // KubeSystemUUID contains the UUID of the current Kubernetes cluster KubeSystemUUID string `json:"kubeSystemUUID,omitempty"` // KubernetesClusterMEID contains the ID of the monitored entity that points to the Kubernetes cluster KubernetesClusterMEID string `json:"kubernetesClusterMEID,omitempty"` // KubernetesClusterName contains the display name (also know as label) of the monitored entity that points to the Kubernetes cluster KubernetesClusterName string `json:"kubernetesClusterName,omitempty"` // Conditions includes status about the current state of the instance Conditions []metav1.Condition `json:"conditions,omitempty"` }
DynaKubeStatus defines the observed state of DynaKube +k8s:openapi-gen=true
func (*DynaKubeStatus) DeepCopy ¶
func (in *DynaKubeStatus) DeepCopy() *DynaKubeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynaKubeStatus.
func (*DynaKubeStatus) DeepCopyInto ¶
func (in *DynaKubeStatus) DeepCopyInto(out *DynaKubeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DynaKubeStatus) SetPhase ¶
func (dk *DynaKubeStatus) SetPhase(phase status.DeploymentPhase) bool
SetPhase sets the status phase on the DynaKube object.
type DynaKubeValueSource ¶
type DynaKubeValueSource struct { // Custom properties value. // +nullable // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Custom properties value",order=32,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} Value string `json:"value,omitempty"` // Custom properties secret. // +nullable // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Custom properties secret",order=33,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:Secret"} ValueFrom string `json:"valueFrom,omitempty"` }
func (*DynaKubeValueSource) DeepCopy ¶
func (in *DynaKubeValueSource) DeepCopy() *DynaKubeValueSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynaKubeValueSource.
func (*DynaKubeValueSource) DeepCopyInto ¶
func (in *DynaKubeValueSource) DeepCopyInto(out *DynaKubeValueSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DynatraceApiStatus ¶
type DynatraceApiStatus struct { // Time of the last token request LastTokenScopeRequest metav1.Time `json:"lastTokenScopeRequest,omitempty"` }
func (*DynatraceApiStatus) DeepCopy ¶
func (in *DynatraceApiStatus) DeepCopy() *DynatraceApiStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynatraceApiStatus.
func (*DynatraceApiStatus) DeepCopyInto ¶
func (in *DynatraceApiStatus) DeepCopyInto(out *DynatraceApiStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnrichmentRule ¶ added in v1.3.0
type EnrichmentRule struct { Type EnrichmentRuleType `json:"type,omitempty"` Source string `json:"source,omitempty"` Target string `json:"target,omitempty"` Enabled bool `json:"enabled,omitempty"` }
func (*EnrichmentRule) DeepCopy ¶ added in v1.3.0
func (in *EnrichmentRule) DeepCopy() *EnrichmentRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnrichmentRule.
func (*EnrichmentRule) DeepCopyInto ¶ added in v1.3.0
func (in *EnrichmentRule) DeepCopyInto(out *EnrichmentRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EnrichmentRule) ToAnnotationKey ¶ added in v1.3.0
func (rule EnrichmentRule) ToAnnotationKey() string
type EnrichmentRuleType ¶ added in v1.3.0
type EnrichmentRuleType string
const ( EnrichmentLabelRule EnrichmentRuleType = "LABEL" EnrichmentAnnotationRule EnrichmentRuleType = "ANNOTATION" )
type HostInjectSpec ¶
type HostInjectSpec struct { // Add custom OneAgent annotations. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Annotations",order=27,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} Annotations map[string]string `json:"annotations,omitempty"` // Your defined labels for OneAgent pods in order to structure workloads as desired. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Labels",order=26,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} Labels map[string]string `json:"labels,omitempty"` // Specify the node selector that controls on which nodes OneAgent will be deployed. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Node Selector",order=17,xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node" NodeSelector map[string]string `json:"nodeSelector,omitempty"` // The OneAgent version to be used for OneAgents running in the dedicated pod. This setting doesn't affect the OneAgent version used for application monitoring. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent version",order=11,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} Version string `json:"version,omitempty"` // Use a custom OneAgent Docker image. Defaults to the image from the Dynatrace cluster. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Image",order=12,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} Image string `json:"image,omitempty"` // Set the DNS Policy for OneAgent pods. For details, see Pods DNS Policy (https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy). // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="DNS Policy",order=24,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty"` // Assign a priority class to the OneAgent pods. By default, no class is set. // For details, see Pod Priority and Preemption (https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/). // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Priority Class name",order=23,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:PriorityClass"} PriorityClassName string `json:"priorityClassName,omitempty"` // The SecComp Profile that will be configured in order to run in secure computing mode. // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent SecComp Profile",order=17,xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:core:v1:Namespace" SecCompProfile string `json:"secCompProfile,omitempty"` // Resource settings for OneAgent container. Consumption of the OneAgent heavily depends on the workload to monitor. You can use the default settings in the CR. // - `resource.requests` shows the values needed to run // - `resource.limits` shows the maximum limits for the pod // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements",order=20,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:resourceRequirements"} OneAgentResources corev1.ResourceRequirements `json:"oneAgentResources,omitempty"` // Tolerations to include with the OneAgent DaemonSet. For details, see Taints and Tolerations (https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/). // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tolerations",order=18,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:hidden"} Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Set additional environment variables for the OneAgent pods. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent environment variable installer arguments",order=22,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:hidden"} Env []corev1.EnvVar `json:"env,omitempty"` // Set additional arguments to the OneAgent installer. // For available options, see Linux custom installation (https://www.dynatrace.com/support/help/setup-and-configuration/dynatrace-oneagent/installation-and-operation/linux/installation/customize-oneagent-installation-on-linux). // For the list of limitations, see Limitations (https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-container-platforms/docker/set-up-dynatrace-oneagent-as-docker-container#limitations). // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent installer arguments",order=21,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:hidden"} // +listType=set Args []string `json:"args,omitempty"` // Disables automatic restarts of OneAgent pods in case a new version is available (https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-container-platforms/kubernetes/get-started-with-kubernetes-monitoring#disable-auto). // Enabled by default. // +kubebuilder:validation:Optional // +kubebuilder:default=true // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Automatically update Agent",order=13,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:booleanSwitch"} AutoUpdate bool `json:"autoUpdate"` }
func (*HostInjectSpec) DeepCopy ¶
func (in *HostInjectSpec) DeepCopy() *HostInjectSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostInjectSpec.
func (*HostInjectSpec) DeepCopyInto ¶
func (in *HostInjectSpec) DeepCopyInto(out *HostInjectSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetadataEnrichment ¶
type MetadataEnrichment struct { // The namespaces where you want Dynatrace Operator to inject enrichment. // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Namespace Selector",xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:core:v1:Namespace" NamespaceSelector metav1.LabelSelector `json:"namespaceSelector,omitempty"` // Enables MetadataEnrichment, `false` by default. // +kubebuilder:default:=false // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="MetaDataEnrichment",xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:booleanSwitch" Enabled bool `json:"enabled"` }
func (*MetadataEnrichment) DeepCopy ¶
func (in *MetadataEnrichment) DeepCopy() *MetadataEnrichment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataEnrichment.
func (*MetadataEnrichment) DeepCopyInto ¶
func (in *MetadataEnrichment) DeepCopyInto(out *MetadataEnrichment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetadataEnrichmentStatus ¶ added in v1.3.0
type MetadataEnrichmentStatus struct {
Rules []EnrichmentRule `json:"rules,omitempty"`
}
func (*MetadataEnrichmentStatus) DeepCopy ¶ added in v1.3.0
func (in *MetadataEnrichmentStatus) DeepCopy() *MetadataEnrichmentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataEnrichmentStatus.
func (*MetadataEnrichmentStatus) DeepCopyInto ¶ added in v1.3.0
func (in *MetadataEnrichmentStatus) DeepCopyInto(out *MetadataEnrichmentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OneAgentConnectionInfoStatus ¶
type OneAgentConnectionInfoStatus struct { // Information for communicating with the tenant ConnectionInfoStatus `json:",inline"` // List of communication hosts CommunicationHosts []CommunicationHostStatus `json:"communicationHosts,omitempty"` }
func (*OneAgentConnectionInfoStatus) DeepCopy ¶
func (in *OneAgentConnectionInfoStatus) DeepCopy() *OneAgentConnectionInfoStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OneAgentConnectionInfoStatus.
func (*OneAgentConnectionInfoStatus) DeepCopyInto ¶
func (in *OneAgentConnectionInfoStatus) DeepCopyInto(out *OneAgentConnectionInfoStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OneAgentInstance ¶
type OneAgentInstance struct { // Name of the OneAgent pod PodName string `json:"podName,omitempty"` // IP address of the pod IPAddress string `json:"ipAddress,omitempty"` }
func (*OneAgentInstance) DeepCopy ¶
func (in *OneAgentInstance) DeepCopy() *OneAgentInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OneAgentInstance.
func (*OneAgentInstance) DeepCopyInto ¶
func (in *OneAgentInstance) DeepCopyInto(out *OneAgentInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OneAgentMode ¶
type OneAgentMode string
type OneAgentSpec ¶
type OneAgentSpec struct { // Has a single OneAgent per node via DaemonSet. // Injection is performed via the same OneAgent DaemonSet. // +nullable ClassicFullStack *HostInjectSpec `json:"classicFullStack,omitempty"` // Has a single OneAgent per node via DaemonSet. // dynatrace-webhook injects into application pods based on labeled namespaces. // Has a CSI driver per node via DaemonSet to provide binaries to pods. // +nullable CloudNativeFullStack *CloudNativeFullStackSpec `json:"cloudNativeFullStack,omitempty"` // dynatrace-webhook injects into application pods based on labeled namespaces. // Has an optional CSI driver per node via DaemonSet to provide binaries to pods. // +nullable ApplicationMonitoring *ApplicationMonitoringSpec `json:"applicationMonitoring,omitempty"` // Has a single OneAgent per node via DaemonSet. // Doesn't inject into application pods. // +nullable HostMonitoring *HostInjectSpec `json:"hostMonitoring,omitempty"` // Specify the name of the group to which you want to assign the host. // This method is preferred over the now obsolete `--set-host-group` argument. // If both settings are used, this field takes precedence over the `--set-host-group` argument. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Host Group",order=5,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} HostGroup string `json:"hostGroup,omitempty"` }
func (*OneAgentSpec) DeepCopy ¶
func (in *OneAgentSpec) DeepCopy() *OneAgentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OneAgentSpec.
func (*OneAgentSpec) DeepCopyInto ¶
func (in *OneAgentSpec) DeepCopyInto(out *OneAgentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OneAgentStatus ¶
type OneAgentStatus struct { status.VersionStatus `json:",inline"` // List of deployed OneAgent instances Instances map[string]OneAgentInstance `json:"instances,omitempty"` // Time of the last instance status update LastInstanceStatusUpdate *metav1.Time `json:"lastInstanceStatusUpdate,omitempty"` // Commands used for OneAgent's readiness probe // +kubebuilder:validation:Type=object // +kubebuilder:validation:Schemaless // +kubebuilder:pruning:PreserveUnknownFields Healthcheck *containerv1.HealthConfig `json:"healthcheck,omitempty"` // Information about OneAgent's connections ConnectionInfoStatus OneAgentConnectionInfoStatus `json:"connectionInfoStatus,omitempty"` }
func (*OneAgentStatus) DeepCopy ¶
func (in *OneAgentStatus) DeepCopy() *OneAgentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OneAgentStatus.
func (*OneAgentStatus) DeepCopyInto ¶
func (in *OneAgentStatus) DeepCopyInto(out *OneAgentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.