Documentation
¶
Overview ¶
+kubebuilder:object:generate=true +groupName=dynatrace.com +versionName=v1beta5
Index ¶
- Constants
- func GetCacheValidMessage(functionName string, lastRequestTimestamp metav1.Time, timeout time.Duration) string
- func GetEmptyTargetEnrichmentKey(metadataType, key string) string
- func SetupWebhookWithManager(mgr ctrl.Manager, validator admission.CustomValidator) error
- type DynaKube
- func (dk *DynaKube) ActiveGate() *activegate.ActiveGate
- func (dk *DynaKube) ActiveGateTLSCert(ctx context.Context, kubeReader client.Reader) ([]byte, error)
- func (dk *DynaKube) ApiRequestThreshold() time.Duration
- func (dk *DynaKube) ApiUrl() string
- func (dk *DynaKube) ApiUrlHost() string
- func (dk *DynaKube) Conditions() *[]metav1.Condition
- func (in *DynaKube) DeepCopy() *DynaKube
- func (in *DynaKube) DeepCopyInto(out *DynaKube)
- func (in *DynaKube) DeepCopyObject() runtime.Object
- func (dk *DynaKube) ExtensionsExecutionControllerStatefulsetName() string
- func (dk *DynaKube) ExtensionsNeedsSelfSignedTLS() bool
- func (dk *DynaKube) ExtensionsPortName() string
- func (dk *DynaKube) ExtensionsSelfSignedTLSSecretName() string
- func (dk *DynaKube) ExtensionsServiceName() string
- func (dk *DynaKube) ExtensionsServiceNameFQDN() string
- func (dk *DynaKube) ExtensionsTLSRefName() string
- func (dk *DynaKube) ExtensionsTLSSecretName() string
- func (dk *DynaKube) ExtensionsTokenSecretName() string
- func (dk *DynaKube) FF() *exp.FeatureFlags
- func (dk *DynaKube) GetDynatraceApiRequestThreshold() uint16
- func (dk *DynaKube) HasProxy() bool
- func (*DynaKube) Hub()
- func (dk *DynaKube) ImagePullSecretReferences() []corev1.LocalObjectReference
- func (dk *DynaKube) IsAGCertificateNeeded() bool
- func (dk *DynaKube) IsCACertificateNeeded() bool
- func (dk *DynaKube) IsExtensionsEnabled() bool
- func (dk *DynaKube) IsTokenScopeVerificationAllowed(timeProvider *timeprovider.Provider) bool
- func (dk *DynaKube) KSPM() *kspm.Kspm
- func (dk *DynaKube) LogMonitoring() *logmonitoring.LogMonitoring
- func (dk *DynaKube) MetadataEnrichmentEnabled() bool
- func (dk *DynaKube) MetadataEnrichmentNamespaceSelector() *metav1.LabelSelector
- func (dk *DynaKube) NeedsActiveGateProxy() bool
- func (dk *DynaKube) NeedsCustomNoProxy() bool
- func (dk *DynaKube) NeedsOneAgentProxy() bool
- func (dk *DynaKube) OneAgent() *oneagent.OneAgent
- func (dk *DynaKube) OtelCollectorStatefulsetName() string
- func (dk *DynaKube) Proxy(ctx context.Context, kubeReader client.Reader) (string, error)
- func (dk *DynaKube) PullSecretName() string
- func (dk *DynaKube) PullSecretNames() []string
- func (dk *DynaKube) TelemetryIngest() *telemetryingest.TelemetryIngest
- func (dk *DynaKube) TenantUUID() (string, error)
- func (dk *DynaKube) Tokens() string
- func (dk *DynaKube) TrustedCAs(ctx context.Context, kubeReader client.Reader) ([]byte, error)
- func (dk *DynaKube) UpdateStatus(ctx context.Context, client client.Client) error
- type DynaKubeList
- type DynaKubeSpec
- type DynaKubeStatus
- type DynatraceApiStatus
- type EnrichmentRule
- type EnrichmentRuleType
- type ExtensionExecutionControllerSpec
- type ExtensionsSpec
- type MetadataEnrichment
- type MetadataEnrichmentStatus
- type OpenTelemetryCollectorSpec
- type TemplatesSpec
Constants ¶
const ( TrustedCAKey = "certs" TLSCertKey = "server.crt" )
const ( // MaxNameLength is the maximum length of a DynaKube's name, we tend to add suffixes to the name to avoid name collisions for resources related to the DynaKube. (example: dkName-activegate-<some-hash>) // The limit is necessary because kubernetes uses the name of some resources (ActiveGate StatefulSet) for the label value, which has a limit of 63 characters. (see https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) MaxNameLength = 40 // PullSecretSuffix is the suffix appended to the DynaKube name to n. PullSecretSuffix = "-pull-secret" DefaultMinRequestThresholdMinutes = 15 )
const ( EnrichmentLabelRule EnrichmentRuleType = "LABEL" EnrichmentAnnotationRule EnrichmentRuleType = "ANNOTATION" MetadataAnnotation string = "metadata.dynatrace.com" MetadataPrefix string = MetadataAnnotation + "/" )
const ( // TokenConditionType identifies the token validity condition. TokenConditionType string = "Tokens" // 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" )
TODO: Move these conditions related consts to a place where they are used, so we don't bloat this package further.
const ( // ReasonTokenReady is set when a token has passed verifications. ReasonTokenReady string = "TokenReady" // 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 ( ProxyKey = "proxy" NoProxyKey = "noProxy" )
Variables ¶
This section is empty.
Functions ¶
func GetCacheValidMessage ¶
func SetupWebhookWithManager ¶
func SetupWebhookWithManager(mgr ctrl.Manager, validator admission.CustomValidator) error
Types ¶
type DynaKube ¶
type DynaKube struct {
metav1.TypeMeta `json:",inline"`
Status DynaKubeStatus `json:"status,omitempty"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DynaKubeSpec `json:"spec,omitempty"`
}
DynaKube is the Schema for the DynaKube API +k8s:openapi-gen=true +kubebuilder:storageversion +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=dynakubes,scope=Namespaced,categories=dynatrace,shortName={dk,dks} +kubebuilder:printcolumn:name="ApiUrl",type=string,JSONPath=`.spec.apiUrl` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +operator-sdk:csv:customresourcedefinitions:displayName="Dynatrace DynaKube" +operator-sdk:csv:customresourcedefinitions:resources={{StatefulSet,v1,},{DaemonSet,v1,},{Pod,v1,}}
func (*DynaKube) ActiveGate ¶
func (dk *DynaKube) ActiveGate() *activegate.ActiveGate
func (*DynaKube) ActiveGateTLSCert ¶
func (*DynaKube) ApiRequestThreshold ¶
func (*DynaKube) ApiUrlHost ¶
ApiUrlHost returns the host of dk.Spec.APIURL E.g. if the APIURL is set to "https://my-tenant.dynatrace.com/api", it returns "my-tenant.dynatrace.com" If the URL cannot be parsed, it returns an empty string.
func (*DynaKube) Conditions ¶
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) ExtensionsExecutionControllerStatefulsetName ¶
func (*DynaKube) ExtensionsNeedsSelfSignedTLS ¶
func (*DynaKube) ExtensionsPortName ¶
func (*DynaKube) ExtensionsSelfSignedTLSSecretName ¶
func (*DynaKube) ExtensionsServiceName ¶
func (*DynaKube) ExtensionsServiceNameFQDN ¶
func (*DynaKube) ExtensionsTLSRefName ¶
func (*DynaKube) ExtensionsTLSSecretName ¶
func (*DynaKube) ExtensionsTokenSecretName ¶
func (*DynaKube) FF ¶
func (dk *DynaKube) FF() *exp.FeatureFlags
func (*DynaKube) GetDynatraceApiRequestThreshold ¶
func (*DynaKube) Hub ¶
func (*DynaKube) Hub()
Hub tags this version as the 'source' of the conversion for controller runtime.
func (*DynaKube) ImagePullSecretReferences ¶
func (dk *DynaKube) ImagePullSecretReferences() []corev1.LocalObjectReference
func (*DynaKube) IsAGCertificateNeeded ¶
func (*DynaKube) IsCACertificateNeeded ¶
func (*DynaKube) IsExtensionsEnabled ¶
func (*DynaKube) IsTokenScopeVerificationAllowed ¶
func (dk *DynaKube) IsTokenScopeVerificationAllowed(timeProvider *timeprovider.Provider) bool
func (*DynaKube) LogMonitoring ¶
func (dk *DynaKube) LogMonitoring() *logmonitoring.LogMonitoring
func (*DynaKube) MetadataEnrichmentEnabled ¶
func (*DynaKube) MetadataEnrichmentNamespaceSelector ¶
func (dk *DynaKube) MetadataEnrichmentNamespaceSelector() *metav1.LabelSelector
func (*DynaKube) NeedsActiveGateProxy ¶
func (*DynaKube) NeedsCustomNoProxy ¶
func (*DynaKube) NeedsOneAgentProxy ¶
func (*DynaKube) OtelCollectorStatefulsetName ¶
func (*DynaKube) PullSecretName ¶
PullSecretName returns the name of the pull secret to be used for immutable images.
func (*DynaKube) PullSecretNames ¶
PullSecretsNames returns the names of the pull secrets to be used for immutable images.
func (*DynaKube) TelemetryIngest ¶
func (dk *DynaKube) TelemetryIngest() *telemetryingest.TelemetryIngest
func (*DynaKube) TenantUUID ¶
func (*DynaKube) TrustedCAs ¶
type DynaKubeList ¶
type DynaKubeList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DynaKube `json:"items"`
}
DynaKubeList contains a list of DynaKube +kubebuilder:object:root=true
func (*DynaKubeList) DeepCopy ¶
func (in *DynaKubeList) DeepCopy() *DynaKubeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynaKubeList.
func (*DynaKubeList) DeepCopyInto ¶
func (in *DynaKubeList) DeepCopyInto(out *DynaKubeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DynaKubeList) DeepCopyObject ¶
func (in *DynaKubeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DynaKubeSpec ¶
type DynaKubeSpec struct {
// Configuration for Metadata Enrichment.
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Metadata Enrichment",order=9,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
MetadataEnrichment MetadataEnrichment `json:"metadataEnrichment,omitempty"`
// Set custom proxy settings either directly or from a secret with the field proxy.
// Note: Applies to Dynatrace Operator, ActiveGate, and OneAgents.
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Proxy",order=3,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
Proxy *value.Source `json:"proxy,omitempty"`
// General configuration about the LogMonitoring feature.
// +kubebuilder:validation:Optional
LogMonitoring *logmonitoring.Spec `json:"logMonitoring,omitempty"`
// General configuration about the KSPM feature.
// +kubebuilder:validation:Optional
Kspm *kspm.Spec `json:"kspm,omitempty"`
// Configuration for thresholding Dynatrace API requests.
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Dynatrace API Request Threshold",order=9,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
DynatraceApiRequestThreshold *uint16 `json:"dynatraceApiRequestThreshold,omitempty"`
// When an (empty) ExtensionsSpec is provided, the extensions related components (extensions controller and extensions collector)
// are deployed by the operator.
// +kubebuilder:validation:Optional
Extensions *ExtensionsSpec `json:"extensions,omitempty"`
// When a TelemetryIngestSpec is provided, the OTEL collector is deployed by the operator.
// +kubebuilder:validation:Optional
TelemetryIngest *telemetryingest.Spec `json:"telemetryIngest,omitempty"`
// General configuration about OneAgent instances.
// You can't enable more than one module (classicFullStack, cloudNativeFullStack, hostMonitoring, or applicationMonitoring).
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent",xDescriptors="urn:alm:descriptor:com.tectonic.ui:text"
OneAgent oneagent.Spec `json:"oneAgent,omitempty"`
// Dynatrace apiUrl, including the /api path at the end. For SaaS, set YOUR_ENVIRONMENT_ID to your environment ID. For Managed, change the apiUrl address.
// For instructions on how to determine the environment ID and how to configure the apiUrl address, see Environment ID (https://www.dynatrace.com/support/help/get-started/monitoring-environment/environment-id).
// +kubebuilder:validation:Required
// +kubebuilder:validation:MaxLength=128
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="API URL",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:text"
APIURL string `json:"apiUrl"`
// Name of the secret holding the tokens used for connecting to Dynatrace.
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tenant specific secrets",order=2,xDescriptors="urn:alm:descriptor:io.kubernetes:Secret"
Tokens string `json:"tokens,omitempty"`
// Adds custom RootCAs from a configmap. Put the certificate under certs within your configmap.
// Note: Applies to Dynatrace Operator, OneAgent and ActiveGate.
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Trusted CAs",order=6,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:ConfigMap"}
TrustedCAs string `json:"trustedCAs,omitempty"`
// Sets a network zone for the OneAgent and ActiveGate pods.
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Network Zone",order=7,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
NetworkZone string `json:"networkZone,omitempty"`
// Defines a custom pull secret in case you use a private registry when pulling images from the Dynatrace environment.
// To define a custom pull secret and learn about the expected behavior, see Configure customPullSecret
// (https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-container-platforms/kubernetes/get-started-with-kubernetes-monitoring/dto-config-options-k8s#custompullsecret).
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Custom PullSecret",order=8,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:Secret"}
CustomPullSecret string `json:"customPullSecret,omitempty"`
// +kubebuilder:validation:Optional
Templates TemplatesSpec `json:"templates,omitempty"`
// General configuration about ActiveGate instances.
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="ActiveGate",xDescriptors="urn:alm:descriptor:com.tectonic.ui:text"
ActiveGate activegate.Spec `json:"activeGate,omitempty"`
// Disable certificate check for the connection between Dynatrace Operator and the Dynatrace Cluster.
// Set to true if you want to skip certification validation checks.
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Skip Certificate Check",order=3,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
SkipCertCheck bool `json:"skipCertCheck,omitempty"`
// When enabled, and if Istio is installed on the Kubernetes environment, Dynatrace Operator will create the corresponding
// VirtualService and ServiceEntry objects to allow access to the Dynatrace Cluster from the OneAgent or ActiveGate.
// Disabled by default.
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable Istio automatic management",order=9,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
EnableIstio bool `json:"enableIstio,omitempty"`
}
DynaKubeSpec defines the desired state of DynaKube +k8s:openapi-gen=true
func (*DynaKubeSpec) DeepCopy ¶
func (in *DynaKubeSpec) DeepCopy() *DynaKubeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynaKubeSpec.
func (*DynaKubeSpec) DeepCopyInto ¶
func (in *DynaKubeSpec) DeepCopyInto(out *DynaKubeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DynaKubeStatus ¶
type DynaKubeStatus struct {
// Observed state of OneAgent
OneAgent oneagent.Status `json:"oneAgent,omitempty"`
// Observed state of ActiveGate
ActiveGate activegate.Status `json:"activeGate,omitempty"`
// Observed state of Code Modules
CodeModules oneagent.CodeModulesStatus `json:"codeModules,omitempty"`
// Observed state of Metadata-Enrichment
MetadataEnrichment MetadataEnrichmentStatus `json:"metadataEnrichment,omitempty"`
// Observed state of Kspm
Kspm kspm.Status `json:"kspm,omitempty"`
// UpdatedTimestamp indicates when the instance was last updated
// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Last Updated"
// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:text"
UpdatedTimestamp metav1.Time `json:"updatedTimestamp,omitempty"`
// Observed state of Dynatrace API
DynatraceApi DynatraceApiStatus `json:"dynatraceApi,omitempty"`
// Defines the current state (Running, Updating, Error, ...)
Phase status.DeploymentPhase `json:"phase,omitempty"`
// KubeSystemUUID contains the UUID of the current Kubernetes cluster
KubeSystemUUID string `json:"kubeSystemUUID,omitempty"`
// KubernetesClusterMEID contains the ID of the monitored entity that points to the Kubernetes cluster
KubernetesClusterMEID string `json:"kubernetesClusterMEID,omitempty"`
// KubernetesClusterName contains the display name (also know as label) of the monitored entity that points to the Kubernetes cluster
KubernetesClusterName string `json:"kubernetesClusterName,omitempty"`
// Conditions includes status about the current state of the instance
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
DynaKubeStatus defines the observed state of DynaKube +k8s:openapi-gen=true
func (*DynaKubeStatus) DeepCopy ¶
func (in *DynaKubeStatus) DeepCopy() *DynaKubeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynaKubeStatus.
func (*DynaKubeStatus) DeepCopyInto ¶
func (in *DynaKubeStatus) DeepCopyInto(out *DynaKubeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DynaKubeStatus) SetPhase ¶
func (dk *DynaKubeStatus) SetPhase(phase status.DeploymentPhase) bool
SetPhase sets the status phase on the DynaKube object.
type DynatraceApiStatus ¶
type DynatraceApiStatus struct {
// Time of the last token request
LastTokenScopeRequest metav1.Time `json:"lastTokenScopeRequest,omitempty"`
}
func (*DynatraceApiStatus) DeepCopy ¶
func (in *DynatraceApiStatus) DeepCopy() *DynatraceApiStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynatraceApiStatus.
func (*DynatraceApiStatus) DeepCopyInto ¶
func (in *DynatraceApiStatus) DeepCopyInto(out *DynatraceApiStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnrichmentRule ¶
type EnrichmentRule struct {
Type EnrichmentRuleType `json:"type,omitempty"`
Source string `json:"source,omitempty"`
Target string `json:"target,omitempty"`
}
func (*EnrichmentRule) DeepCopy ¶
func (in *EnrichmentRule) DeepCopy() *EnrichmentRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnrichmentRule.
func (*EnrichmentRule) DeepCopyInto ¶
func (in *EnrichmentRule) DeepCopyInto(out *EnrichmentRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EnrichmentRule) ToAnnotationKey ¶
func (rule EnrichmentRule) ToAnnotationKey() string
type EnrichmentRuleType ¶
type EnrichmentRuleType string
type ExtensionExecutionControllerSpec ¶
type ExtensionExecutionControllerSpec struct {
// Defines storage device
// +kubebuilder:validation:Optional
PersistentVolumeClaim *corev1.PersistentVolumeClaimSpec `json:"persistentVolumeClaim,omitempty"`
// Adds additional labels for the ExtensionExecutionController pods
// +kubebuilder:validation:Optional
Labels map[string]string `json:"labels,omitempty"`
// Adds additional annotations to the ExtensionExecutionController pods
Annotations map[string]string `json:"annotations,omitempty"`
// Overrides the default image
// +kubebuilder:validation:Optional
ImageRef image.Ref `json:"imageRef,omitempty"`
// +kubebuilder:validation:Optional
TlsRefName string `json:"tlsRefName,omitempty"`
// Defines name of ConfigMap containing custom configuration file
// +kubebuilder:validation:Optional
CustomConfig string `json:"customConfig,omitempty"`
// Defines name of Secret containing certificates for custom extensions signature validation
// +kubebuilder:validation:Optional
CustomExtensionCertificates string `json:"customExtensionCertificates,omitempty"`
// Define resources' requests and limits for single ExtensionExecutionController pod
// +kubebuilder:validation:Optional
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
// Set tolerations for the ExtensionExecutionController pods
// +kubebuilder:validation:Optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// Adds TopologySpreadConstraints for the ExtensionExecutionController pods
// +kubebuilder:validation:Optional
TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
// Selects EmptyDir volume to be storage device
// +kubebuilder:validation:Optional
UseEphemeralVolume bool `json:"useEphemeralVolume,omitempty"`
}
func (*ExtensionExecutionControllerSpec) DeepCopy ¶
func (in *ExtensionExecutionControllerSpec) DeepCopy() *ExtensionExecutionControllerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionExecutionControllerSpec.
func (*ExtensionExecutionControllerSpec) DeepCopyInto ¶
func (in *ExtensionExecutionControllerSpec) DeepCopyInto(out *ExtensionExecutionControllerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtensionsSpec ¶
type ExtensionsSpec struct {
}
+kubebuilder:validation:Optional
func (*ExtensionsSpec) DeepCopy ¶
func (in *ExtensionsSpec) DeepCopy() *ExtensionsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionsSpec.
func (*ExtensionsSpec) DeepCopyInto ¶
func (in *ExtensionsSpec) DeepCopyInto(out *ExtensionsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetadataEnrichment ¶
type MetadataEnrichment struct {
// Enables MetadataEnrichment, `false` by default.
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="MetaDataEnrichment",xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:booleanSwitch"
Enabled *bool `json:"enabled,omitempty"`
// The namespaces where you want Dynatrace Operator to inject enrichment.
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Namespace Selector",xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:core:v1:Namespace"
NamespaceSelector metav1.LabelSelector `json:"namespaceSelector,omitempty"`
}
func (*MetadataEnrichment) DeepCopy ¶
func (in *MetadataEnrichment) DeepCopy() *MetadataEnrichment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataEnrichment.
func (*MetadataEnrichment) DeepCopyInto ¶
func (in *MetadataEnrichment) DeepCopyInto(out *MetadataEnrichment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetadataEnrichmentStatus ¶
type MetadataEnrichmentStatus struct {
Rules []EnrichmentRule `json:"rules,omitempty"`
}
func (*MetadataEnrichmentStatus) DeepCopy ¶
func (in *MetadataEnrichmentStatus) DeepCopy() *MetadataEnrichmentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataEnrichmentStatus.
func (*MetadataEnrichmentStatus) DeepCopyInto ¶
func (in *MetadataEnrichmentStatus) DeepCopyInto(out *MetadataEnrichmentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenTelemetryCollectorSpec ¶
type OpenTelemetryCollectorSpec struct {
// Adds additional labels for the OtelCollector pods
// +kubebuilder:validation:Optional
Labels map[string]string `json:"labels,omitempty"`
// Adds additional annotations to the OtelCollector pods
// +kubebuilder:validation:Optional
Annotations map[string]string `json:"annotations,omitempty"`
// Number of replicas for your OtelCollector
// +kubebuilder:validation:Optional
Replicas *int32 `json:"replicas"`
// Overrides the default image
// +kubebuilder:validation:Optional
ImageRef image.Ref `json:"imageRef,omitempty"`
// +kubebuilder:validation:Optional
TlsRefName string `json:"tlsRefName,omitempty"`
// Define resources' requests and limits for single OtelCollector pod
// +kubebuilder:validation:Optional
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
// Set tolerations for the OtelCollector pods
// +kubebuilder:validation:Optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// Adds TopologySpreadConstraints for the OtelCollector pods
// +kubebuilder:validation:Optional
TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}
func (*OpenTelemetryCollectorSpec) DeepCopy ¶
func (in *OpenTelemetryCollectorSpec) DeepCopy() *OpenTelemetryCollectorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetryCollectorSpec.
func (*OpenTelemetryCollectorSpec) DeepCopyInto ¶
func (in *OpenTelemetryCollectorSpec) DeepCopyInto(out *OpenTelemetryCollectorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplatesSpec ¶
type TemplatesSpec struct {
// Low-level configuration options for the LogMonitoring feature.
// +kubebuilder:validation:Optional
LogMonitoring *logmonitoring.TemplateSpec `json:"logMonitoring,omitempty"`
// +kubebuilder:validation:Optional
KspmNodeConfigurationCollector kspm.NodeConfigurationCollectorSpec `json:"kspmNodeConfigurationCollector,omitempty"`
// +kubebuilder:validation:Optional
OpenTelemetryCollector OpenTelemetryCollectorSpec `json:"otelCollector,omitempty"`
// +kubebuilder:validation:Optional
ExtensionExecutionController ExtensionExecutionControllerSpec `json:"extensionExecutionController,omitempty"`
}
func (*TemplatesSpec) DeepCopy ¶
func (in *TemplatesSpec) DeepCopy() *TemplatesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplatesSpec.
func (*TemplatesSpec) DeepCopyInto ¶
func (in *TemplatesSpec) DeepCopyInto(out *TemplatesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- activegate_props.go
- certs.go
- conversion.go
- dynakube_props.go
- dynakube_status.go
- dynakube_types.go
- dynakube_webhook.go
- extensions.go
- extensions_props.go
- kspm_props.go
- logmonitoring_props.go
- metada_enrichment.go
- metadata_enrichment_props.go
- oneagent_props.go
- otelc_props.go
- proxy.go
- telemetryservice_props.go
- zz_generated.deepcopy.go