dynakube

package
v1.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 7, 2025 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=dynatrace.com +versionName=v1beta5

Index

Constants

View Source
const (
	TrustedCAKey = "certs"
	TLSCertKey   = "server.crt"
)
View Source
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
)
View Source
const (
	EnrichmentLabelRule      EnrichmentRuleType = "LABEL"
	EnrichmentAnnotationRule EnrichmentRuleType = "ANNOTATION"
	MetadataAnnotation       string             = "metadata.dynatrace.com"
	MetadataPrefix           string             = MetadataAnnotation + "/"
)
View Source
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.

View Source
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.

View Source
const (
	ProxyKey   = "proxy"
	NoProxyKey = "noProxy"
)

Variables

This section is empty.

Functions

func GetCacheValidMessage

func GetCacheValidMessage(functionName string, lastRequestTimestamp metav1.Time, timeout time.Duration) string

func GetEmptyTargetEnrichmentKey

func GetEmptyTargetEnrichmentKey(metadataType, key string) string

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) APIRequestThreshold added in v1.7.0

func (dk *DynaKube) APIRequestThreshold() time.Duration

func (*DynaKube) APIURL added in v1.7.0

func (dk *DynaKube) APIURL() string

APIURL is a getter for dk.Spec.APIURL.

func (*DynaKube) APIURLHost added in v1.7.0

func (dk *DynaKube) APIURLHost() string

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) ActiveGate

func (dk *DynaKube) ActiveGate() *activegate.ActiveGate

func (*DynaKube) ActiveGateTLSCert

func (dk *DynaKube) ActiveGateTLSCert(ctx context.Context, kubeReader client.Reader) ([]byte, error)

func (*DynaKube) Conditions

func (dk *DynaKube) Conditions() *[]metav1.Condition

func (*DynaKube) DeepCopy

func (in *DynaKube) DeepCopy() *DynaKube

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynaKube.

func (*DynaKube) DeepCopyInto

func (in *DynaKube) DeepCopyInto(out *DynaKube)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DynaKube) DeepCopyObject

func (in *DynaKube) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DynaKube) Extensions added in v1.7.0

func (dk *DynaKube) Extensions() *extensions.Extensions

func (*DynaKube) FF

func (dk *DynaKube) FF() *exp.FeatureFlags

func (*DynaKube) GetDynatraceAPIRequestThreshold added in v1.7.0

func (dk *DynaKube) GetDynatraceAPIRequestThreshold() uint16

func (*DynaKube) HasProxy

func (dk *DynaKube) HasProxy() bool

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 (dk *DynaKube) IsAGCertificateNeeded() bool

func (*DynaKube) IsCACertificateNeeded

func (dk *DynaKube) IsCACertificateNeeded() bool

func (*DynaKube) IsTokenScopeVerificationAllowed

func (dk *DynaKube) IsTokenScopeVerificationAllowed(timeProvider *timeprovider.Provider) bool

func (*DynaKube) KSPM

func (dk *DynaKube) KSPM() *kspm.Kspm

func (*DynaKube) LogMonitoring

func (dk *DynaKube) LogMonitoring() *logmonitoring.LogMonitoring

func (*DynaKube) MetadataEnrichmentEnabled

func (dk *DynaKube) MetadataEnrichmentEnabled() bool

func (*DynaKube) MetadataEnrichmentNamespaceSelector

func (dk *DynaKube) MetadataEnrichmentNamespaceSelector() *metav1.LabelSelector

func (*DynaKube) NeedsActiveGateProxy

func (dk *DynaKube) NeedsActiveGateProxy() bool

func (*DynaKube) NeedsCustomNoProxy

func (dk *DynaKube) NeedsCustomNoProxy() bool

func (*DynaKube) NeedsOneAgentProxy

func (dk *DynaKube) NeedsOneAgentProxy() bool

func (*DynaKube) OneAgent

func (dk *DynaKube) OneAgent() *oneagent.OneAgent

func (*DynaKube) OtelCollectorStatefulsetName

func (dk *DynaKube) OtelCollectorStatefulsetName() string

func (*DynaKube) Proxy

func (dk *DynaKube) Proxy(ctx context.Context, kubeReader client.Reader) (string, error)

func (*DynaKube) PullSecretName

func (dk *DynaKube) PullSecretName() string

PullSecretName returns the name of the pull secret to be used for immutable images.

func (*DynaKube) PullSecretNames

func (dk *DynaKube) PullSecretNames() []string

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 (dk *DynaKube) TenantUUID() (string, error)

func (*DynaKube) Tokens

func (dk *DynaKube) Tokens() string

Tokens returns the name of the Secret to be used for tokens.

func (*DynaKube) TrustedCAs

func (dk *DynaKube) TrustedCAs(ctx context.Context, kubeReader client.Reader) ([]byte, error)

func (*DynaKube) UpdateStatus

func (dk *DynaKube) UpdateStatus(ctx context.Context, client client.Client) error

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 *extensions.Spec `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"`

	// ProxyURLHash is the hashed value of what is in spec.proxy.
	// Used for setting it as an annotation value for components that use the proxy.
	// This annotation will cause the component to be restarted if the proxy changes.
	ProxyURLHash string `json:"proxyURLHash,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 added in v1.7.0

type DynatraceAPIStatus struct {
	// Time of the last token request
	LastTokenScopeRequest metav1.Time `json:"lastTokenScopeRequest,omitempty"`
}

func (*DynatraceAPIStatus) DeepCopy added in v1.7.0

func (in *DynatraceAPIStatus) DeepCopy() *DynatraceAPIStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynatraceAPIStatus.

func (*DynatraceAPIStatus) DeepCopyInto added in v1.7.0

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 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

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"`

	// +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"`

	// 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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetryCollectorSpec.

func (*OpenTelemetryCollectorSpec) DeepCopyInto

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 extensions.ExecutionControllerSpec `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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL