v1beta1

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the dynatrace v1 API group +kubebuilder:object:generate=true +groupName=dynatrace.com

Index

Constants

View Source
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"
)
View Source
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 is set when a token is unauthorized to query the Dynatrace API
	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

View Source
const (
	// PullSecretSuffix is the suffix appended to the DynaKube name to n.
	PullSecretSuffix = "-pull-secret"
)

Variables

View Source
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",
	}
)
View Source
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
)
View Source
var ActiveGateDisplayNames = map[CapabilityDisplayName]bool{
	RoutingCapability.DisplayName:       true,
	KubeMonCapability.DisplayName:       true,
	MetricsIngestCapability.DisplayName: true,
}

Functions

This section is empty.

Types

type ActiveGateCapability

type ActiveGateCapability struct {

	// The name of the capability known by the user, mainly used in the CR
	DisplayName CapabilityDisplayName

	// The name used for marking the pod for given capability
	ShortName string

	// The string passed to the active gate image to enable a given capability
	ArgumentName string
}

func (*ActiveGateCapability) DeepCopy

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

func (*ActiveGateCapability) DeepCopyInto

func (in *ActiveGateCapability) DeepCopyInto(out *ActiveGateCapability)

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

type ActiveGateSpec

type ActiveGateSpec struct {

	// Activegate capabilities enabled (routing, kubernetes-monitoring, metrics-ingest)
	Capabilities []CapabilityDisplayName `json:"capabilities,omitempty"`

	CapabilityProperties `json:",inline"`

	// Optional: the name of a secret containing ActiveGate TLS cert+key and password. If not set, self-signed certificate is used.
	// server.p12: certificate+key pair in pkcs12 format
	// password: passphrase to read server.p12
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TlsSecretName",order=10,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	TlsSecretName string `json:"tlsSecretName,omitempty"`

	// Optional: Sets DNS Policy for the ActiveGate pods
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="DNS Policy",order=24,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty"`
}

func (*ActiveGateSpec) DeepCopy

func (in *ActiveGateSpec) DeepCopy() *ActiveGateSpec

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

func (*ActiveGateSpec) DeepCopyInto

func (in *ActiveGateSpec) DeepCopyInto(out *ActiveGateSpec)

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

type ActiveGateStatus

type ActiveGateStatus struct {
	VersionStatus `json:",inline"`
}

func (*ActiveGateStatus) DeepCopy

func (in *ActiveGateStatus) DeepCopy() *ActiveGateStatus

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

func (*ActiveGateStatus) DeepCopyInto

func (in *ActiveGateStatus) DeepCopyInto(out *ActiveGateStatus)

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

type AppInjectionSpec

type AppInjectionSpec struct {
	// Optional: define resources requests and limits for the initContainer
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements",order=15,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:resourceRequirements"}
	InitResources corev1.ResourceRequirements `json:"initResources,omitempty"`
}

func (*AppInjectionSpec) DeepCopy

func (in *AppInjectionSpec) DeepCopy() *AppInjectionSpec

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

func (*AppInjectionSpec) DeepCopyInto

func (in *AppInjectionSpec) DeepCopyInto(out *AppInjectionSpec)

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

type ApplicationMonitoringSpec

type ApplicationMonitoringSpec struct {
	AppInjectionSpec `json:",inline"`

	// Optional: If specified, indicates the OneAgent version to use
	// Defaults to latest
	// Example: {major.minor.release} - 1.200.0
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent version",order=11,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Version string `json:"version,omitempty"`

	// Optional: If you want to use CSIDriver; disable if your cluster does not have 'nodes' to fall back to the volume approach.
	UseCSIDriver *bool `json:"useCSIDriver,omitempty"`
}

func (*ApplicationMonitoringSpec) DeepCopy

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

func (*ApplicationMonitoringSpec) DeepCopyInto

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

type CapabilityDisplayName

type CapabilityDisplayName string

type CapabilityProperties

type CapabilityProperties struct {
	// Amount of replicas for your ActiveGates
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Replicas",order=30,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podCount"
	Replicas *int32 `json:"replicas,omitempty"`

	// Optional: the ActiveGate container image. Defaults to the latest ActiveGate image provided by the registry on the tenant
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Image",order=10,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Image string `json:"image,omitempty"`

	// Optional: Set activation group for ActiveGate
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Activation group",order=31,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Group string `json:"group,omitempty"`

	// Optional: Add a custom properties file by providing it as a value or reference it from a secret
	// If referenced from a secret, make sure the key is called 'customProperties'
	CustomProperties *DynaKubeValueSource `json:"customProperties,omitempty"`

	// Optional: define resources requests and limits for single ActiveGate pods
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements",order=34,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:resourceRequirements"}
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Optional: Node selector to control the selection of nodes
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Node Selector",order=35,xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node"
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Optional: set tolerations for the ActiveGatePods pods
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tolerations",order=36,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:hidden"}
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// Optional: Adds additional labels for the ActiveGate pods
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Labels",order=37,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Labels map[string]string `json:"labels,omitempty"`

	// Optional: List of environment variables to set for the ActiveGate
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Environment variables",order=39,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:hidden"}
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment variables"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text"
	Env []corev1.EnvVar `json:"env,omitempty"`
}

CapabilityProperties is a struct which can be embedded by ActiveGate capabilities Such as KubernetesMonitoring or Routing It encapsulates common properties

func (*CapabilityProperties) DeepCopy

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

func (*CapabilityProperties) DeepCopyInto

func (in *CapabilityProperties) DeepCopyInto(out *CapabilityProperties)

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

type ClassicFullStackSpec

type ClassicFullStackSpec struct {
	// Optional: the Dynatrace installer container image
	// Defaults to the registry on the tenant for both Kubernetes and for OpenShift
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Image",order=12,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Image string `json:"image,omitempty"`

	// Optional: If specified, indicates the OneAgent version to use
	// Defaults to latest
	// Example: {major.minor.release} - 1.200.0
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent version",order=11,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Version string `json:"version,omitempty"`

	HostInjectSpec `json:",inline"`
}

func (*ClassicFullStackSpec) DeepCopy

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

func (*ClassicFullStackSpec) DeepCopyInto

func (in *ClassicFullStackSpec) DeepCopyInto(out *ClassicFullStackSpec)

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

type CloudNativeFullStackSpec

type CloudNativeFullStackSpec struct {

	// Optional: If specified, indicates the OneAgent version to use
	// Defaults to latest
	// Example: {major.minor.release} - 1.200.0
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent version",order=11,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Version string `json:"version,omitempty"`

	HostInjectSpec   `json:",inline"`
	AppInjectionSpec `json:",inline"`
}

func (*CloudNativeFullStackSpec) DeepCopy

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

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

func (*CommunicationHostStatus) DeepCopyInto

func (in *CommunicationHostStatus) DeepCopyInto(out *CommunicationHostStatus)

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

type ConnectionInfoStatus

type ConnectionInfoStatus struct {
	CommunicationHosts []CommunicationHostStatus `json:"communicationHosts,omitempty"`
	TenantUUID         string                    `json:"tenantUUID,omitempty"`
}

func (*ConnectionInfoStatus) DeepCopy

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

func (*ConnectionInfoStatus) DeepCopyInto

func (in *ConnectionInfoStatus) DeepCopyInto(out *ConnectionInfoStatus)

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

type DynaKube

type DynaKube struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DynaKubeSpec   `json:"spec,omitempty"`
	Status DynaKubeStatus `json:"status,omitempty"`
}

DynaKube is the Schema for the DynaKube API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=dynakubes,scope=Namespaced,categories=dynatrace +kubebuilder:printcolumn:name="ApiUrl",type=string,JSONPath=`.spec.apiUrl` +kubebuilder:printcolumn:name="Tokens",type=string,JSONPath=`.status.tokens` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +operator-sdk:csv:customresourcedefinitions:displayName="Dynatrace DynaKube" +operator-sdk:csv:customresourcedefinitions:resources={{StatefulSet,v1,},{DaemonSet,v1,},{Pod,v1,}}

func (*DynaKube) ActiveGateImage

func (dk *DynaKube) ActiveGateImage() string

ActiveGateImage returns the ActiveGate image to be used with the dk DynaKube instance.

func (*DynaKube) ActiveGateMode

func (dk *DynaKube) ActiveGateMode() bool

func (*DynaKube) ApplicationMonitoringMode

func (dk *DynaKube) ApplicationMonitoringMode() bool

ApplicationMonitoringMode returns true when application only section is used.

func (*DynaKube) ClassicFullStackMode

func (dk *DynaKube) ClassicFullStackMode() bool

ClassicFullStackMode returns true when host monitoring section is used.

func (*DynaKube) CloudNativeFullstackMode

func (dk *DynaKube) CloudNativeFullstackMode() bool

CloudNativeFullstackMode returns true when cloud native fullstack section is used.

func (*DynaKube) CommunicationHostForClient

func (dk *DynaKube) CommunicationHostForClient() dtclient.CommunicationHost

func (*DynaKube) CommunicationHosts

func (dk *DynaKube) CommunicationHosts() []dtclient.CommunicationHost

func (*DynaKube) ConnectionInfo

func (dk *DynaKube) ConnectionInfo() dtclient.ConnectionInfo

func (*DynaKube) ConvertFrom

func (dst *DynaKube) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts v1alpha1 to v1beta1

func (*DynaKube) ConvertTo

func (src *DynaKube) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts v1beta1 to v1alpha1

func (*DynaKube) DeepCopy

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

func (dk *DynaKube) DeprecatedActiveGateMode() bool

func (*DynaKube) FeatureAutomaticKubernetesApiMonitoring

func (dk *DynaKube) FeatureAutomaticKubernetesApiMonitoring() bool

FeatureAutomaticKubernetesApiMonitoring is a feature flag to enable automatic kubernetes api monitoring, which ensures that settings for this kubernetes cluster exist in Dynatrace

func (*DynaKube) FeatureDisableActiveGateUpdates

func (dk *DynaKube) FeatureDisableActiveGateUpdates() bool

FeatureDisableActiveGateUpdates is a feature flag to disable ActiveGate updates.

func (*DynaKube) FeatureDisableHostsRequests

func (dk *DynaKube) FeatureDisableHostsRequests() bool

FeatureDisableHostsRequests is a feature flag to disable queries to the Hosts API.

func (*DynaKube) FeatureDisableMetadataEnrichment

func (dk *DynaKube) FeatureDisableMetadataEnrichment() bool

FeatureDisableMetadataEnrichment is a feature flag to disable metadata enrichment,

func (*DynaKube) FeatureEnableWebhookReinvocationPolicy

func (dk *DynaKube) FeatureEnableWebhookReinvocationPolicy() bool

FeatureEnableWebhookReinvocationPolicy is a feature flag to enable instrumenting missing containers by enabling reinvocation for webhook.

func (*DynaKube) FeatureIgnoreUnknownState

func (dk *DynaKube) FeatureIgnoreUnknownState() bool

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

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

FeatureIgnoredNamespaces is a feature flag for ignoring certain namespaces. defaults to "[ \"^dynatrace$\", \"^kube-.*\", \"openshift(-.*)?\" ]"

func (*DynaKube) FeatureOneAgentMaxUnavailable

func (dk *DynaKube) FeatureOneAgentMaxUnavailable() int

FeatureOneAgentMaxUnavailable is a feature flag to configure maxUnavailable on the OneAgent DaemonSets rolling upgrades.

func (*DynaKube) GetFeatureEnableWebhookReinvocationPolicy

func (dk *DynaKube) GetFeatureEnableWebhookReinvocationPolicy() string

GetFeatureEnableWebhookReinvocationPolicy returns the annotation for FeatureEnableWebhookReinvocationPolicy

func (*DynaKube) HasActiveGateTLS

func (dk *DynaKube) HasActiveGateTLS() bool

func (*DynaKube) HasProxy

func (dk *DynaKube) HasProxy() bool

func (*DynaKube) HostGroup

func (dk *DynaKube) HostGroup() string

func (*DynaKube) HostMonitoringMode

func (dk *DynaKube) HostMonitoringMode() bool

HostMonitoringMode returns true when host monitoring section is used.

func (*DynaKube) Image

func (dk *DynaKube) Image() string

func (*DynaKube) ImmutableOneAgentImage

func (dk *DynaKube) ImmutableOneAgentImage() string

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

func (*DynaKube) NamespaceSelector

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

func (*DynaKube) NeedAppInjection

func (dk *DynaKube) NeedAppInjection() bool

func (*DynaKube) NeedsActiveGate

func (dk *DynaKube) NeedsActiveGate() bool

NeedsActiveGate returns true when a feature requires ActiveGate instances.

func (*DynaKube) NeedsCSIDriver

func (dk *DynaKube) NeedsCSIDriver() bool

func (*DynaKube) NeedsOneAgent

func (dk *DynaKube) NeedsOneAgent() bool

NeedsOneAgent returns true when a feature requires OneAgent instances.

func (*DynaKube) NodeSelector

func (dk *DynaKube) NodeSelector() map[string]string

func (*DynaKube) OneAgentResources

func (dk *DynaKube) OneAgentResources() *corev1.ResourceRequirements

func (*DynaKube) PullSecret

func (dk *DynaKube) PullSecret() string

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

func (*DynaKube) SetupWebhookWithManager

func (r *DynaKube) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*DynaKube) ShouldAutoUpdateOneAgent

func (dk *DynaKube) ShouldAutoUpdateOneAgent() bool

ShouldAutoUpdateOneAgent returns true if the Operator should update OneAgent instances automatically.

func (*DynaKube) Tokens

func (dk *DynaKube) Tokens() string

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

func (*DynaKube) Version

func (dk *DynaKube) Version() string

type DynaKubeList

type DynaKubeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DynaKube `json:"items"`
}

DynaKubeList contains a list of DynaKube

func (*DynaKubeList) DeepCopy

func (in *DynaKubeList) DeepCopy() *DynaKubeList

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

func (*DynaKubeList) DeepCopyInto

func (in *DynaKubeList) DeepCopyInto(out *DynaKubeList)

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

func (*DynaKubeList) DeepCopyObject

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

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

type DynaKubePhaseType

type DynaKubePhaseType string
const (
	Running   DynaKubePhaseType = "Running"
	Deploying DynaKubePhaseType = "Deploying"
	Error     DynaKubePhaseType = "Error"
)

type DynaKubeProxy

type DynaKubeProxy struct {
	Value     string `json:"value,omitempty"`
	ValueFrom string `json:"valueFrom,omitempty"`
}

func (*DynaKubeProxy) DeepCopy

func (in *DynaKubeProxy) DeepCopy() *DynaKubeProxy

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

func (*DynaKubeProxy) DeepCopyInto

func (in *DynaKubeProxy) DeepCopyInto(out *DynaKubeProxy)

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

type DynaKubeSpec

type DynaKubeSpec struct {

	// Location of the Dynatrace API to connect to, including your specific environment ID
	// +kubebuilder:validation:Required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="API URL",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:text"
	APIURL string `json:"apiUrl"`

	// Credentials for the DynaKube to connect back to Dynatrace.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="API and PaaS Tokens",order=2,xDescriptors="urn:alm:descriptor:io.kubernetes:Secret"
	Tokens string `json:"tokens,omitempty"`

	// Optional: Pull secret for your private registry
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Custom PullSecret",order=8,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:Secret"}
	CustomPullSecret string `json:"customPullSecret,omitempty"`

	// Disable certificate validation checks for installer download and API communication
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Skip Certificate Check",order=3,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	SkipCertCheck bool `json:"skipCertCheck,omitempty"`

	// Optional: Set custom proxy settings either directly or from a secret with the field 'proxy'
	Proxy *DynaKubeProxy `json:"proxy,omitempty"`

	// Optional: Adds custom RootCAs from a configmap
	// This property only affects certificates used to communicate with the Dynatrace API.
	// The property is not applied to the ActiveGate
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Trusted CAs",order=6,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:ConfigMap"}
	TrustedCAs string `json:"trustedCAs,omitempty"`

	// Optional: Sets Network Zone for OneAgent and ActiveGate pods
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Network Zone",order=7,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	NetworkZone string `json:"networkZone,omitempty"`

	// If enabled, Istio on the cluster will be configured automatically to allow access to the Dynatrace environment
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable Istio automatic management",order=9,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	EnableIstio bool `json:"enableIstio,omitempty"`

	// Optional: set a namespace selector to limit which namespaces are monitored
	// By default, all namespaces will be monitored
	// Has no effect during classicFullStack and hostMonitoring mode
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Namespace Selector",order=17,xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:core:v1:Namespace"
	NamespaceSelector metav1.LabelSelector `json:"namespaceSelector,omitempty"`

	// General configuration about OneAgent instances
	// +kubebuilder:validation:MaxProperties=1
	OneAgent OneAgentSpec `json:"oneAgent,omitempty"`

	// General configuration about ActiveGate instances
	// ActiveGate ActiveGateSpec `json:"activeGate,omitempty"`
	ActiveGate ActiveGateSpec `json:"activeGate,omitempty"`

	//  Deprecated: Configuration for Routing
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Routing"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text"
	Routing RoutingSpec `json:"routing,omitempty"`

	//  Deprecated: Configuration for Kubernetes Monitoring
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Kubernetes Monitoring"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text"
	KubernetesMonitoring KubernetesMonitoringSpec `json:"kubernetesMonitoring,omitempty"`
}

DynaKubeSpec defines the desired state of DynaKube +k8s:openapi-gen=true

func (*DynaKubeSpec) DeepCopy

func (in *DynaKubeSpec) DeepCopy() *DynaKubeSpec

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

func (*DynaKubeSpec) DeepCopyInto

func (in *DynaKubeSpec) DeepCopyInto(out *DynaKubeSpec)

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

type DynaKubeStatus

type DynaKubeStatus struct {
	// Defines the current state (Running, Updating, Error, ...)
	Phase DynaKubePhaseType `json:"phase,omitempty"`

	// UpdatedTimestamp indicates when the instance was last updated
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Last Updated"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:text"
	UpdatedTimestamp metav1.Time `json:"updatedTimestamp,omitempty"`

	// LastAPITokenProbeTimestamp tracks when the last request for the API token validity was sent
	LastAPITokenProbeTimestamp *metav1.Time `json:"lastAPITokenProbeTimestamp,omitempty"`

	// LastPaaSTokenProbeTimestamp tracks when the last request for the PaaS token validity was sent
	LastPaaSTokenProbeTimestamp *metav1.Time `json:"lastPaaSTokenProbeTimestamp,omitempty"`

	// LastDataIngestTokenProbeTimestamp tracks when the last request for the DataIngest token validity was sent
	LastDataIngestTokenProbeTimestamp *metav1.Time `json:"lastDataIngestTokenProbeTimestamp,omitempty"`

	// Credentials used to connect back to Dynatrace.
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="API and PaaS Tokens"
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:text"
	Tokens string `json:"tokens,omitempty"`

	// LastClusterVersionProbeTimestamp indicates when the cluster's version was last checked
	LastClusterVersionProbeTimestamp *metav1.Time `json:"lastClusterVersionProbeTimestamp,omitempty"`

	// KubeSystemUUID contains the UUID of the current Kubernetes cluster
	KubeSystemUUID string `json:"kubeSystemUUID,omitempty"`

	// ConnectionInfo caches information about the tenant and its communication hosts
	ConnectionInfo ConnectionInfoStatus `json:"connectionInfo,omitempty"`

	// CommunicationHostForClient caches a communication host specific to the api url.
	CommunicationHostForClient CommunicationHostStatus `json:"communicationHostForClient,omitempty"`

	// LatestAgentVersionUnixDefault caches the current agent version for unix and the default installer which is configured for the environment
	LatestAgentVersionUnixDefault string `json:"latestAgentVersionUnixDefault,omitempty"`

	// LatestAgentVersionUnixDefault caches the current agent version for unix and the PaaS installer which is configured for the environment
	LatestAgentVersionUnixPaas string `json:"latestAgentVersionUnixPaas,omitempty"`

	// Conditions includes status about the current state of the instance
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	ActiveGate ActiveGateStatus `json:"activeGate,omitempty"`

	OneAgent OneAgentStatus `json:"oneAgent,omitempty"`
}

DynaKubeStatus defines the observed state of DynaKube +k8s:openapi-gen=true

func (*DynaKubeStatus) DeepCopy

func (in *DynaKubeStatus) DeepCopy() *DynaKubeStatus

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

func (*DynaKubeStatus) DeepCopyInto

func (in *DynaKubeStatus) DeepCopyInto(out *DynaKubeStatus)

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

func (*DynaKubeStatus) SetPhase

func (dk *DynaKubeStatus) SetPhase(phase DynaKubePhaseType) bool

SetPhase sets the status phase on the DynaKube object

func (*DynaKubeStatus) SetPhaseOnError

func (dk *DynaKubeStatus) SetPhaseOnError(err error) bool

SetPhaseOnError fills the phase with the Error value in case of any error

type DynaKubeValueSource

type DynaKubeValueSource struct {
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Custom properties value",order=32,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Value string `json:"value,omitempty"`

	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Custom properties secret",order=33,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:Secret"}
	ValueFrom string `json:"valueFrom,omitempty"`
}

func (*DynaKubeValueSource) DeepCopy

func (in *DynaKubeValueSource) DeepCopy() *DynaKubeValueSource

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

func (*DynaKubeValueSource) DeepCopyInto

func (in *DynaKubeValueSource) DeepCopyInto(out *DynaKubeValueSource)

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

type HostInjectSpec

type HostInjectSpec struct {

	// Node selector to control the selection of nodes (optional)
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Node Selector",order=17,xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node"
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Optional: If specified, indicates the pod's priority. Name must be defined by creating a PriorityClass object with that
	// name. If not specified the setting will be removed from the DaemonSet.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Priority Class name",order=23,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:io.kubernetes:PriorityClass"}
	PriorityClassName string `json:"priorityClassName,omitempty"`

	// Optional: set tolerations for the OneAgent pods
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tolerations",order=18,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:hidden"}
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// Optional: define resources requests and limits for single pods
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements",order=20,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:resourceRequirements"}
	OneAgentResources corev1.ResourceRequirements `json:"oneAgentResources,omitempty"`

	// Optional: Arguments to the OneAgent installer
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent installer arguments",order=21,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:hidden"}
	// +listType=set
	Args []string `json:"args,omitempty"`

	// Optional: List of environment variables to set for the installer
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent environment variable installer arguments",order=22,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:hidden"}
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Optional: Enables automatic restarts of OneAgent pods in case a new version is available
	// Defaults to true
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Automatically update Agent",order=13,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	AutoUpdate *bool `json:"autoUpdate,omitempty"`

	// Optional: Sets DNS Policy for the OneAgent pods
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="DNS Policy",order=24,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty"`

	// Optional: Adds additional labels for the OneAgent pods
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Labels",order=26,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Labels map[string]string `json:"labels,omitempty"`
}

func (*HostInjectSpec) DeepCopy

func (in *HostInjectSpec) DeepCopy() *HostInjectSpec

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

func (*HostInjectSpec) DeepCopyInto

func (in *HostInjectSpec) DeepCopyInto(out *HostInjectSpec)

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

type HostMonitoringSpec

type HostMonitoringSpec struct {
	// Optional: the Dynatrace installer container image
	// Defaults to the registry on the tenant for both Kubernetes and for OpenShift
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Image",order=12,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Image string `json:"image,omitempty"`

	// Optional: If specified, indicates the OneAgent version to use
	// Defaults to latest
	// Example: {major.minor.release} - 1.200.0
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OneAgent version",order=11,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Version string `json:"version,omitempty"`

	HostInjectSpec `json:",inline"`
}

func (*HostMonitoringSpec) DeepCopy

func (in *HostMonitoringSpec) DeepCopy() *HostMonitoringSpec

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

func (*HostMonitoringSpec) DeepCopyInto

func (in *HostMonitoringSpec) DeepCopyInto(out *HostMonitoringSpec)

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

type KubernetesMonitoringSpec

type KubernetesMonitoringSpec struct {
	// Enables Capability
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Capability",order=29,xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:booleanSwitch"
	Enabled bool `json:"enabled,omitempty"`

	CapabilityProperties `json:",inline"`
}

Deprecated

func (*KubernetesMonitoringSpec) DeepCopy

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

func (*KubernetesMonitoringSpec) DeepCopyInto

func (in *KubernetesMonitoringSpec) DeepCopyInto(out *KubernetesMonitoringSpec)

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

type OneAgentInstance

type OneAgentInstance struct {
	PodName   string `json:"podName,omitempty"`
	IPAddress string `json:"ipAddress,omitempty"`
}

func (*OneAgentInstance) DeepCopy

func (in *OneAgentInstance) DeepCopy() *OneAgentInstance

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

func (*OneAgentInstance) DeepCopyInto

func (in *OneAgentInstance) DeepCopyInto(out *OneAgentInstance)

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

type OneAgentMode

type OneAgentMode string

type OneAgentSpec

type OneAgentSpec struct {
	// Optional: enable classic fullstack monitoring and change its settings
	// Cannot be used in conjunction with cloud-native fullstack monitoring, application monitoring or host monitoring
	// +nullable
	ClassicFullStack *ClassicFullStackSpec `json:"classicFullStack,omitempty"`

	// Optional: (Preview feature) enable application-only monitoring and change its settings
	// Cannot be used in conjunction with cloud-native fullstack monitoring, classic fullstack monitoring or host monitoring
	// +nullable
	ApplicationMonitoring *ApplicationMonitoringSpec `json:"applicationMonitoring,omitempty"`

	// Optional: enable host monitoring and change its settings
	// Cannot be used in conjunction with cloud-native fullstack monitoring, classic fullstack monitoring or application monitoring
	// +nullable
	HostMonitoring *HostMonitoringSpec `json:"hostMonitoring,omitempty"`

	// Optional: (Preview feature) enable cloud-native fullstack monitoring and change its settings
	// Cannot be used in conjunction with classic fullstack monitoring, application monitoring or host monitoring
	// +nullable
	CloudNativeFullStack *CloudNativeFullStackSpec `json:"cloudNativeFullStack,omitempty"`
}

func (*OneAgentSpec) DeepCopy

func (in *OneAgentSpec) DeepCopy() *OneAgentSpec

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

func (*OneAgentSpec) DeepCopyInto

func (in *OneAgentSpec) DeepCopyInto(out *OneAgentSpec)

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

type OneAgentStatus

type OneAgentStatus struct {
	VersionStatus `json:",inline"`

	Instances map[string]OneAgentInstance `json:"instances,omitempty"`

	// LastHostsRequestTimestamp indicates the last timestamp the Operator queried for hosts
	LastHostsRequestTimestamp *metav1.Time `json:"lastHostsRequestTimestamp,omitempty"`
}

func (*OneAgentStatus) DeepCopy

func (in *OneAgentStatus) DeepCopy() *OneAgentStatus

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

func (*OneAgentStatus) DeepCopyInto

func (in *OneAgentStatus) DeepCopyInto(out *OneAgentStatus)

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

type RoutingSpec

type RoutingSpec struct {
	// Enables Capability
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Capability",order=29,xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:booleanSwitch"
	Enabled bool `json:"enabled,omitempty"`

	CapabilityProperties `json:",inline"`
}

Deprecated

func (*RoutingSpec) DeepCopy

func (in *RoutingSpec) DeepCopy() *RoutingSpec

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

func (*RoutingSpec) DeepCopyInto

func (in *RoutingSpec) DeepCopyInto(out *RoutingSpec)

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

type VersionStatus

type VersionStatus struct {
	// ImageHash contains the last image hash seen.
	ImageHash string `json:"imageHash,omitempty"`

	// Version contains the version to be deployed.
	Version string `json:"version,omitempty"`

	// LastUpdateProbeTimestamp defines the last timestamp when the querying for updates have been done
	LastUpdateProbeTimestamp *metav1.Time `json:"lastUpdateProbeTimestamp,omitempty"`
}

func (*VersionStatus) DeepCopy

func (in *VersionStatus) DeepCopy() *VersionStatus

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

func (*VersionStatus) DeepCopyInto

func (in *VersionStatus) DeepCopyInto(out *VersionStatus)

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

Jump to

Keyboard shortcuts

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