activegate

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: May 7, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	AnnotationFeaturePrefix = "feature.dynatrace.com/"

	// General.
	AnnotationFeaturePublicRegistry = AnnotationFeaturePrefix + "public-registry"

	// Deprecated: AnnotationFeatureDisableActiveGateUpdates use AnnotationFeatureActiveGateUpdates instead.
	AnnotationFeatureDisableActiveGateUpdates = AnnotationFeaturePrefix + "disable-activegate-updates"

	AnnotationFeatureActiveGateUpdates = AnnotationFeaturePrefix + "activegate-updates"

	AnnotationFeatureActiveGateAppArmor                   = AnnotationFeaturePrefix + "activegate-apparmor"
	AnnotationFeatureAutomaticK8sApiMonitoring            = AnnotationFeaturePrefix + "automatic-kubernetes-api-monitoring"
	AnnotationFeatureAutomaticK8sApiMonitoringClusterName = AnnotationFeaturePrefix + "automatic-kubernetes-api-monitoring-cluster-name"
	AnnotationFeatureK8sAppEnabled                        = AnnotationFeaturePrefix + "k8s-app-enabled"
	AnnotationFeatureActiveGateIgnoreProxy                = AnnotationFeaturePrefix + "activegate-ignore-proxy"

	AnnotationFeatureNoProxy             = AnnotationFeaturePrefix + "no-proxy"
	AnnotationFeatureApiRequestThreshold = AnnotationFeaturePrefix + "dynatrace-api-request-threshold"
)
View Source
const (
	ActiveGateTenantSecretSuffix            = "-activegate-tenant-secret"
	ActiveGateConnectionInfoConfigMapSuffix = "-activegate-connection-info"
	AuthTokenSecretSuffix                   = "-activegate-authtoken-secret"
)
View Source
const (
	DefaultMinRequestThresholdMinutes = 15
)

Variables

View Source
var (
	RoutingCapability = Capability{
		DisplayName:  "routing",
		ShortName:    "routing",
		ArgumentName: "MSGrouter",
	}

	KubeMonCapability = Capability{
		DisplayName:  "kubernetes-monitoring",
		ShortName:    "kubemon",
		ArgumentName: "kubernetes_monitoring",
	}

	MetricsIngestCapability = Capability{
		DisplayName:  "metrics-ingest",
		ShortName:    "metrics-ingest",
		ArgumentName: "metrics_ingest",
	}

	DynatraceApiCapability = Capability{
		DisplayName:  "dynatrace-api",
		ShortName:    "dynatrace-api",
		ArgumentName: "restInterface",
	}
)
View Source
var ActiveGateDisplayNames = map[CapabilityDisplayName]struct{}{
	RoutingCapability.DisplayName:       {},
	KubeMonCapability.DisplayName:       {},
	MetricsIngestCapability.DisplayName: {},
	DynatraceApiCapability.DisplayName:  {},
}

Functions

This section is empty.

Types

type ActiveGate

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

	Status ActiveGateStatus `json:"status,omitempty"`

	Spec SpecBasis `json:"spec,omitempty"`
}

ActiveGate is the Schema for the ActiveGate API +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=activegates,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 (*ActiveGate) ActiveGateAuthTokenSecret

func (activeGate *ActiveGate) ActiveGateAuthTokenSecret() string

ActiveGateAuthTokenSecret returns the name of the secret containing the ActiveGateAuthToken, which is mounted to the AGs.

func (*ActiveGate) ActiveGateConnectionInfoConfigMapName

func (activeGate *ActiveGate) ActiveGateConnectionInfoConfigMapName() string

func (*ActiveGate) ActiveGateImage

func (activeGate *ActiveGate) ActiveGateImage() string

ActiveGateImage provides the image reference set in Status for the ActiveGate. Format: repo@sha256:digest.

func (*ActiveGate) ActiveGateMode

func (activeGate *ActiveGate) ActiveGateMode() bool

func (*ActiveGate) ActivegateTenantSecret

func (activeGate *ActiveGate) ActivegateTenantSecret() string

ActivegateTenantSecret returns the name of the secret containing tenant UUID, token and communication endpoints for ActiveGate.

func (*ActiveGate) ApiUrl

func (activeGate *ActiveGate) ApiUrl() string

ApiUrl is a getter for activeGate.Spec.Specific.APIURL.

func (*ActiveGate) ApiUrlHost

func (activeGate *ActiveGate) ApiUrlHost() string

ApiUrlHost returns the host of activeGate.Spec.Specific.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 (*ActiveGate) CustomActiveGateImage

func (activeGate *ActiveGate) CustomActiveGateImage() string

CustomActiveGateImage provides the image reference for the ActiveGate provided in the Spec.

func (*ActiveGate) DeepCopy

func (in *ActiveGate) DeepCopy() *ActiveGate

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

func (*ActiveGate) DeepCopyInto

func (in *ActiveGate) DeepCopyInto(out *ActiveGate)

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

func (*ActiveGate) DeepCopyObject

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

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

func (*ActiveGate) DefaultActiveGateImage

func (activeGate *ActiveGate) DefaultActiveGateImage() string

DefaultActiveGateImage provides the image reference for the ActiveGate from tenant registry. Format: repo:tag.

func (*ActiveGate) FeatureActiveGateAppArmor

func (activeGate *ActiveGate) FeatureActiveGateAppArmor() bool

FeatureActiveGateAppArmor is a feature flag to enable AppArmor in ActiveGate container.

func (*ActiveGate) FeatureActiveGateIgnoreProxy

func (activeGate *ActiveGate) FeatureActiveGateIgnoreProxy() bool

FeatureActiveGateIgnoreProxy is a feature flag to ignore the proxy for ActiveGate when set in CR.

func (*ActiveGate) FeatureApiRequestThreshold

func (activeGate *ActiveGate) FeatureApiRequestThreshold() time.Duration

func (*ActiveGate) FeatureAutomaticKubernetesApiMonitoring

func (activeGate *ActiveGate) 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 (*ActiveGate) FeatureAutomaticKubernetesApiMonitoringClusterName

func (activeGate *ActiveGate) FeatureAutomaticKubernetesApiMonitoringClusterName() string

FeatureAutomaticKubernetesApiMonitoringClusterName is a feature flag to set custom cluster name for automatic-kubernetes-api-monitoring.

func (*ActiveGate) FeatureDisableActiveGateUpdates

func (activeGate *ActiveGate) FeatureDisableActiveGateUpdates() bool

FeatureDisableActiveGateUpdates is a feature flag to disable ActiveGate updates.

func (*ActiveGate) FeatureEnableK8sAppEnabled

func (activeGate *ActiveGate) FeatureEnableK8sAppEnabled() bool

FeatureEnableK8sAppEnabled is a feature flag to enable automatically enable current Kubernetes cluster for the Kubernetes app.

func (*ActiveGate) FeatureNoProxy

func (activeGate *ActiveGate) FeatureNoProxy() string

FeatureNoProxy is a feature flag to set the NO_PROXY value to be used by the dtClient.

func (*ActiveGate) FeaturePublicRegistry

func (activeGate *ActiveGate) FeaturePublicRegistry() bool

func (*ActiveGate) HasActiveGateCaCert

func (activeGate *ActiveGate) HasActiveGateCaCert() bool

func (*ActiveGate) IsActiveGateConnectionInfoUpdateAllowed

func (activeGate *ActiveGate) IsActiveGateConnectionInfoUpdateAllowed(timeProvider *timeprovider.Provider) bool

func (*ActiveGate) IsActiveGateMode

func (activeGate *ActiveGate) IsActiveGateMode(mode CapabilityDisplayName) bool

func (*ActiveGate) IsApiActiveGateEnabled

func (activeGate *ActiveGate) IsApiActiveGateEnabled() bool

func (*ActiveGate) IsKubernetesMonitoringActiveGateEnabled

func (activeGate *ActiveGate) IsKubernetesMonitoringActiveGateEnabled() bool

func (*ActiveGate) IsMetricsIngestActiveGateEnabled

func (activeGate *ActiveGate) IsMetricsIngestActiveGateEnabled() bool

func (*ActiveGate) IsRoutingActiveGateEnabled

func (activeGate *ActiveGate) IsRoutingActiveGateEnabled() bool

func (*ActiveGate) NeedsActiveGateService

func (activeGate *ActiveGate) NeedsActiveGateService() bool

func (*ActiveGate) NeedsActiveGateServicePorts

func (activeGate *ActiveGate) NeedsActiveGateServicePorts() bool

func (*ActiveGate) TenantUUIDFromApiUrl

func (activeGate *ActiveGate) TenantUUIDFromApiUrl() (string, error)

TenantUUIDFromApiUrl gets the tenantUUID from the ApiUrl present in the struct, if the tenant is aliased then the alias will be returned.

func (*ActiveGate) Tokens

func (activeGate *ActiveGate) Tokens() string

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

func (*ActiveGate) UpdateStatus

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

type ActiveGateList

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

ActiveGateList contains a list of ActiveGate +k8s:openapi-gen=true +kubebuilder:object:root=true

func (*ActiveGateList) DeepCopy

func (in *ActiveGateList) DeepCopy() *ActiveGateList

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

func (*ActiveGateList) DeepCopyInto

func (in *ActiveGateList) DeepCopyInto(out *ActiveGateList)

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

func (*ActiveGateList) DeepCopyObject

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

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

type ActiveGateStatus

type ActiveGateStatus struct {

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

	status.VersionStatus `json:",inline"`

	// Information about Active Gate's connections
	ConnectionInfoStatus ConnectionInfoStatus `json:"connectionInfoStatus,omitempty"`
	// Defines the current state (Running, Updating, Error, ...)
	DeploymentPhase status.DeploymentPhase `json:"phase,omitempty"`

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

ActiveGateStatus defines the observed state of ActiveGate.

func (*ActiveGateStatus) DeepCopy

func (in *ActiveGateStatus) DeepCopy() *ActiveGateStatus

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

func (*ActiveGateStatus) DeepCopyInto

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

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

func (*ActiveGateStatus) SetPhase

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

SetPhase sets the status phase on the ActiveGate object.

type Capability

type Capability 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 (*Capability) DeepCopy

func (in *Capability) DeepCopy() *Capability

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

func (*Capability) DeepCopyInto

func (in *Capability) DeepCopyInto(out *Capability)

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

	// The ActiveGate container image. Defaults to the latest ActiveGate image provided by the registry on the tenant
	// +optional
	// +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"`

	// Set activation group for ActiveGate
	// +optional
	// +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"`

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

	// Define resources requests and limits for single ActiveGate pods
	// +optional
	// +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"`

	// Node selector to control the selection of nodes
	// +optional
	// +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"`

	// Set tolerations for the ActiveGate pods
	// +optional
	// +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"`

	// Adds additional labels for the ActiveGate pods
	// +optional
	// +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"`

	// List of environment variables to set for the ActiveGate
	// +optional
	// +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"`

	// Adds TopologySpreadConstraints for the ActiveGate pods
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="topologySpreadConstraints",order=40,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:hidden"}
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}

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

func (*CapabilityProperties) DeepCopy

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 CommonSpec

type CommonSpec struct {
	// Set custom proxy settings either directly or from a secret with the field proxy.
	// Note: Applies to Dynatrace Operator, ActiveGate, and OneAgents.
	// +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 *dynatracev1beta1.DynaKubeProxy `json:"proxy,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
	// +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.
	// +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"`

	// Sets a network zone for the OneAgent and ActiveGate pods.
	// +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"`

	// Disable certificate check for the connection between Dynatrace Operator and the Dynatrace Cluster.
	// Set to true if you want to skip certification validation checks.
	// +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"`
}

func (*CommonSpec) DeepCopy

func (in *CommonSpec) DeepCopy() *CommonSpec

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

func (*CommonSpec) DeepCopyInto

func (in *CommonSpec) DeepCopyInto(out *CommonSpec)

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

type ConnectionInfoStatus

type ConnectionInfoStatus struct {
	// Time of the last connection request
	LastRequest metav1.Time `json:"lastRequest,omitempty"`
	// UUID of the tenant, received from the tenant
	TenantUUID string `json:"tenantUUID,omitempty"`

	// Available connection endpoints
	Endpoints string `json:"endpoints,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 SpecBasis

type SpecBasis struct {
	Common   CommonSpec   `json:",inline"`
	Specific SpecificSpec `json:",inline"`
}

func (*SpecBasis) DeepCopy

func (in *SpecBasis) DeepCopy() *SpecBasis

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

func (*SpecBasis) DeepCopyInto

func (in *SpecBasis) DeepCopyInto(out *SpecBasis)

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

type SpecificSpec

type SpecificSpec struct {

	// Adds additional annotations to the ActiveGate pods
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Annotations",order=27,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Annotations map[string]string `json:"annotations,omitempty"`

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

	// Sets DNS Policy for the ActiveGate pods
	// +optional
	// +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"`

	// If specified, indicates the pod's priority. Name must be defined by creating a PriorityClass object with that
	// name. If not specified the setting will be removed from the StatefulSet.
	// +optional
	// +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"`

	CapabilityProperties `json:",inline"`

	// Activegate capabilities enabled (routing, kubernetes-monitoring, metrics-ingest, dynatrace-api)
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Capabilities",order=10,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced","urn:alm:descriptor:com.tectonic.ui:text"}
	Capabilities []CapabilityDisplayName `json:"capabilities,omitempty"`
}

func (*SpecificSpec) DeepCopy

func (in *SpecificSpec) DeepCopy() *SpecificSpec

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

func (*SpecificSpec) DeepCopyInto

func (in *SpecificSpec) DeepCopyInto(out *SpecificSpec)

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

type ValueSource

type ValueSource struct {
	// Custom properties value.
	// +nullable
	// +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"`

	// Custom properties secret.
	// +nullable
	// +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 (*ValueSource) DeepCopy

func (in *ValueSource) DeepCopy() *ValueSource

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

func (*ValueSource) DeepCopyInto

func (in *ValueSource) DeepCopyInto(out *ValueSource)

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