edgeconnect

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=dynatrace.com +versionName=v1alpha1 +kubebuilder:validation:Optional

Index

Constants

View Source
const DefaultMinRequestThreshold = 15 * time.Minute
View Source
const (
	// MaxNameLength is the maximum length of a EdgeConnect's name, we tend to add suffixes to the name to avoid name collisions for resources related to the EdgeConnect.
	// The limit is necessary because kubernetes uses the name of some resources 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
)

Variables

This section is empty.

Functions

This section is empty.

Types

type EdgeConnect

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

	Spec   EdgeConnectSpec   `json:"spec,omitempty"`
	Status EdgeConnectStatus `json:"status,omitempty"`
}

EdgeConnect is the Schema for the EdgeConnect API +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=edgeconnects,scope=Namespaced,categories=dynatrace +kubebuilder:printcolumn:name="ApiServer",type=string,JSONPath=`.spec.apiServer` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:storageversion

func (*EdgeConnect) DeepCopy

func (in *EdgeConnect) DeepCopy() *EdgeConnect

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

func (*EdgeConnect) DeepCopyInto

func (in *EdgeConnect) DeepCopyInto(out *EdgeConnect)

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

func (*EdgeConnect) DeepCopyObject

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

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

func (*EdgeConnect) Image

func (edgeConnect *EdgeConnect) Image() string

func (*EdgeConnect) IsCustomImage

func (edgeConnect *EdgeConnect) IsCustomImage() bool

func (*EdgeConnect) PullSecretWithoutData

func (edgeConnect *EdgeConnect) PullSecretWithoutData() corev1.Secret

type EdgeConnectList

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

EdgeConnectList contains a list of EdgeConnect +k8s:openapi-gen=true +kubebuilder:object:root=true

func (*EdgeConnectList) DeepCopy

func (in *EdgeConnectList) DeepCopy() *EdgeConnectList

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

func (*EdgeConnectList) DeepCopyInto

func (in *EdgeConnectList) DeepCopyInto(out *EdgeConnectList)

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

func (*EdgeConnectList) DeepCopyObject

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

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

type EdgeConnectSpec

type EdgeConnectSpec struct {

	// Location of the Dynatrace API to connect to, including your specific environment UUID
	// +kubebuilder:validation:Required
	ApiServer string `json:"apiServer"`

	// EdgeConnect uses the OAuth client to authenticate itself with the Dynatrace platform.
	// +kubebuilder:validation:Required
	OAuth OAuthSpec `json:"oauth"`

	// Restrict outgoing HTTP requests to your internal resources to specified hosts
	// +kubebuilder:example:="internal.example.org,*.dev.example.org"
	HostRestrictions string `json:"hostRestrictions,omitempty"`

	// Overrides the default image
	ImageRef ImageRefSpec `json:"imageRef,omitempty"`

	// Enables automatic restarts of EdgeConnect pods in case a new version is available (the default value is: true)
	// +kubebuilder:default:=true
	AutoUpdate bool `json:"autoUpdate"`

	// Pull secret for your private registry
	CustomPullSecret string `json:"customPullSecret,omitempty"`

	// Adds additional annotations to the EdgeConnect pods
	Annotations map[string]string `json:"annotations,omitempty"`

	// Adds additional labels to the EdgeConnect pods
	Labels map[string]string `json:"labels,omitempty"`

	// Adds additional environment variables to the EdgeConnect pods
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Amount of replicas for your EdgeConnect (the default value is: 1)
	// +kubebuilder:default:=1
	Replicas *int32 `json:"replicas"`

	// Defines resources requests and limits for single pods
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Node selector to control the selection of nodes for the EdgeConnect pods
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Sets tolerations for the EdgeConnect pods
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// Sets topology spread constraints for the EdgeConnect pods
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`

	// Host patterns to be set in the tenant, only considered when provisioning is enabled.
	// +kubebuilder:validation:Optional
	HostPatterns []string `json:"hostPatterns,omitempty"`
}

EdgeConnectSpec defines the desired state of EdgeConnect.

func (*EdgeConnectSpec) DeepCopy

func (in *EdgeConnectSpec) DeepCopy() *EdgeConnectSpec

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

func (*EdgeConnectSpec) DeepCopyInto

func (in *EdgeConnectSpec) DeepCopyInto(out *EdgeConnectSpec)

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

type EdgeConnectStatus

type EdgeConnectStatus struct {
	// Defines the current state (Running, Updating, Error, ...)
	DeploymentPhase status.DeploymentPhase `json:"phase,omitempty"`

	// Version used for the Edgeconnect image
	Version status.VersionStatus `json:"version,omitempty"`

	// Indicates when the resource was last updated
	UpdatedTimestamp metav1.Time `json:"updatedTimestamp,omitempty"`

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

EdgeConnectStatus defines the observed state of EdgeConnect.

func (*EdgeConnectStatus) DeepCopy

func (in *EdgeConnectStatus) DeepCopy() *EdgeConnectStatus

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

func (*EdgeConnectStatus) DeepCopyInto

func (in *EdgeConnectStatus) DeepCopyInto(out *EdgeConnectStatus)

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

func (*EdgeConnectStatus) SetPhase

func (dk *EdgeConnectStatus) SetPhase(phase status.DeploymentPhase) bool

SetPhase sets the status phase on the EdgeConnect object.

type ImageRefSpec

type ImageRefSpec struct {
	// Custom EdgeConnect image repository
	// +kubebuilder:example:="docker.io/dynatrace/edgeconnect"
	Repository string `json:"repository,omitempty"`

	// Indicates version of the EdgeConnect image to use
	Tag string `json:"tag,omitempty"`
}

func (*ImageRefSpec) DeepCopy

func (in *ImageRefSpec) DeepCopy() *ImageRefSpec

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

func (*ImageRefSpec) DeepCopyInto

func (in *ImageRefSpec) DeepCopyInto(out *ImageRefSpec)

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

type OAuthSpec

type OAuthSpec struct {
	// Name of the secret that holds oauth clientId/secret
	// +kubebuilder:validation:Required
	ClientSecret string `json:"clientSecret"`
	// Token endpoint URL of Dynatrace SSO
	// +kubebuilder:validation:Required
	Endpoint string `json:"endpoint"`
	// URN identifying your account. You get the URN when creating the OAuth client
	// +kubebuilder:validation:Required
	Resource string `json:"resource"`
	// Determines if the operator will create the EdgeConnect and light OAuth client on the cluster using the credentials provided. Requires more scopes than default behavior.
	// +kubebuilder:validation:Optional
	Provisioner bool `json:"provisioner"`
}

func (*OAuthSpec) DeepCopy

func (in *OAuthSpec) DeepCopy() *OAuthSpec

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

func (*OAuthSpec) DeepCopyInto

func (in *OAuthSpec) DeepCopyInto(out *OAuthSpec)

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