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=v1beta1
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) NamespaceSelector() *metav1.LabelSelector
- func (dk *DynaKube) NeedAppInjection() bool
- func (dk *DynaKube) NeedsOneAgent() bool
- func (dk *DynaKube) OneAgentDaemonsetName() string
- func (dk *DynaKube) UpdateStatus(ctx context.Context, client client.Client) error
- type DynaKubeList
- type DynaKubeProxy
- type DynaKubeSpec
- type DynaKubeStatus
- type DynaKubeValueSource
- type DynatraceApiStatus
- type HostInjectSpec
- type KubernetesMonitoringSpecdeprecated
- type OneAgentConnectionInfoStatus
- type OneAgentInstance
- type OneAgentMode
- type OneAgentSpec
- type OneAgentStatus
- type RoutingSpecdeprecated
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 (
// 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 // +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 // +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 // +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"` // If specified, indicates the pod's priority. Name must be defined by creating a PriorityClass object with that // name. If not specified the setting will be removed from the StatefulSet. // +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"` CapabilityProperties `json:",inline"` // Activegate capabilities enabled (routing, kubernetes-monitoring, metrics-ingest, dynatrace-api) // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Capabilities",order=10,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"} Capabilities []CapabilityDisplayName `json:"capabilities,omitempty"` }
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). // +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. // +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"` }
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 { 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. // +optional UseCSIDriver *bool `json:"useCSIDriver,omitempty"` // The OneAgent version to be used. // +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"` }
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 { // Amount of replicas for your ActiveGates // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Replicas",order=30,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podCount" Replicas *int32 `json:"replicas,omitempty"` // The ActiveGate container image. Defaults to the latest ActiveGate image provided by the registry on the tenant // +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 // +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"` // Add a custom properties file by providing it as a value or reference it from a secret // +optional // If referenced from a secret, make sure the key is called 'customProperties' CustomProperties *DynaKubeValueSource `json:"customProperties,omitempty"` // Define resources requests and limits for single ActiveGate pods // +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"` // Node selector to control the selection of nodes // +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"` // Set tolerations for the ActiveGate pods // +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"` // Adds additional labels for the ActiveGate pods // +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"` // List of environment variables to set for the ActiveGate // +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 for the ActiveGate pods // +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"` }
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 ¶
func (dst *DynaKube) ConvertFrom(srcRaw conversion.Hub) error
ConvertFrom converts v1beta3 to v1beta1.
func (*DynaKube) ConvertTo ¶
func (src *DynaKube) ConvertTo(dstRaw conversion.Hub) error
ConvertTo converts v1beta1 to v1beta3.
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 ¶
func (*DynaKube) FeatureDisableMetadataEnrichment ¶
FeatureDisableMetadataEnrichment is a feature flag to disable metadata enrichment,.
func (*DynaKube) FeatureMaxFailedCsiMountAttempts ¶
func (*DynaKube) FeatureOneAgentSecCompProfile ¶
func (*DynaKube) HostMonitoringMode ¶
HostMonitoringMode returns true when host monitoring section is used.
func (*DynaKube) NamespaceSelector ¶
func (dk *DynaKube) NamespaceSelector() *metav1.LabelSelector
func (*DynaKube) NeedAppInjection ¶
func (*DynaKube) NeedsOneAgent ¶
NeedsOneAgent returns true when a feature requires OneAgent instances.
func (*DynaKube) OneAgentDaemonsetName ¶
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. // Note: Applies to Dynatrace Operator, ActiveGate, and OneAgents. // +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. // +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. Put the certificate under certs within your configmap. // Note: Applies to Dynatrace Operator, OneAgent and ActiveGate. // +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. // +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). // +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"` // 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"` // Configuration for Routing // +kubebuilder:deprecatedversion:warning="Deprecated property" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Routing" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Routing RoutingSpec `json:"routing,omitempty"` // Configuration for Kubernetes Monitoring // +kubebuilder:deprecatedversion:warning="Deprecated property" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Kubernetes Monitoring" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" KubernetesMonitoring KubernetesMonitoringSpec `json:"kubernetesMonitoring,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. // +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 on 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. // +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"` // 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"` // LastTokenProbeTimestamp tracks when the last request for the API token validity was sent // +kubebuilder:deprecatedversion:warning="Use DynatraceApiStatus.LastTokenScopeRequest instead" LastTokenProbeTimestamp *metav1.Time `json:"lastTokenProbeTimestamp,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"` // 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 HostInjectSpec ¶
type HostInjectSpec struct { // The OneAgent version to be used. // +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. // +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"` // Tolerations to include with the OneAgent DaemonSet. For details, see Taints and Tolerations (https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/). // +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"` // 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. // +optional // +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,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). // +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"` // Add custom OneAgent annotations. // +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. // +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"` // Set additional environment variables for the OneAgent pods. // +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). // +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"` // Specify the node selector that controls on which nodes OneAgent will be deployed. // +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"` // 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/). // +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"` // 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. // Note: resource.requests shows the values needed to run; resource.limits shows the maximum limits for the pod. // +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"` }
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 KubernetesMonitoringSpec
deprecated
type KubernetesMonitoringSpec struct { CapabilityProperties `json:",inline"` // Enables Capability // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Capability",order=29,xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:booleanSwitch" Enabled bool `json:"enabled,omitempty"` }
Deprecated: Use ActiveGateSpec instead.
func (*KubernetesMonitoringSpec) DeepCopy ¶
func (in *KubernetesMonitoringSpec) DeepCopy() *KubernetesMonitoringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesMonitoringSpec.
func (*KubernetesMonitoringSpec) DeepCopyInto ¶
func (in *KubernetesMonitoringSpec) DeepCopyInto(out *KubernetesMonitoringSpec)
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"` // Sets a host group for OneAgent. // +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.
type RoutingSpec
deprecated
type RoutingSpec struct { CapabilityProperties `json:",inline"` // Enables Capability // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Capability",order=29,xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:booleanSwitch" Enabled bool `json:"enabled,omitempty"` }
Deprecated: Use ActiveGateSpec instead.
func (*RoutingSpec) DeepCopy ¶
func (in *RoutingSpec) DeepCopy() *RoutingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingSpec.
func (*RoutingSpec) DeepCopyInto ¶
func (in *RoutingSpec) DeepCopyInto(out *RoutingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.