Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the dynatrace v1 API group +kubebuilder:object:generate=true +groupName=dynatrace.com
Index ¶
- Constants
- Variables
- func BuildResourceRequirements(resourceRequirementer ResourceRequirementer) corev1.ResourceRequirements
- func FlagsWithPrefix(obj metav1.Object, prefix string) map[string]string
- func InternalFlags(obj metav1.Object) map[string]string
- func IsInternalFlagsEqual(obj1, obj2 metav1.Object) bool
- func ResourceNames() []corev1.ResourceName
- type ActiveGateCapability
- type ActiveGateSpec
- type ActiveGateStatus
- type AppInjectionSpec
- type ApplicationMonitoringSpec
- type CapabilityDisplayName
- type CapabilityProperties
- type CloudNativeFullStackSpec
- type CommunicationHostStatus
- type ConnectionInfoStatus
- type DynaKube
- func (dk *DynaKube) AGTenantSecret() string
- func (dk *DynaKube) ActiveGateAuthTokenSecret() string
- 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) CodeModulesImage() string
- func (dynakube DynaKube) CodeModulesVersion() string
- 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 (dk *DynaKube) CustomActiveGateImage() string
- func (dk *DynaKube) CustomOneAgentImage() string
- 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) EecImage() string
- func (dk *DynaKube) FeatureActiveGateAppArmor() bool
- func (dk *DynaKube) FeatureActiveGateAuthToken() bool
- func (dk *DynaKube) FeatureActiveGateIgnoreProxy() bool
- func (dk *DynaKube) FeatureActiveGateReadOnlyFilesystem() bool
- func (dk *DynaKube) FeatureAgentInitialConnectRetry() int
- func (dk *DynaKube) FeatureAutomaticKubernetesApiMonitoring() bool
- func (dk *DynaKube) FeatureAutomaticKubernetesApiMonitoringClusterName() string
- func (dk *DynaKube) FeatureCustomEecImage() string
- func (dk *DynaKube) FeatureCustomStatsdImage() string
- func (dk *DynaKube) FeatureDisableActiveGateUpdates() bool
- func (dk *DynaKube) FeatureDisableActivegateRawImage() bool
- func (dk *DynaKube) FeatureDisableHostsRequests() bool
- func (dk *DynaKube) FeatureDisableMetadataEnrichment() bool
- func (dk *DynaKube) FeatureDisableReadOnlyOneAgent() bool
- func (dk *DynaKube) FeatureDisableWebhookReinvocationPolicy() bool
- func (dk *DynaKube) FeatureEecResourcesLimits(resourceName corev1.ResourceName) *resource.Quantity
- func (dk *DynaKube) FeatureEecResourcesRequests(resourceName corev1.ResourceName) *resource.Quantity
- func (dk *DynaKube) FeatureEnableAutomaticInjection() bool
- func (dk *DynaKube) FeatureEnableMultipleOsAgentsOnNode() bool
- func (dk *DynaKube) FeatureIgnoreUnknownState() bool
- func (dk *DynaKube) FeatureIgnoredNamespaces() []string
- func (dk *DynaKube) FeatureMaxFailedCsiMountAttempts() int
- func (dk *DynaKube) FeatureOneAgentIgnoreProxy() bool
- func (dk *DynaKube) FeatureOneAgentMaxUnavailable() int
- func (dk *DynaKube) FeatureOneAgentPrivileged() bool
- func (dk *DynaKube) FeatureStatsdResourcesLimits(resourceName corev1.ResourceName) *resource.Quantity
- func (dk *DynaKube) FeatureStatsdResourcesRequests(resourceName corev1.ResourceName) *resource.Quantity
- func (dk *DynaKube) FeatureUseActiveGateImageForStatsd() bool
- func (dk *DynaKube) GetOneAgentEnvironment() []corev1.EnvVar
- func (dk *DynaKube) HasActiveGateCaCert() bool
- func (dk *DynaKube) HostGroup() string
- func (dk *DynaKube) HostMonitoringMode() bool
- 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) NeedsActiveGateProxy() bool
- func (dk *DynaKube) NeedsCSIDriver() bool
- func (dk *DynaKube) NeedsOneAgent() bool
- func (dk *DynaKube) NeedsOneAgentPrivileged() bool
- func (dk *DynaKube) NeedsOneAgentProxy() bool
- func (dk *DynaKube) NeedsReadOnlyOneAgents() bool
- func (dk *DynaKube) NeedsStatsd() bool
- func (dk *DynaKube) NodeSelector() map[string]string
- func (dk *DynaKube) OneAgentDaemonsetName() 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) StatsdImage() string
- func (dk *DynaKube) TenantUUID() (string, error)
- func (dk *DynaKube) Tokens() string
- func (dk *DynaKube) UseActiveGateAuthToken() bool
- func (dk *DynaKube) Version() string
- type DynaKubeList
- type DynaKubePhaseType
- type DynaKubeProxy
- type DynaKubeSpec
- type DynaKubeStatus
- type DynaKubeValueSource
- type EecStatus
- type HostInjectSpec
- type KubernetesMonitoringSpecdeprecated
- type OneAgentInstance
- type OneAgentMode
- type OneAgentSpec
- type OneAgentStatus
- type ResourceRequirementer
- type RoutingSpecdeprecated
- type StatsdStatus
- type VersionStatus
- type VersionStatusNamer
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 ( DeprecatedFeatureFlagPrefix = "alpha.operator.dynatrace.com/feature-" AnnotationFeaturePrefix = "feature.dynatrace.com/" // Deprecated: AnnotationFeatureDisableActiveGateUpdates use AnnotationFeatureActiveGateUpdates instead AnnotationFeatureDisableActiveGateUpdates = AnnotationFeaturePrefix + "disable-activegate-updates" // Deprecated: AnnotationFeatureDisableActiveGateRawImage use AnnotationFeatureActiveGateRawImage instead AnnotationFeatureDisableActiveGateRawImage = AnnotationFeaturePrefix + "disable-activegate-raw-image" AnnotationFeatureActiveGateUpdates = AnnotationFeaturePrefix + "activegate-updates" AnnotationFeatureActiveGateRawImage = AnnotationFeaturePrefix + "activegate-raw-image" AnnotationFeatureActiveGateAuthToken = AnnotationFeaturePrefix + "activegate-authtoken" AnnotationFeatureActiveGateAppArmor = AnnotationFeaturePrefix + "activegate-apparmor" AnnotationFeatureActiveGateReadOnlyFilesystem = AnnotationFeaturePrefix + "activegate-readonly-fs" AnnotationFeatureAutomaticK8sApiMonitoring = AnnotationFeaturePrefix + "automatic-kubernetes-api-monitoring" AnnotationFeatureAutomaticK8sApiMonitoringClusterName = AnnotationFeaturePrefix + "automatic-kubernetes-api-monitoring-cluster-name" AnnotationFeatureActiveGateIgnoreProxy = AnnotationFeaturePrefix + "activegate-ignore-proxy" AnnotationFeatureUseActiveGateImageForStatsd = AnnotationFeaturePrefix + "use-activegate-image-for-statsd" AnnotationFeatureCustomEecImage = AnnotationFeaturePrefix + "custom-eec-image" AnnotationFeatureCustomStatsdImage = AnnotationFeaturePrefix + "custom-statsd-image" // Deprecated: AnnotationFeatureDisableHostsRequests use AnnotationFeatureHostsRequests instead AnnotationFeatureDisableHostsRequests = AnnotationFeaturePrefix + "disable-hosts-requests" AnnotationFeatureHostsRequests = AnnotationFeaturePrefix + "hosts-requests" // Deprecated: AnnotationFeatureDisableReadOnlyOneAgent use AnnotationFeatureReadOnlyOneAgent instead AnnotationFeatureDisableReadOnlyOneAgent = AnnotationFeaturePrefix + "disable-oneagent-readonly-host-fs" AnnotationFeatureReadOnlyOneAgent = AnnotationFeaturePrefix + "oneagent-readonly-host-fs" AnnotationFeatureMultipleOsAgentsOnNode = AnnotationFeaturePrefix + "multiple-osagents-on-node" AnnotationFeatureOneAgentIgnoreProxy = AnnotationFeaturePrefix + "oneagent-ignore-proxy" AnnotationFeatureOneAgentInitialConnectRetry = AnnotationFeaturePrefix + "oneagent-initial-connect-retry-ms" AnnotationFeatureRunOneAgentContainerPrivileged = AnnotationFeaturePrefix + "oneagent-privileged" // Deprecated: AnnotationFeatureDisableWebhookReinvocationPolicy use AnnotationFeatureWebhookReinvocationPolicy instead AnnotationFeatureDisableWebhookReinvocationPolicy = AnnotationFeaturePrefix + "disable-webhook-reinvocation-policy" // Deprecated: AnnotationFeatureDisableMetadataEnrichment use AnnotationFeatureMetadataEnrichment instead AnnotationFeatureDisableMetadataEnrichment = AnnotationFeaturePrefix + "disable-metadata-enrichment" AnnotationFeatureWebhookReinvocationPolicy = AnnotationFeaturePrefix + "webhook-reinvocation-policy" AnnotationFeatureMetadataEnrichment = AnnotationFeaturePrefix + "metadata-enrichment" AnnotationFeatureIgnoreUnknownState = AnnotationFeaturePrefix + "ignore-unknown-state" AnnotationFeatureIgnoredNamespaces = AnnotationFeaturePrefix + "ignored-namespaces" AnnotationFeatureAutomaticInjection = AnnotationFeaturePrefix + "automatic-injection" AnnotationFeatureMaxFailedCsiMountAttempts = AnnotationFeaturePrefix + "max-csi-mount-attempts" )
const ( // PullSecretSuffix is the suffix appended to the DynaKube name to n. PullSecretSuffix = "-pull-secret" TenantSecretSuffix = "-activegate-tenant-secret" AuthTokenSecretSuffix = "-activegate-authtoken-secret" PodNameOsAgent = "oneagent" TrustedCAKey = "certs" ProxyKey = "proxy" TlsCertKey = "server.crt" )
const (
DefaultMaxFailedCsiMountAttempts = 10
)
const InternalFlagPrefix = "internal.operator.dynatrace.com/"
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", } StatsdIngestCapability = ActiveGateCapability{ DisplayName: "statsd-ingest", ShortName: "statsd-ingest", ArgumentName: "extension_controller", } )
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]struct{}{ RoutingCapability.DisplayName: {}, KubeMonCapability.DisplayName: {}, MetricsIngestCapability.DisplayName: {}, DynatraceApiCapability.DisplayName: {}, StatsdIngestCapability.DisplayName: {}, }
Functions ¶
func BuildResourceRequirements ¶ added in v0.6.0
func BuildResourceRequirements(resourceRequirementer ResourceRequirementer) corev1.ResourceRequirements
func FlagsWithPrefix ¶ added in v0.6.0
func IsInternalFlagsEqual ¶ added in v0.6.0
func ResourceNames ¶ added in v0.6.0
func ResourceNames() []corev1.ResourceName
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, 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"` 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"` // 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 StatefulSet. // +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"` }
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.
func (*ActiveGateStatus) Name ¶ added in v0.6.0
func (agStatus *ActiveGateStatus) Name() string
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"` // Optional: the Dynatrace installer container image // +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"` // 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"` // Optional: Adds TopologySpreadConstraints for the ActiveGate pods // +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 { 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"` FormattedCommunicationEndpoints string `json:"formattedCommunicationEndpoints,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="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) AGTenantSecret ¶ added in v0.6.0
AGTenantSecret returns the name of the secret containing tenant UUID, token and communication endpoints for ActiveGate
func (*DynaKube) ActiveGateAuthTokenSecret ¶ added in v0.7.0
ActiveGateAuthTokenSecret returns the name of the secret containing the ActiveGateAuthToken, which is mounted to the AGs
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) CodeModulesImage ¶ added in v0.7.0
func (DynaKube) CodeModulesVersion ¶ added in v0.7.0
The dynakube.Version is not take into account when using cloudNative to avoid confusion
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) CustomActiveGateImage ¶ added in v0.8.0
func (*DynaKube) CustomOneAgentImage ¶ added in v0.8.0
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) EecImage ¶ added in v0.6.0
EecImage returns the Extension Controller image to be used with the dk DynaKube instance.
func (*DynaKube) FeatureActiveGateAppArmor ¶ added in v0.6.0
FeatureActiveGateAppArmor is a feature flag to enable AppArmor in ActiveGate container
func (*DynaKube) FeatureActiveGateAuthToken ¶ added in v0.7.0
FeatureActiveGateAuthToken is a feature flag to enable authToken usage in the activeGate
func (*DynaKube) FeatureActiveGateIgnoreProxy ¶ added in v0.6.0
FeatureActiveGateIgnoreProxy is a feature flag to ignore the proxy for ActiveGate when set in CR
func (*DynaKube) FeatureActiveGateReadOnlyFilesystem ¶ added in v0.6.0
FeatureActiveGateReadOnlyFilesystem is a feature flag to enable RO mounted filesystem in ActiveGate container
func (*DynaKube) FeatureAgentInitialConnectRetry ¶ added in v0.7.0
FeatureAgentInitialConnectRetry is a feature flag to configure startup delay of standalone agents
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) FeatureAutomaticKubernetesApiMonitoringClusterName ¶ added in v0.7.0
FeatureAutomaticKubernetesApiMonitoringClusterName is a feature flag to set custom cluster name for automatic-kubernetes-api-monitoring
func (*DynaKube) FeatureCustomEecImage ¶ added in v0.6.0
FeatureCustomEecImage is a feature flag to specify custom Extension Controller Docker image path
func (*DynaKube) FeatureCustomStatsdImage ¶ added in v0.6.0
FeatureCustomStatsdImage is a feature flag to specify custom StatsD Docker image path
func (*DynaKube) FeatureDisableActiveGateUpdates ¶
FeatureDisableActiveGateUpdates is a feature flag to disable ActiveGate updates.
func (*DynaKube) FeatureDisableActivegateRawImage ¶ added in v0.6.0
FeatureDisableActivegateRawImage is a feature flag to specify if the operator should fetch from cluster and set in ActiveGet container: tenant UUID, token and communication endpoints instead of using embedded ones in the image Defaults to false
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) FeatureDisableReadOnlyOneAgent ¶ added in v0.5.0
FeatureDisableReadOnlyOneAgent is a feature flag to specify if the operator needs to deploy the oneagents in a readonly mode, where the csi-driver would provide the volume for logs and such Defaults to false
func (*DynaKube) FeatureDisableWebhookReinvocationPolicy ¶ added in v0.7.0
FeatureDisableWebhookReinvocationPolicy disables the reinvocation for the Operator's webhooks. This disables instrumenting containers injected by other webhooks following the admission to the Operator's webhook.
func (*DynaKube) FeatureEecResourcesLimits ¶ added in v0.6.0
func (dk *DynaKube) FeatureEecResourcesLimits(resourceName corev1.ResourceName) *resource.Quantity
FeatureEecResourcesLimits is a feature flag to define CPU or memory limits for the EEC container
func (*DynaKube) FeatureEecResourcesRequests ¶ added in v0.6.0
func (dk *DynaKube) FeatureEecResourcesRequests(resourceName corev1.ResourceName) *resource.Quantity
FeatureEecResourcesRequests is a feature flag to define CPU or memory requests for the EEC container
func (*DynaKube) FeatureEnableAutomaticInjection ¶ added in v0.8.0
FeatureAutomaticInjection controls OneAgent is injected to pods in selected namespaces automatically ("automatic-injection=true" or flag not set) or if pods need to be opted-in one by one ("automatic-injection=false")
func (*DynaKube) FeatureEnableMultipleOsAgentsOnNode ¶ added in v0.5.0
FeatureEnableMultipleOsAgentsOnNode is a feature flag to enable multiple osagents running on the same host
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) FeatureMaxFailedCsiMountAttempts ¶ added in v0.9.0
func (*DynaKube) FeatureOneAgentIgnoreProxy ¶ added in v0.6.0
FeatureOneAgentIgnoreProxy is a feature flag to ignore the proxy for oneAgents when set in CR
func (*DynaKube) FeatureOneAgentMaxUnavailable ¶
FeatureOneAgentMaxUnavailable is a feature flag to configure maxUnavailable on the OneAgent DaemonSets rolling upgrades.
func (*DynaKube) FeatureOneAgentPrivileged ¶ added in v0.9.1
func (*DynaKube) FeatureStatsdResourcesLimits ¶ added in v0.6.0
func (dk *DynaKube) FeatureStatsdResourcesLimits(resourceName corev1.ResourceName) *resource.Quantity
FeatureStatsdResourcesLimits is a feature flag to define CPU or memory limits for the StatsD container
func (*DynaKube) FeatureStatsdResourcesRequests ¶ added in v0.6.0
func (dk *DynaKube) FeatureStatsdResourcesRequests(resourceName corev1.ResourceName) *resource.Quantity
FeatureStatsdResourcesRequests is a feature flag to define CPU or memory requests for the StatsD container
func (*DynaKube) FeatureUseActiveGateImageForStatsd ¶ added in v0.6.0
FeatureUseActiveGateImageForStatsd is a feature flag that makes the operator use ActiveGate image when initializing Extension Controller and Statsd containers (using special predefined entry points).
func (*DynaKube) GetOneAgentEnvironment ¶ added in v0.9.0
func (*DynaKube) HasActiveGateCaCert ¶ added in v0.5.1
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) NeedsActiveGateProxy ¶ added in v0.6.0
func (*DynaKube) NeedsCSIDriver ¶
func (*DynaKube) NeedsOneAgent ¶
NeedsOneAgent returns true when a feature requires OneAgent instances.
func (*DynaKube) NeedsOneAgentPrivileged ¶ added in v0.9.1
func (*DynaKube) NeedsOneAgentProxy ¶ added in v0.6.0
func (*DynaKube) NeedsReadOnlyOneAgents ¶ added in v0.5.0
func (*DynaKube) NeedsStatsd ¶ added in v0.6.0
func (*DynaKube) NodeSelector ¶
func (*DynaKube) OneAgentDaemonsetName ¶ added in v0.5.0
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.
func (*DynaKube) StatsdImage ¶ added in v0.6.0
StatsdImage returns the StatsD data source image to be used with the dk DynaKube instance.
func (*DynaKube) TenantUUID ¶ added in v0.6.0
func (*DynaKube) UseActiveGateAuthToken ¶ added in v0.7.0
UseActiveGateAuthToken returns if the activeGate should get an authToken mounted
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 { // +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"` // +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 { // Location of the Dynatrace API to connect to, including your specific environment UUID // +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="Tenant specific secrets",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' // +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"` // 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 // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent",xDescriptors="urn:alm:descriptor:com.tectonic.ui:text" OneAgent OneAgentSpec `json:"oneAgent,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"` // 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"` ExtensionController EecStatus `json:"eec,omitempty"` Statsd StatsdStatus `json:"statsd,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 EecStatus ¶ added in v0.6.0
type EecStatus struct {
VersionStatus `json:",inline"`
}
func (*EecStatus) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EecStatus.
func (*EecStatus) DeepCopyInto ¶ added in v0.6.0
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 annotations to the OneAgent pods // +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"` // 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"` // 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"` }
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 { // 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: 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 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 *HostInjectSpec `json:"classicFullStack,omitempty"` // Optional: 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 *HostInjectSpec `json:"hostMonitoring,omitempty"` // Optional: 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.
func (*OneAgentStatus) Name ¶ added in v0.6.0
func (oneAgentStatus *OneAgentStatus) Name() string
type ResourceRequirementer ¶ added in v0.6.0
type ResourceRequirementer interface { Requests(corev1.ResourceName) *resource.Quantity Limits(corev1.ResourceName) *resource.Quantity }
+kubebuilder:object:generate=false
type RoutingSpec
deprecated
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: 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.
type StatsdStatus ¶ added in v0.6.0
type StatsdStatus struct {
VersionStatus `json:",inline"`
}
func (*StatsdStatus) DeepCopy ¶ added in v0.6.0
func (in *StatsdStatus) DeepCopy() *StatsdStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatsdStatus.
func (*StatsdStatus) DeepCopyInto ¶ added in v0.6.0
func (in *StatsdStatus) DeepCopyInto(out *StatsdStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StatsdStatus) Name ¶ added in v0.6.0
func (statsdStatus *StatsdStatus) Name() string
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.
func (*VersionStatus) Status ¶ added in v0.6.0
func (verStatus *VersionStatus) Status() VersionStatus
type VersionStatusNamer ¶ added in v0.6.0
type VersionStatusNamer interface { Status() VersionStatus Name() string }
+kubebuilder:object:generate=false