Documentation
¶
Overview ¶
+kubebuilder:object:generate=true +groupName=dynatrace.com +versionName=v1alpha1 +kubebuilder:validation:Optional
Index ¶
- Constants
- Variables
- type ActiveGate
- func (activeGate *ActiveGate) ActiveGateAuthTokenSecret() string
- func (activeGate *ActiveGate) ActiveGateConnectionInfoConfigMapName() string
- func (activeGate *ActiveGate) ActiveGateImage() string
- func (activeGate *ActiveGate) ActiveGateMode() bool
- func (activeGate *ActiveGate) ActivegateTenantSecret() string
- func (activeGate *ActiveGate) ApiUrl() string
- func (activeGate *ActiveGate) ApiUrlHost() string
- func (activeGate *ActiveGate) CustomActiveGateImage() string
- func (in *ActiveGate) DeepCopy() *ActiveGate
- func (in *ActiveGate) DeepCopyInto(out *ActiveGate)
- func (in *ActiveGate) DeepCopyObject() runtime.Object
- func (activeGate *ActiveGate) DefaultActiveGateImage() string
- func (activeGate *ActiveGate) FeatureActiveGateAppArmor() bool
- func (activeGate *ActiveGate) FeatureActiveGateIgnoreProxy() bool
- func (activeGate *ActiveGate) FeatureApiRequestThreshold() time.Duration
- func (activeGate *ActiveGate) FeatureAutomaticKubernetesApiMonitoring() bool
- func (activeGate *ActiveGate) FeatureAutomaticKubernetesApiMonitoringClusterName() string
- func (activeGate *ActiveGate) FeatureDisableActiveGateUpdates() bool
- func (activeGate *ActiveGate) FeatureEnableK8sAppEnabled() bool
- func (activeGate *ActiveGate) FeatureNoProxy() string
- func (activeGate *ActiveGate) FeaturePublicRegistry() bool
- func (activeGate *ActiveGate) HasActiveGateCaCert() bool
- func (activeGate *ActiveGate) IsActiveGateConnectionInfoUpdateAllowed(timeProvider *timeprovider.Provider) bool
- func (activeGate *ActiveGate) IsActiveGateMode(mode CapabilityDisplayName) bool
- func (activeGate *ActiveGate) IsApiActiveGateEnabled() bool
- func (activeGate *ActiveGate) IsKubernetesMonitoringActiveGateEnabled() bool
- func (activeGate *ActiveGate) IsMetricsIngestActiveGateEnabled() bool
- func (activeGate *ActiveGate) IsRoutingActiveGateEnabled() bool
- func (activeGate *ActiveGate) NeedsActiveGateService() bool
- func (activeGate *ActiveGate) NeedsActiveGateServicePorts() bool
- func (activeGate *ActiveGate) TenantUUIDFromApiUrl() (string, error)
- func (activeGate *ActiveGate) Tokens() string
- func (dk *ActiveGate) UpdateStatus(ctx context.Context, client client.Client) error
- type ActiveGateList
- type ActiveGateStatus
- type Capability
- type CapabilityDisplayName
- type CapabilityProperties
- type CommonSpec
- type ConnectionInfoStatus
- type SpecBasis
- type SpecificSpec
- type ValueSource
Constants ¶
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" )
const ( ActiveGateTenantSecretSuffix = "-activegate-tenant-secret" ActiveGateConnectionInfoConfigMapSuffix = "-activegate-connection-info" AuthTokenSecretSuffix = "-activegate-authtoken-secret" )
const (
DefaultMinRequestThresholdMinutes = 15
)
Variables ¶
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", } )
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 ¶
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 ¶
func (in *CapabilityProperties) DeepCopy() *CapabilityProperties
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 ¶
func (in *ConnectionInfoStatus) DeepCopy() *ConnectionInfoStatus
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecBasis.
func (*SpecBasis) DeepCopyInto ¶
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.