Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the dynatrace v1 API group +kubebuilder:object:generate=true +groupName=dynatrace.com
Index ¶
- Constants
- Variables
- type ActiveGateCapability
- type ActiveGateSpec
- type ActiveGateStatus
- type AppInjectionSpec
- type ApplicationMonitoringSpec
- type CapabilityDisplayName
- type CapabilityProperties
- type ClassicFullStackSpec
- type CloudNativeFullStackSpec
- type CommunicationHostStatus
- type ConnectionInfoStatus
- type DynaKube
- func (dk *DynaKube) ActiveGateImage() string
- func (dk *DynaKube) ActiveGateMode() bool
- func (dk *DynaKube) ApplicationMonitoringMode() bool
- func (dk *DynaKube) ClassicFullStackMode() bool
- func (dk *DynaKube) CloudNativeFullstackMode() bool
- func (dk *DynaKube) CommunicationHostForClient() dtclient.CommunicationHost
- func (dk *DynaKube) CommunicationHosts() []dtclient.CommunicationHost
- func (dk *DynaKube) ConnectionInfo() dtclient.ConnectionInfo
- 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) DeprecatedActiveGateMode() bool
- func (dk *DynaKube) FeatureAutomaticKubernetesApiMonitoring() bool
- func (dk *DynaKube) FeatureDisableActiveGateUpdates() bool
- func (dk *DynaKube) FeatureDisableHostsRequests() bool
- func (dk *DynaKube) FeatureDisableMetadataEnrichment() bool
- func (dk *DynaKube) FeatureEnableWebhookReinvocationPolicy() bool
- func (dk *DynaKube) FeatureIgnoreUnknownState() bool
- func (dk *DynaKube) FeatureIgnoredNamespaces() []string
- func (dk *DynaKube) FeatureOneAgentMaxUnavailable() int
- func (dk *DynaKube) GetFeatureEnableWebhookReinvocationPolicy() string
- func (dk *DynaKube) HasActiveGateTLS() bool
- func (dk *DynaKube) HasProxy() bool
- func (dk *DynaKube) HostGroup() string
- func (dk *DynaKube) HostMonitoringMode() bool
- func (dk *DynaKube) Image() string
- func (dk *DynaKube) ImmutableOneAgentImage() string
- func (dk *DynaKube) InitResources() *corev1.ResourceRequirements
- func (dk *DynaKube) IsActiveGateMode(mode CapabilityDisplayName) bool
- func (dk *DynaKube) KubernetesMonitoringMode() bool
- func (dk *DynaKube) NamespaceSelector() *metav1.LabelSelector
- func (dk *DynaKube) NeedAppInjection() bool
- func (dk *DynaKube) NeedsActiveGate() bool
- func (dk *DynaKube) NeedsCSIDriver() bool
- func (dk *DynaKube) NeedsOneAgent() bool
- func (dk *DynaKube) NodeSelector() map[string]string
- func (dk *DynaKube) OneAgentResources() *corev1.ResourceRequirements
- func (dk *DynaKube) PullSecret() string
- func (r *DynaKube) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (dk *DynaKube) ShouldAutoUpdateOneAgent() bool
- func (dk *DynaKube) Tokens() string
- func (dk *DynaKube) Version() string
- type DynaKubeList
- type DynaKubePhaseType
- type DynaKubeProxy
- type DynaKubeSpec
- type DynaKubeStatus
- type DynaKubeValueSource
- type HostInjectSpec
- type HostMonitoringSpec
- type KubernetesMonitoringSpec
- type OneAgentInstance
- type OneAgentMode
- type OneAgentSpec
- type OneAgentStatus
- type RoutingSpec
- type VersionStatus
Constants ¶
const ( // APITokenConditionType identifies the API Token validity condition APITokenConditionType string = "APIToken" // PaaSTokenConditionType identifies the PaaS Token validity condition PaaSTokenConditionType string = "PaaSToken" // DataIngestTokenConditionType identifies the DataIngest Token validity condition DataIngestTokenConditionType string = "DataIngestToken" OperatorName = "dynatrace-operator" )
const ( // ReasonTokenReady is set when a token has passed verifications ReasonTokenReady string = "TokenReady" // ReasonTokenSecretNotFound is set when the referenced secret can't be found ReasonTokenSecretNotFound string = "TokenSecretNotFound" // ReasonTokenMissing is set when the field is missing on the secret ReasonTokenMissing string = "TokenMissing" ReasonTokenUnauthorized string = "TokenUnauthorized" // ReasonTokenScopeMissing is set when the token is missing the required scope for the Dynatrace API ReasonTokenScopeMissing string = "TokenScopeMissing" // ReasonTokenError is set when an unknown error has been found when verifying the token ReasonTokenError string = "TokenError" )
Possible reasons for ApiToken and PaaSToken conditions
const (
// PullSecretSuffix is the suffix appended to the DynaKube name to n.
PullSecretSuffix = "-pull-secret"
)
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", } )
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "dynatrace.com", Version: "v1beta1"} // 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 )
var ActiveGateDisplayNames = map[CapabilityDisplayName]bool{ RoutingCapability.DisplayName: true, KubeMonCapability.DisplayName: true, MetricsIngestCapability.DisplayName: true, }
Functions ¶
This section is empty.
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 ActiveGateSpec ¶
type ActiveGateSpec struct { // Activegate capabilities enabled (routing, kubernetes-monitoring, metrics-ingest) Capabilities []CapabilityDisplayName `json:"capabilities,omitempty"` CapabilityProperties `json:",inline"` // Optional: 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 // +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"` // Optional: Sets DNS Policy for the ActiveGate pods // +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"` }
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 {
VersionStatus `json:",inline"`
}
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 { // Optional: define resources requests and limits for the initContainer // +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"` }
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"` // Optional: If specified, indicates the OneAgent version to use // Defaults to latest // Example: {major.minor.release} - 1.200.0 // +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"` // Optional: If you want to use CSIDriver; disable if your cluster does not have 'nodes' to fall back to the volume approach. 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 { // 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"` // Optional: the ActiveGate container image. Defaults to the latest ActiveGate image provided by the registry on the tenant // +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"` // Optional: Set activation group for ActiveGate // +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"` // Optional: Add a custom properties file by providing it as a value or reference it from a secret // If referenced from a secret, make sure the key is called 'customProperties' CustomProperties *DynaKubeValueSource `json:"customProperties,omitempty"` // Optional: define resources requests and limits for single ActiveGate pods // +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"` // Optional: Node selector to control the selection of nodes // +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"` // Optional: set tolerations for the ActiveGatePods pods // +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"` // Optional: Adds additional labels for the ActiveGate pods // +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"` // Optional: List of environment variables to set for the ActiveGate // +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"` }
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 ClassicFullStackSpec ¶
type ClassicFullStackSpec struct { // Optional: the Dynatrace installer container image // Defaults to the registry on the tenant for both Kubernetes and for OpenShift // +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"` // Optional: If specified, indicates the OneAgent version to use // Defaults to latest // Example: {major.minor.release} - 1.200.0 // +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"` HostInjectSpec `json:",inline"` }
func (*ClassicFullStackSpec) DeepCopy ¶
func (in *ClassicFullStackSpec) DeepCopy() *ClassicFullStackSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassicFullStackSpec.
func (*ClassicFullStackSpec) DeepCopyInto ¶
func (in *ClassicFullStackSpec) DeepCopyInto(out *ClassicFullStackSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudNativeFullStackSpec ¶
type CloudNativeFullStackSpec struct { // Optional: If specified, indicates the OneAgent version to use // Defaults to latest // Example: {major.minor.release} - 1.200.0 // +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"` HostInjectSpec `json:",inline"` AppInjectionSpec `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 CommunicationHostStatus ¶
type CommunicationHostStatus struct { Protocol string `json:"protocol,omitempty"` Host string `json:"host,omitempty"` 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 { CommunicationHosts []CommunicationHostStatus `json:"communicationHosts,omitempty"` TenantUUID string `json:"tenantUUID,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"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DynaKubeSpec `json:"spec,omitempty"` Status DynaKubeStatus `json:"status,omitempty"` }
DynaKube is the Schema for the DynaKube API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=dynakubes,scope=Namespaced,categories=dynatrace +kubebuilder:printcolumn:name="ApiUrl",type=string,JSONPath=`.spec.apiUrl` +kubebuilder:printcolumn:name="Tokens",type=string,JSONPath=`.status.tokens` +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) ActiveGateImage ¶
ActiveGateImage returns the ActiveGate image to be used with the dk DynaKube instance.
func (*DynaKube) ActiveGateMode ¶
func (*DynaKube) ApplicationMonitoringMode ¶
ApplicationMonitoringMode returns true when application only section is used.
func (*DynaKube) ClassicFullStackMode ¶
ClassicFullStackMode returns true when host monitoring section is used.
func (*DynaKube) CloudNativeFullstackMode ¶
CloudNativeFullstackMode returns true when cloud native fullstack section is used.
func (*DynaKube) CommunicationHostForClient ¶
func (dk *DynaKube) CommunicationHostForClient() dtclient.CommunicationHost
func (*DynaKube) CommunicationHosts ¶
func (dk *DynaKube) CommunicationHosts() []dtclient.CommunicationHost
func (*DynaKube) ConnectionInfo ¶
func (dk *DynaKube) ConnectionInfo() dtclient.ConnectionInfo
func (*DynaKube) ConvertFrom ¶
func (dst *DynaKube) ConvertFrom(srcRaw conversion.Hub) error
ConvertFrom converts v1alpha1 to v1beta1
func (*DynaKube) ConvertTo ¶
func (src *DynaKube) ConvertTo(dstRaw conversion.Hub) error
ConvertTo converts v1beta1 to v1alpha1
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) DeprecatedActiveGateMode ¶
func (*DynaKube) FeatureAutomaticKubernetesApiMonitoring ¶
FeatureAutomaticKubernetesApiMonitoring is a feature flag to enable automatic kubernetes api monitoring, which ensures that settings for this kubernetes cluster exist in Dynatrace
func (*DynaKube) FeatureDisableActiveGateUpdates ¶
FeatureDisableActiveGateUpdates is a feature flag to disable ActiveGate updates.
func (*DynaKube) FeatureDisableHostsRequests ¶
FeatureDisableHostsRequests is a feature flag to disable queries to the Hosts API.
func (*DynaKube) FeatureDisableMetadataEnrichment ¶
FeatureDisableMetadataEnrichment is a feature flag to disable metadata enrichment,
func (*DynaKube) FeatureEnableWebhookReinvocationPolicy ¶
FeatureEnableWebhookReinvocationPolicy is a feature flag to enable instrumenting missing containers by enabling reinvocation for webhook.
func (*DynaKube) FeatureIgnoreUnknownState ¶
FeatureIgnoreUnknownState is a feature flag that makes the operator inject into applications even when the dynakube is in an UNKNOWN state, this may cause extra host to appear in the tenant for each process.
func (*DynaKube) FeatureIgnoredNamespaces ¶
FeatureIgnoredNamespaces is a feature flag for ignoring certain namespaces. defaults to "[ \"^dynatrace$\", \"^kube-.*\", \"openshift(-.*)?\" ]"
func (*DynaKube) FeatureOneAgentMaxUnavailable ¶
FeatureOneAgentMaxUnavailable is a feature flag to configure maxUnavailable on the OneAgent DaemonSets rolling upgrades.
func (*DynaKube) GetFeatureEnableWebhookReinvocationPolicy ¶
GetFeatureEnableWebhookReinvocationPolicy returns the annotation for FeatureEnableWebhookReinvocationPolicy
func (*DynaKube) HasActiveGateTLS ¶
func (*DynaKube) HostMonitoringMode ¶
HostMonitoringMode returns true when host monitoring section is used.
func (*DynaKube) ImmutableOneAgentImage ¶
ImmutableOneAgentImage returns the immutable OneAgent image to be used with the dk DynaKube instance.
func (*DynaKube) InitResources ¶
func (dk *DynaKube) InitResources() *corev1.ResourceRequirements
func (*DynaKube) IsActiveGateMode ¶
func (dk *DynaKube) IsActiveGateMode(mode CapabilityDisplayName) bool
func (*DynaKube) KubernetesMonitoringMode ¶
func (*DynaKube) NamespaceSelector ¶
func (dk *DynaKube) NamespaceSelector() *metav1.LabelSelector
func (*DynaKube) NeedAppInjection ¶
func (*DynaKube) NeedsActiveGate ¶
NeedsActiveGate returns true when a feature requires ActiveGate instances.
func (*DynaKube) NeedsCSIDriver ¶
func (*DynaKube) NeedsOneAgent ¶
NeedsOneAgent returns true when a feature requires OneAgent instances.
func (*DynaKube) NodeSelector ¶
func (*DynaKube) OneAgentResources ¶
func (dk *DynaKube) OneAgentResources() *corev1.ResourceRequirements
func (*DynaKube) PullSecret ¶
PullSecret returns the name of the pull secret to be used for immutable images.
func (*DynaKube) SetupWebhookWithManager ¶
func (*DynaKube) ShouldAutoUpdateOneAgent ¶
ShouldAutoUpdateOneAgent returns true if the Operator should update OneAgent instances automatically.
type DynaKubeList ¶
type DynaKubeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DynaKube `json:"items"` }
DynaKubeList contains a list of DynaKube
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 DynaKubePhaseType ¶
type DynaKubePhaseType string
const ( Running DynaKubePhaseType = "Running" Deploying DynaKubePhaseType = "Deploying" Error DynaKubePhaseType = "Error" )
type DynaKubeProxy ¶
type DynaKubeProxy struct { Value string `json:"value,omitempty"` 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 { // Location of the Dynatrace API to connect to, including your specific 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"` // Credentials for the DynaKube to connect back to Dynatrace. // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="API and PaaS Tokens",order=2,xDescriptors="urn:alm:descriptor:io.kubernetes:Secret" Tokens string `json:"tokens,omitempty"` // Optional: Pull secret for your private registry // +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"` // Disable certificate validation checks for installer download and API communication // +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"` // Optional: Set custom proxy settings either directly or from a secret with the field 'proxy' Proxy *DynaKubeProxy `json:"proxy,omitempty"` // Optional: Adds custom RootCAs from a configmap // This property only affects certificates used to communicate with the Dynatrace API. // The property is not applied to the ActiveGate // +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"` // Optional: Sets Network Zone for OneAgent and ActiveGate pods // +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"` // If enabled, Istio on the cluster will be configured automatically to allow access to the Dynatrace environment // +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"` // Optional: set a namespace selector to limit which namespaces are monitored // By default, all namespaces will be monitored // Has no effect during classicFullStack and hostMonitoring mode // +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"` // General configuration about OneAgent instances // +kubebuilder:validation:MaxProperties=1 OneAgent OneAgentSpec `json:"oneAgent,omitempty"` // General configuration about ActiveGate instances // ActiveGate ActiveGateSpec `json:"activeGate,omitempty"` ActiveGate ActiveGateSpec `json:"activeGate,omitempty"` // Deprecated: Configuration for Routing // +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"` // Deprecated: Configuration for Kubernetes Monitoring // +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"` }
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 { // Defines the current state (Running, Updating, Error, ...) Phase DynaKubePhaseType `json:"phase,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"` // LastAPITokenProbeTimestamp tracks when the last request for the API token validity was sent LastAPITokenProbeTimestamp *metav1.Time `json:"lastAPITokenProbeTimestamp,omitempty"` // LastPaaSTokenProbeTimestamp tracks when the last request for the PaaS token validity was sent LastPaaSTokenProbeTimestamp *metav1.Time `json:"lastPaaSTokenProbeTimestamp,omitempty"` // LastDataIngestTokenProbeTimestamp tracks when the last request for the DataIngest token validity was sent LastDataIngestTokenProbeTimestamp *metav1.Time `json:"lastDataIngestTokenProbeTimestamp,omitempty"` // Credentials used to connect back to Dynatrace. // +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="API and PaaS Tokens" // +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:text" Tokens string `json:"tokens,omitempty"` // LastClusterVersionProbeTimestamp indicates when the cluster's version was last checked LastClusterVersionProbeTimestamp *metav1.Time `json:"lastClusterVersionProbeTimestamp,omitempty"` // KubeSystemUUID contains the UUID of the current Kubernetes cluster KubeSystemUUID string `json:"kubeSystemUUID,omitempty"` // ConnectionInfo caches information about the tenant and its communication hosts ConnectionInfo ConnectionInfoStatus `json:"connectionInfo,omitempty"` // CommunicationHostForClient caches a communication host specific to the api url. CommunicationHostForClient CommunicationHostStatus `json:"communicationHostForClient,omitempty"` // LatestAgentVersionUnixDefault caches the current agent version for unix and the default installer which is configured for the environment LatestAgentVersionUnixDefault string `json:"latestAgentVersionUnixDefault,omitempty"` // LatestAgentVersionUnixDefault caches the current agent version for unix and the PaaS installer which is configured for the environment LatestAgentVersionUnixPaas string `json:"latestAgentVersionUnixPaas,omitempty"` // Conditions includes status about the current state of the instance Conditions []metav1.Condition `json:"conditions,omitempty"` ActiveGate ActiveGateStatus `json:"activeGate,omitempty"` OneAgent OneAgentStatus `json:"oneAgent,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 DynaKubePhaseType) bool
SetPhase sets the status phase on the DynaKube object
func (*DynaKubeStatus) SetPhaseOnError ¶
func (dk *DynaKubeStatus) SetPhaseOnError(err error) bool
SetPhaseOnError fills the phase with the Error value in case of any error
type DynaKubeValueSource ¶
type DynaKubeValueSource struct { // +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"` // +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 HostInjectSpec ¶
type HostInjectSpec struct { // Node selector to control the selection of nodes (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"` // Optional: 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 DaemonSet. // +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"` // Optional: set tolerations for the OneAgent pods // +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"` // Optional: define resources requests and limits for single pods // +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"` // Optional: Arguments to the OneAgent installer // +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"` // Optional: List of environment variables to set for the installer // +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"` // Optional: Enables automatic restarts of OneAgent pods in case a new version is available // Defaults to 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,omitempty"` // Optional: Sets DNS Policy for the OneAgent pods // +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"` // Optional: Adds additional labels for the OneAgent pods // +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"` }
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 HostMonitoringSpec ¶
type HostMonitoringSpec struct { // Optional: the Dynatrace installer container image // Defaults to the registry on the tenant for both Kubernetes and for OpenShift // +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"` // Optional: If specified, indicates the OneAgent version to use // Defaults to latest // Example: {major.minor.release} - 1.200.0 // +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"` HostInjectSpec `json:",inline"` }
func (*HostMonitoringSpec) DeepCopy ¶
func (in *HostMonitoringSpec) DeepCopy() *HostMonitoringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostMonitoringSpec.
func (*HostMonitoringSpec) DeepCopyInto ¶
func (in *HostMonitoringSpec) DeepCopyInto(out *HostMonitoringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesMonitoringSpec ¶
type KubernetesMonitoringSpec struct { // 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"` CapabilityProperties `json:",inline"` }
Deprecated
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 OneAgentInstance ¶
type OneAgentInstance struct { PodName string `json:"podName,omitempty"` 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 { // Optional: enable classic fullstack monitoring and change its settings // Cannot be used in conjunction with cloud-native fullstack monitoring, application monitoring or host monitoring // +nullable ClassicFullStack *ClassicFullStackSpec `json:"classicFullStack,omitempty"` // Optional: (Preview feature) enable application-only monitoring and change its settings // Cannot be used in conjunction with cloud-native fullstack monitoring, classic fullstack monitoring or host monitoring // +nullable ApplicationMonitoring *ApplicationMonitoringSpec `json:"applicationMonitoring,omitempty"` // Optional: enable host monitoring and change its settings // Cannot be used in conjunction with cloud-native fullstack monitoring, classic fullstack monitoring or application monitoring // +nullable HostMonitoring *HostMonitoringSpec `json:"hostMonitoring,omitempty"` // Optional: (Preview feature) enable cloud-native fullstack monitoring and change its settings // Cannot be used in conjunction with classic fullstack monitoring, application monitoring or host monitoring // +nullable CloudNativeFullStack *CloudNativeFullStackSpec `json:"cloudNativeFullStack,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 { VersionStatus `json:",inline"` Instances map[string]OneAgentInstance `json:"instances,omitempty"` // LastHostsRequestTimestamp indicates the last timestamp the Operator queried for hosts LastHostsRequestTimestamp *metav1.Time `json:"lastHostsRequestTimestamp,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 ¶
type RoutingSpec struct { // 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"` CapabilityProperties `json:",inline"` }
Deprecated
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.
type VersionStatus ¶
type VersionStatus struct { // ImageHash contains the last image hash seen. ImageHash string `json:"imageHash,omitempty"` // Version contains the version to be deployed. Version string `json:"version,omitempty"` // LastUpdateProbeTimestamp defines the last timestamp when the querying for updates have been done LastUpdateProbeTimestamp *metav1.Time `json:"lastUpdateProbeTimestamp,omitempty"` }
func (*VersionStatus) DeepCopy ¶
func (in *VersionStatus) DeepCopy() *VersionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionStatus.
func (*VersionStatus) DeepCopyInto ¶
func (in *VersionStatus) DeepCopyInto(out *VersionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.