v1

package
v0.0.0-...-cac9635 Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	// ExposeTypeNodePort means a service will be exposed on one port of
	// every node, in addition to 'ClusterIP' type.
	ExposeTypeNodePort = ExposeType(corev1.ServiceTypeNodePort)

	// ExposeTypeLoadBalancer means a service will be exposed via an
	// external load balancer (if the cloud provider supports it), in addition
	// to 'NodePort' type.
	ExposeTypeLoadBalancer = ExposeType(corev1.ServiceTypeLoadBalancer)

	// ExposeTypeRoute means the service will be exposed via
	// `Route` on Openshift or via `Ingress` on Kubernetes
	ExposeTypeRoute ExposeType = "Route"
)
View Source
const (
	// CrossSiteExposeTypeNodePort means a service will be exposed on one port of
	// every node, in addition to 'ClusterIP' type.
	CrossSiteExposeTypeNodePort = CrossSiteExposeType(corev1.ServiceTypeNodePort)

	// CrossSiteExposeTypeLoadBalancer means a service will be exposed via an
	// external load balancer (if the cloud provider supports it), in addition
	// to 'NodePort' type.
	CrossSiteExposeTypeLoadBalancer = CrossSiteExposeType(corev1.ServiceTypeLoadBalancer)

	// CrossSiteExposeTypeClusterIP means an internal 'ClusterIP'
	// service will be created without external exposition
	CrossSiteExposeTypeClusterIP = CrossSiteExposeType(corev1.ServiceTypeClusterIP)

	// CrossSiteExposeTypeRoute route
	CrossSiteExposeTypeRoute = "Route"
)
View Source
const (
	CrossSiteSchemeTypeKubernetes = "kubernetes"
	CrossSiteSchemeTypeMinikube   = "minikube"
	CrossSiteSchemeTypeOpenShift  = "openshift"
)
View Source
const (
	// PodTargetLabels labels propagated to pods
	PodTargetLabels string = "infinispan.org/podTargetLabels"
	// TargetLabels labels propagated to services/ingresses/routes
	TargetLabels string = "infinispan.org/targetLabels"
	// ServiceMonitorTargetLabels labels propagated to ServiceMonitor targetLabel for the label retainment
	ServiceMonitorTargetLabels string = "infinispan.org/serviceMonitorTargetLabels"
	// OperatorPodTargetLabels labels propagated by the operator to pods
	OperatorPodTargetLabels string = "infinispan.org/operatorPodTargetLabels"
	// OperatorTargetLabels labels propagated by the operator to services/ingresses/routes
	OperatorTargetLabels string = "infinispan.org/operatorTargetLabels"
	// OperatorTargetLabelsEnvVarName is the name of the envvar containing operator label/value map for services/ingresses/routes
	OperatorTargetLabelsEnvVarName string = "INFINISPAN_OPERATOR_TARGET_LABELS"
	// OperatorPodTargetLabelsEnvVarName is the name of the envvar containing operator label/value map for pods
	OperatorPodTargetLabelsEnvVarName string = "INFINISPAN_OPERATOR_POD_TARGET_LABELS"

	// PodTargetAnnotations annotations propagated to pods
	PodTargetAnnotations string = "infinispan.org/podTargetAnnotations"
	// TargetAnnotations annotations propagated to services/ingresses/routes
	TargetAnnotations string = "infinispan.org/targetAnnotations"
	// OperatorPodTargetAnnotations annotations propagated by the operator to pods
	OperatorPodTargetAnnotations string = "infinispan.org/operatorPodTargetAnnotations"
	// OperatorTargetAnnotations annotations propagated by the operator to services/ingresses/routes
	OperatorTargetAnnotations string = "infinispan.org/operatorTargetAnnotations"
	// OperatorTargetAnnotationsEnvVarName is the name of the envvar containing operator label/value map for services/ingresses/routes
	OperatorTargetAnnotationsEnvVarName string = "INFINISPAN_OPERATOR_TARGET_ANNOTATIONS"
	// OperatorPodTargetAnnotationsEnvVarName is the name of the envvar containing operator label/value map for pods
	OperatorPodTargetAnnotationsEnvVarName string = "INFINISPAN_OPERATOR_POD_TARGET_ANNOTATIONS"

	// OperatorOperandVersionEnvVarName is the name of the envvar containing the supported operand json
	OperatorOperandVersionEnvVarName string = "INFINISPAN_OPERAND_VERSIONS"

	// RouterAnnotations annotations for GossipRouter deployment
	RouterAnnotations string = "infinispan.org/routerAnnotations"

	MaxRouteObjectNameLength = 63

	// ServiceMonitoringAnnotation defines if we need to create ServiceMonitor or not
	ServiceMonitoringAnnotation string = "infinispan.org/monitoring"

	SiteServiceNameTemplate = "%v-site"
	SiteRouteNameSuffix     = "-route-site"
	SiteServiceFQNTemplate  = "%s.%s.svc.cluster.local"

	GossipRouterDeploymentNameTemplate = "%s-router"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "infinispan.org", Version: "v1"}

	// 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 (
	ServingCertsMode string
)

Functions

func LoadDefaultLabelsAndAnnotations

func LoadDefaultLabelsAndAnnotations() (labels map[string]string, annotations map[string]string, err error)

LoadDefaultLabelsAndAnnotations initialises default operator labels to be propagated to pods and services Env vars INFINISPAN_OPERATOR_TARGET_LABELS, INFINISPAN_OPERATOR_POD_TARGET_LABELS must contain a json map of labels, the former will be applied to services/ingresses/routes, the latter to pods

Types

type Authorization

type Authorization struct {
	// +optional
	Enabled bool `json:"enabled,omitempty"`
	// +optional
	Roles []AuthorizationRole `json:"roles,omitempty"`
}

func (*Authorization) DeepCopy

func (in *Authorization) DeepCopy() *Authorization

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

func (*Authorization) DeepCopyInto

func (in *Authorization) DeepCopyInto(out *Authorization)

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

type AuthorizationRole

type AuthorizationRole struct {
	Name        string   `json:"name"`
	Permissions []string `json:"permissions"`
}

func (*AuthorizationRole) DeepCopy

func (in *AuthorizationRole) DeepCopy() *AuthorizationRole

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

func (*AuthorizationRole) DeepCopyInto

func (in *AuthorizationRole) DeepCopyInto(out *AuthorizationRole)

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

type Autoscale

type Autoscale struct {
	MaxReplicas        int32 `json:"maxReplicas"`
	MinReplicas        int32 `json:"minReplicas"`
	MaxMemUsagePercent int   `json:"maxMemUsagePercent"`
	MinMemUsagePercent int   `json:"minMemUsagePercent"`
	// +optional
	Disabled bool `json:"disabled,omitempty"`
}

Autoscale describe autoscaling configuration for the cluster

func (*Autoscale) DeepCopy

func (in *Autoscale) DeepCopy() *Autoscale

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

func (*Autoscale) DeepCopyInto

func (in *Autoscale) DeepCopyInto(out *Autoscale)

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

type CertificateSourceType

type CertificateSourceType string

CertificateSourceType specifies all the possible sources for the encryption certificate +kubebuilder:validation:Enum=Service;service;Secret;secret;None

const (
	// CertificateSourceTypeService certificate coming from a cluster service
	CertificateSourceTypeService CertificateSourceType = "Service"
	// CertificateSourceTypeServiceLowCase certificate coming from a cluster service
	CertificateSourceTypeServiceLowCase CertificateSourceType = "service"

	// CertificateSourceTypeSecret certificate coming from a user provided secret
	CertificateSourceTypeSecret CertificateSourceType = "Secret"
	// CertificateSourceTypeSecretLowCase certificate coming from a user provided secret
	CertificateSourceTypeSecretLowCase CertificateSourceType = "secret"

	// CertificateSourceTypeNoneNoEncryption no certificate encryption disabled
	CertificateSourceTypeNoneNoEncryption CertificateSourceType = "None"
)

type ClientCertType

type ClientCertType string

ClientCertType specifies a client certificate validation mechanism. +kubebuilder:validation:Enum=None;Authenticate;Validate

const (
	// No client certificates required
	ClientCertNone ClientCertType = "None"
	// All client certificates must be in the configured truststore.
	ClientCertAuthenticate ClientCertType = "Authenticate"
	// Client certificates are validated against the CA in the truststore. It is not required for all client certificates to be contained in the trustore.
	ClientCertValidate ClientCertType = "Validate"
)

type ConditionType

type ConditionType string
const (
	ConditionPrelimChecksPassed  ConditionType = "PreliminaryChecksPassed"
	ConditionGracefulShutdown    ConditionType = "GracefulShutdown"
	ConditionScalingDown         ConditionType = "ScalingDown"
	ConditionScalingUp           ConditionType = "ScalingUp"
	ConditionStopping            ConditionType = "Stopping"
	ConditionUpgrade             ConditionType = "Upgrade"
	ConditionWellFormed          ConditionType = "WellFormed"
	ConditionCrossSiteViewFormed ConditionType = "CrossSiteViewFormed"
	ConditionGossipRouterReady   ConditionType = "GossipRouterReady"
	ConditionTLSSecretValid      ConditionType = "TLSSecretValid"
)

type ConfigListenerLogLevel

type ConfigListenerLogLevel string

+kubebuilder:validation:Enum=debug;info;error

const (
	ConfigListenerLoggingDebug ConfigListenerLogLevel = "debug"
	ConfigListenerLoggingInfo  ConfigListenerLogLevel = "info"
	ConfigListenerLoggingError ConfigListenerLogLevel = "error"
)

type ConfigListenerLoggingSpec

type ConfigListenerLoggingSpec struct {
	// The logging level to be used by the ConfigListener pod
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Logging Level",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:select:debug", "urn:alm:descriptor:com.tectonic.ui:select:info", "urn:alm:descriptor:com.tectonic.ui:select:error"}
	Level ConfigListenerLogLevel `json:"level"`
}

func (*ConfigListenerLoggingSpec) DeepCopy

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

func (*ConfigListenerLoggingSpec) DeepCopyInto

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

type ConfigListenerSpec

type ConfigListenerSpec struct {
	// If true, a dedicated pod is used to ensure that all config resources created on the Infinispan server have a matching CR resource
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Toggle Config Listener",xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	Enabled bool `json:"enabled"`
	// ConfigListener logging configuration
	// +optional
	Logging *ConfigListenerLoggingSpec `json:"logging,omitempty"`
	// +optional
	Memory string `json:"memory,omitempty"`
	// +optional
	CPU string `json:"cpu,omitempty"`
}

func (*ConfigListenerSpec) CpuResources

func (spec *ConfigListenerSpec) CpuResources() (requests resource.Quantity, limits resource.Quantity, err error)

CpuResources returns the CPU request and limit values to be used by pods

func (*ConfigListenerSpec) DeepCopy

func (in *ConfigListenerSpec) DeepCopy() *ConfigListenerSpec

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

func (*ConfigListenerSpec) DeepCopyInto

func (in *ConfigListenerSpec) DeepCopyInto(out *ConfigListenerSpec)

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

func (*ConfigListenerSpec) MemoryResources

func (spec *ConfigListenerSpec) MemoryResources() (requests resource.Quantity, limits resource.Quantity, err error)

MemoryResources returns the Memory request and limit values to be used by pods

type ContainerProbeSpec

type ContainerProbeSpec struct {
	// Number of seconds after the container has started before liveness probes are initiated.
	// +optional
	InitialDelaySeconds *int32 `json:"initialDelaySeconds,omitempty"`
	// Number of seconds after which the probe times out.
	// +optional
	TimeoutSeconds *int32 `json:"timeoutSeconds,omitempty"`
	// How often (in seconds) to perform the probe.
	// +optional
	PeriodSeconds *int32 `json:"periodSeconds,omitempty"`
	// Minimum consecutive successes for the probe to be considered successful after having failed.
	// +optional
	SuccessThreshold *int32 `json:"successThreshold,omitempty"`
	// Minimum consecutive failures for the probe to be considered failed after having succeeded.
	// +optional
	FailureThreshold *int32 `json:"failureThreshold,omitempty"`
}

func (*ContainerProbeSpec) AssignDefaults

func (c *ContainerProbeSpec) AssignDefaults(failureThreshold, initialDelay, period, successThreshold, timeout int32)

func (*ContainerProbeSpec) DeepCopy

func (in *ContainerProbeSpec) DeepCopy() *ContainerProbeSpec

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

func (*ContainerProbeSpec) DeepCopyInto

func (in *ContainerProbeSpec) DeepCopyInto(out *ContainerProbeSpec)

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

type CrossSiteExposeSpec

type CrossSiteExposeSpec struct {
	// Type specifies different exposition methods for data grid
	Type CrossSiteExposeType `json:"type"`
	// +optional
	NodePort int32 `json:"nodePort,omitempty"`
	// +optional
	Port int32 `json:"port,omitempty"`
	// RouteHostName optionally, specifies a custom hostname to be used by Openshift Route.
	// +optional
	RouteHostName string `json:"routeHostName,omitempty"`
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

CrossSiteExposeSpec describe how Infinispan Cross-Site service will be exposed externally

func (*CrossSiteExposeSpec) DeepCopy

func (in *CrossSiteExposeSpec) DeepCopy() *CrossSiteExposeSpec

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

func (*CrossSiteExposeSpec) DeepCopyInto

func (in *CrossSiteExposeSpec) DeepCopyInto(out *CrossSiteExposeSpec)

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

type CrossSiteExposeType

type CrossSiteExposeType string

CrossSiteExposeType describe different exposition methods for Infinispan Cross-Site service +kubebuilder:validation:Enum=NodePort;LoadBalancer;ClusterIP;Route

type CrossSiteKeyStore

type CrossSiteKeyStore struct {
	SecretName string `json:"secretName"`
	// +optional
	Alias string `json:"alias,omitempty"`
	// +optional
	Filename string `json:"filename,omitempty"`
}

CrossSiteKeyStore keystore configuration for cross-site replication with TLS

func (*CrossSiteKeyStore) DeepCopy

func (in *CrossSiteKeyStore) DeepCopy() *CrossSiteKeyStore

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

func (*CrossSiteKeyStore) DeepCopyInto

func (in *CrossSiteKeyStore) DeepCopyInto(out *CrossSiteKeyStore)

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

type CrossSiteSchemeType

type CrossSiteSchemeType string

CrossSiteSchemeType specifies the supported url scheme's allowed in InfinispanSiteLocationSpec.URL

type CrossSiteTrustStore

type CrossSiteTrustStore struct {
	SecretName string `json:"secretName"`
	// +optional
	Filename string `json:"filename,omitempty"`
}

CrossSiteTrustStore truststore configuration for cross-site replication with TLS

func (*CrossSiteTrustStore) DeepCopy

func (in *CrossSiteTrustStore) DeepCopy() *CrossSiteTrustStore

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

func (*CrossSiteTrustStore) DeepCopyInto

func (in *CrossSiteTrustStore) DeepCopyInto(out *CrossSiteTrustStore)

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

type DeploymentStatus

type DeploymentStatus struct {
	// Deployments are ready to serve requests
	Ready []string `json:"ready,omitempty"`
	// Deployments are starting, may or may not succeed
	Starting []string `json:"starting,omitempty"`
	// Deployments are not starting, unclear what next step will be
	Stopped []string `json:"stopped,omitempty"`
}

func (*DeploymentStatus) DeepCopy

func (in *DeploymentStatus) DeepCopy() *DeploymentStatus

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

func (*DeploymentStatus) DeepCopyInto

func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)

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

type DiscoverySiteSpec

type DiscoverySiteSpec struct {
	// Configures the discovery mode for cross-site replication
	// +optional
	Type DiscoverySiteType `json:"type,omitempty"`
	// Enables (default) or disables the Gossip Router pod and cross-site services
	// +optional
	LaunchGossipRouter *bool `json:"launchGossipRouter,omitempty"`
	// Memory resource request for Gossip Router if enabled
	// +optional
	Memory string `json:"memory,omitempty"`
	// CPU resource request for Gossip Router if enabled
	// +optional
	CPU string `json:"cpu,omitempty"`
	// Enables the JGroups suspect events if the Gossip Router detects a connection closed
	// +optional
	SuspectEvents bool `json:"suspectEvents,omitempty"`
	// Configures the Gossip Router heartbeats to keep the connection open
	// +optional
	Heartbeats *GossipRouterHeartbeatSpec `json:"heartbeats,omitempty"`
}

DiscoverySiteSpec configures the corss-site replication discovery

func (*DiscoverySiteSpec) CpuResources

func (spec *DiscoverySiteSpec) CpuResources() (requests resource.Quantity, limits resource.Quantity, err error)

CpuResources returns the CPU request and limit values to be used by by Gossip Router pod

func (*DiscoverySiteSpec) DeepCopy

func (in *DiscoverySiteSpec) DeepCopy() *DiscoverySiteSpec

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

func (*DiscoverySiteSpec) DeepCopyInto

func (in *DiscoverySiteSpec) DeepCopyInto(out *DiscoverySiteSpec)

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

func (*DiscoverySiteSpec) MemoryResources

func (spec *DiscoverySiteSpec) MemoryResources() (requests resource.Quantity, limits resource.Quantity, err error)

MemoryResources returns the Memory request and limit values to be used by Gossip Router pod

type DiscoverySiteType

type DiscoverySiteType string

Specifies the discovery mode for cross-site configuration +kubebuilder:validation:Enum=gossiprouter

const (
	GossipRouterType DiscoverySiteType = "gossiprouter"
)

GossipRouterType is the only one supported but we may add other like submariner and/or skupper

type EncryptionSiteSpec

type EncryptionSiteSpec struct {
	// +optional
	Protocol          TLSProtocol       `json:"protocol,omitempty"`
	TransportKeyStore CrossSiteKeyStore `json:"transportKeyStore"`
	RouterKeyStore    CrossSiteKeyStore `json:"routerKeyStore"`
	// +optional
	TrustStore *CrossSiteTrustStore `json:"trustStore,omitempty"`
}

EncryptionSiteSpec enables TLS for cross-site replication

func (*EncryptionSiteSpec) DeepCopy

func (in *EncryptionSiteSpec) DeepCopy() *EncryptionSiteSpec

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

func (*EncryptionSiteSpec) DeepCopyInto

func (in *EncryptionSiteSpec) DeepCopyInto(out *EncryptionSiteSpec)

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

type EndpointEncryption

type EndpointEncryption struct {
	// Disable or modify endpoint encryption.
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Configure Encryption",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:select:Service","urn:alm:descriptor:com.tectonic.ui:select:Secret","urn:alm:descriptor:com.tectonic.ui:select:None"}
	Type CertificateSourceType `json:"type,omitempty"`
	// A service that provides TLS certificates
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Encryption Service",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text", "urn:alm:descriptor:com.tectonic.ui:fieldDependency:security.endpointEncryption.type:Service"}
	CertServiceName string `json:"certServiceName,omitempty"`
	// The secret that contains TLS certificates
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Encryption Secret",xDescriptors={"urn:alm:descriptor:io.kubernetes:Secret", "urn:alm:descriptor:com.tectonic.ui:fieldDependency:security.endpointEncryption.type:Secret"}
	CertSecretName string `json:"certSecretName,omitempty"`
	// +optional
	ClientCert ClientCertType `json:"clientCert,omitempty"`
	// +optional
	ClientCertSecretName string `json:"clientCertSecretName,omitempty"`
}

EndpointEncryption configuration

func (*EndpointEncryption) DeepCopy

func (in *EndpointEncryption) DeepCopy() *EndpointEncryption

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

func (*EndpointEncryption) DeepCopyInto

func (in *EndpointEncryption) DeepCopyInto(out *EndpointEncryption)

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

type ExposeSpec

type ExposeSpec struct {
	// Type specifies different exposition methods for data grid
	Type ExposeType `json:"type"`
	// +optional
	NodePort int32 `json:"nodePort,omitempty"`
	// +optional
	Port int32 `json:"port,omitempty"`
	// The network hostname for your Infinispan cluster
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Route Hostname",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text", "urn:alm:descriptor:com.tectonic.ui:fieldDependency:expose.type:Route"}
	Host string `json:"host,omitempty"`
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

ExposeSpec describe how Infinispan will be exposed externally

func (*ExposeSpec) DeepCopy

func (in *ExposeSpec) DeepCopy() *ExposeSpec

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

func (*ExposeSpec) DeepCopyInto

func (in *ExposeSpec) DeepCopyInto(out *ExposeSpec)

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

type ExposeType

type ExposeType string

ExposeType describe different exposition methods for Infinispan +kubebuilder:validation:Enum=NodePort;LoadBalancer;Route

type ExternalArtifactType

type ExternalArtifactType string

ExternalArtifactType defines external artifact file type +kubebuilder:validation:Enum=file;zip;tgz

const (
	ExternalArtifactTypeFile  ExternalArtifactType = "file"
	ExternalArtifactTypeZip   ExternalArtifactType = "zip"
	ExternalArtifactTypeTarGz ExternalArtifactType = "tgz"
)

type ExternalDependencyType

type ExternalDependencyType string

type GossipRouterHeartbeatSpec

type GossipRouterHeartbeatSpec struct {
	// Enables the Gossip Router heartbeats
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
	// Sends a heartbeat to the GossipRouter every interval milliseconds
	// +optional
	Interval *int64 `json:"interval,omitempty"`
	// Max time (millsecoonds) with no received message or heartbeat after which the connection to a GossipRouter is closed
	// +optional
	Timeout *int64 `json:"timeout,omitempty"`
}

func (*GossipRouterHeartbeatSpec) DeepCopy

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

func (*GossipRouterHeartbeatSpec) DeepCopyInto

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

type HotRodRollingUpgradeStage

type HotRodRollingUpgradeStage string
const (
	HotRodRollingStageStart              HotRodRollingUpgradeStage = "HotRodRollingStageStart"
	HotRodRollingStagePrepare            HotRodRollingUpgradeStage = "HotRodRollingStagePrepare"
	HotRodRollingStageRedirect           HotRodRollingUpgradeStage = "HotRodRollingStageRedirect"
	HotRodRollingStageSync               HotRodRollingUpgradeStage = "HotRodRollingStageSync"
	HotRodRollingStageStatefulSetReplace HotRodRollingUpgradeStage = "HotRodRollingStageStatefulSetReplace"
	HotRodRollingStageCleanup            HotRodRollingUpgradeStage = "HotRodRollingStageCleanup"
)

type HotRodRollingUpgradeStatus

type HotRodRollingUpgradeStatus struct {
	Stage                 HotRodRollingUpgradeStage `json:"stage,omitempty"`
	SourceStatefulSetName string                    `json:"SourceStatefulSetName,omitempty"`
	SourceVersion         string                    `json:"SourceVersion,omitempty"`
	TargetStatefulSetName string                    `json:"TargetStatefulSetName,omitempty"`
}

func (*HotRodRollingUpgradeStatus) DeepCopy

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

func (*HotRodRollingUpgradeStatus) DeepCopyInto

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

type ImageType

type ImageType string
const (
	// Container image based on JDK
	ImageTypeJVM ImageType = "JVM"

	// Container image based on Quarkus native runtime
	ImageTypeNative ImageType = "Native"
)

type Infinispan

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

	Spec   InfinispanSpec   `json:"spec,omitempty"`
	Status InfinispanStatus `json:"status,omitempty"`
}

Infinispan is the Schema for the infinispans API

func (*Infinispan) Affinity

func (ispn *Infinispan) Affinity() *corev1.Affinity

func (*Infinispan) ApplyEndpointEncryptionSettings

func (ispn *Infinispan) ApplyEndpointEncryptionSettings(servingCertsMode string)

ApplyEndpointEncryptionSettings compute the EndpointEncryption object

func (*Infinispan) ApplyMonitoringAnnotation

func (ispn *Infinispan) ApplyMonitoringAnnotation()

func (*Infinispan) ApplyOperatorMeta

func (i *Infinispan) ApplyOperatorMeta(defaultLabels, defaultAnnotations map[string]string)

func (*Infinispan) CrossSiteDiscoveryType

func (ispn *Infinispan) CrossSiteDiscoveryType() DiscoverySiteType

func (*Infinispan) DeepCopy

func (in *Infinispan) DeepCopy() *Infinispan

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

func (*Infinispan) DeepCopyInto

func (in *Infinispan) DeepCopyInto(out *Infinispan)

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

func (*Infinispan) DeepCopyObject

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

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

func (*Infinispan) Default

func (i *Infinispan) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Infinispan) EnsureClusterStability

func (ispn *Infinispan) EnsureClusterStability() error

func (*Infinispan) ExpectConditionStatus

func (ispn *Infinispan) ExpectConditionStatus(expected map[ConditionType]metav1.ConditionStatus) error

func (*Infinispan) ExternalServiceLabels

func (ispn *Infinispan) ExternalServiceLabels() map[string]string

ExternalServiceLabels returns all labels to be applied to the external service pods, including those defined by the user. It's values should never be used as a selector.

func (*Infinispan) ExternalServiceSelectorLabels

func (ispn *Infinispan) ExternalServiceSelectorLabels() map[string]string

ExternalServiceSelectorLabels returns the minimum required labels to identify an external service. It does not contain any user defined labels. This should always be used for selectors so that updates to user labels don't break the controller logic.

func (*Infinispan) GenerateSecretName

func (ispn *Infinispan) GenerateSecretName() string

func (*Infinispan) GetAdminSecretName

func (ispn *Infinispan) GetAdminSecretName() string

GetAdminSecretName returns the admin secret name associated with a server

func (*Infinispan) GetAdminServiceName

func (ispn *Infinispan) GetAdminServiceName() string

func (*Infinispan) GetAuthorizationRoles

func (ispn *Infinispan) GetAuthorizationRoles() []AuthorizationRole

func (*Infinispan) GetCondition

func (ispn *Infinispan) GetCondition(condition ConditionType) InfinispanCondition

GetCondition return the Status of the given condition or nil if condition is not present

func (*Infinispan) GetConfigListenerName

func (ispn *Infinispan) GetConfigListenerName() string

func (*Infinispan) GetConfigName

func (ispn *Infinispan) GetConfigName() string

GetConfigName returns the ConfigMap name for the cluster. It follows the StatefulSetName instead of the CRD name to support live migrations

func (*Infinispan) GetCredentialStoreSecretName

func (ispn *Infinispan) GetCredentialStoreSecretName() string

func (*Infinispan) GetCrossSiteExposeType

func (ispn *Infinispan) GetCrossSiteExposeType() CrossSiteExposeType

func (*Infinispan) GetEndpointScheme

func (ispn *Infinispan) GetEndpointScheme() string

GetEndpointScheme returns the protocol scheme used by the Infinispan cluster

func (*Infinispan) GetExposeType

func (ispn *Infinispan) GetExposeType() ExposeType

func (*Infinispan) GetGossipRouterDeploymentName

func (ispn *Infinispan) GetGossipRouterDeploymentName() string

GetGossipRouterDeploymentName returns the Gossip Router deployment name

func (*Infinispan) GetInfinispanSecuritySecretName

func (ispn *Infinispan) GetInfinispanSecuritySecretName() string

GetInfinispanSecuritySecretName returns the Secret containing the server certs and auth props

func (*Infinispan) GetJavaOptions

func (ispn *Infinispan) GetJavaOptions() string

func (*Infinispan) GetKeystoreSecretName

func (ispn *Infinispan) GetKeystoreSecretName() string

GetKeystoreSecretName ...

func (*Infinispan) GetLogCategoriesForConfig

func (ispn *Infinispan) GetLogCategoriesForConfig() map[string]string

GetLogCategoriesForConfig return a map of log category for the Infinispan configuration

func (*Infinispan) GetOperatorUser

func (ispn *Infinispan) GetOperatorUser() string

func (*Infinispan) GetPingServiceName

func (ispn *Infinispan) GetPingServiceName() string

func (*Infinispan) GetRemoteSiteClusterName

func (ispn *Infinispan) GetRemoteSiteClusterName(locationName string) string

func (*Infinispan) GetRemoteSiteLocations

func (ispn *Infinispan) GetRemoteSiteLocations() (remoteLocations map[string]InfinispanSiteLocationSpec)

GetRemoteSiteLocations returns remote site locations

func (*Infinispan) GetRemoteSiteNamespace

func (ispn *Infinispan) GetRemoteSiteNamespace(locationName string) string

func (*Infinispan) GetRemoteSiteRouteName

func (ispn *Infinispan) GetRemoteSiteRouteName(locationName string) string

GetRemoteSiteRouteName return the remote Route name for cross-site replication

func (*Infinispan) GetRemoteSiteServiceFQN

func (ispn *Infinispan) GetRemoteSiteServiceFQN(locationName string) string

func (*Infinispan) GetRemoteSiteServiceName

func (ispn *Infinispan) GetRemoteSiteServiceName(locationName string) string

func (*Infinispan) GetSecretName

func (ispn *Infinispan) GetSecretName() string

GetSecretName returns the secret name associated with a server

func (*Infinispan) GetServiceExternalName

func (ispn *Infinispan) GetServiceExternalName() string

func (*Infinispan) GetServiceMonitorName

func (ispn *Infinispan) GetServiceMonitorName() string

GetServiceMonitorName returns the ServiceMonitor name for the cluster

func (*Infinispan) GetServiceName

func (ispn *Infinispan) GetServiceName() string

func (*Infinispan) GetSiteLocationsName

func (ispn *Infinispan) GetSiteLocationsName() (locations []string)

GetSiteLocationsName returns all site locations (remote and local) name

func (*Infinispan) GetSiteRouteName

func (ispn *Infinispan) GetSiteRouteName() string

GetSiteRouteName returns the local Route name for cross-site replication

func (*Infinispan) GetSiteRouterKeyStoreAlias

func (ispn *Infinispan) GetSiteRouterKeyStoreAlias() string

GetSiteRouterKeyStoreAlias return the key alias in the keystore for the router TLS configuration

func (*Infinispan) GetSiteRouterKeyStoreFileName

func (ispn *Infinispan) GetSiteRouterKeyStoreFileName() string

GetSiteRouterKeyStoreFileName returns the keystore filename for the router TLS configuration

func (*Infinispan) GetSiteRouterSecretName

func (ispn *Infinispan) GetSiteRouterSecretName() string

GetSiteRouterSecretName returns the secret name for the router TLS keystore

func (*Infinispan) GetSiteServiceName

func (ispn *Infinispan) GetSiteServiceName() string

func (*Infinispan) GetSiteTLSProtocol

func (ispn *Infinispan) GetSiteTLSProtocol() string

GetSiteTLSProtocol returns the TLS protocol to be used to encrypt cross-site replication communication

func (*Infinispan) GetSiteTransportKeyStoreAlias

func (ispn *Infinispan) GetSiteTransportKeyStoreAlias() string

GetSiteTransportKeyStoreAlias return the key alias in the keystore for the transport TLS configuration

func (*Infinispan) GetSiteTransportKeyStoreFileName

func (ispn *Infinispan) GetSiteTransportKeyStoreFileName() string

GetSiteTransportKeyStoreFileName returns the keystore filename for the transport TLS configuration

func (*Infinispan) GetSiteTransportSecretName

func (ispn *Infinispan) GetSiteTransportSecretName() string

GetSiteTransportSecretName returns the secret name for the transport TLS keystore

func (*Infinispan) GetSiteTrustStoreFileName

func (ispn *Infinispan) GetSiteTrustStoreFileName() string

GetSiteTrustStoreFileName returns the truststore filename for the transport and router TLS configuration

func (*Infinispan) GetSiteTrustoreSecretName

func (ispn *Infinispan) GetSiteTrustoreSecretName() string

GetSiteTrustoreSecretName returns the secret name with the truststore for the transport and router TLS keystore

func (*Infinispan) GetStatefulSetName

func (ispn *Infinispan) GetStatefulSetName() string

GetStatefulSetName returns the name of the StatefulSet associated with the CRD. After one or more live migrations, the name can change

func (*Infinispan) GetTruststoreSecretName

func (ispn *Infinispan) GetTruststoreSecretName() string

func (*Infinispan) GossipRouterAnnotations

func (ispn *Infinispan) GossipRouterAnnotations() map[string]string

GossipRouterAnnotations returns all annotations to be applied to the GossipRouter pod. It's values

func (*Infinispan) GossipRouterPodLabels

func (ispn *Infinispan) GossipRouterPodLabels() map[string]string

GossipRouterPodLabels returns all labels to be applied to the GossipRouter pod. It's values should never be used as a selector.

func (*Infinispan) GossipRouterPodSelectorLabels

func (ispn *Infinispan) GossipRouterPodSelectorLabels() map[string]string

GossipRouterPodSelectorLabels returns the minimum required labels to identify a Gossip Router Pod. It does not contain any user defined labels. This should always be used for selectors so that updates to user labels don't break the controller logic.

func (*Infinispan) GracefulShutdownUpgrades

func (ispn *Infinispan) GracefulShutdownUpgrades() bool

func (*Infinispan) HasCondition

func (ispn *Infinispan) HasCondition(condition ConditionType) bool

HasCondition return true if a given condition exists

func (*Infinispan) HasDependenciesVolume

func (ispn *Infinispan) HasDependenciesVolume() bool

HasDependenciesVolume true if custom dependencies are defined via PersistenceVolumeClaim

func (*Infinispan) HasExternalArtifacts

func (ispn *Infinispan) HasExternalArtifacts() bool

HasExternalArtifacts true if external artifacts are defined

func (*Infinispan) HasSites

func (ispn *Infinispan) HasSites() bool

func (*Infinispan) HotRodRollingUpgrades

func (ispn *Infinispan) HotRodRollingUpgrades() bool

func (*Infinispan) ImageName

func (ispn *Infinispan) ImageName() string

func (*Infinispan) ImageType

func (ispn *Infinispan) ImageType() ImageType

func (*Infinispan) InitServiceContainer

func (ispn *Infinispan) InitServiceContainer()

func (*Infinispan) IsAuthenticationEnabled

func (ispn *Infinispan) IsAuthenticationEnabled() bool

func (*Infinispan) IsAuthorizationEnabled

func (ispn *Infinispan) IsAuthorizationEnabled() bool

func (*Infinispan) IsCache

func (ispn *Infinispan) IsCache() bool

func (*Infinispan) IsClientCertEnabled

func (ispn *Infinispan) IsClientCertEnabled() bool

func (*Infinispan) IsConditionFalse

func (ispn *Infinispan) IsConditionFalse(name ConditionType) bool

func (*Infinispan) IsConditionTrue

func (ispn *Infinispan) IsConditionTrue(name ConditionType) bool

func (*Infinispan) IsConfigListenerEnabled

func (ispn *Infinispan) IsConfigListenerEnabled() bool

func (*Infinispan) IsCredentialStoreSecretDefined

func (ispn *Infinispan) IsCredentialStoreSecretDefined() bool

func (*Infinispan) IsDataGrid

func (ispn *Infinispan) IsDataGrid() bool

func (*Infinispan) IsEncryptionCertFromService

func (ispn *Infinispan) IsEncryptionCertFromService() bool

IsEncryptionCertFromService returns true if encryption certificates comes from a cluster service

func (*Infinispan) IsEncryptionCertSourceDefined

func (ispn *Infinispan) IsEncryptionCertSourceDefined() bool

IsEncryptionCertSourceDefined returns true if encryption certificates source is defined

func (*Infinispan) IsEncryptionEnabled

func (ispn *Infinispan) IsEncryptionEnabled() bool

func (*Infinispan) IsEphemeralStorage

func (ispn *Infinispan) IsEphemeralStorage() bool

IsEphemeralStorage returns the value of ephemeralStorage if it is defined.

func (*Infinispan) IsExposed

func (ispn *Infinispan) IsExposed() bool

IsExposed ...

func (*Infinispan) IsGeneratedSecret

func (ispn *Infinispan) IsGeneratedSecret() bool

IsGeneratedSecret verifies that the Secret should be generated by the controller

func (*Infinispan) IsGossipRouterEnabled

func (ispn *Infinispan) IsGossipRouterEnabled() bool

func (*Infinispan) IsHotRodUpgrade

func (ispn *Infinispan) IsHotRodUpgrade() bool

func (*Infinispan) IsJmxExposed

func (ispn *Infinispan) IsJmxExposed() bool

func (*Infinispan) IsServiceMonitorEnabled

func (ispn *Infinispan) IsServiceMonitorEnabled() bool

IsServiceMonitorEnabled validates that "infinispan.org/monitoring":true annotation defines or not

func (*Infinispan) IsSiteTLSEnabled

func (ispn *Infinispan) IsSiteTLSEnabled() bool

IsSiteTLSEnabled returns true if the TLS is enabled for cross-site replication communicate

func (*Infinispan) IsUpgradeCondition

func (ispn *Infinispan) IsUpgradeCondition() bool

func (*Infinispan) IsUpgradeNeeded

func (ispn *Infinispan) IsUpgradeNeeded(logger logr.Logger) bool

func (*Infinispan) IsWellFormed

func (ispn *Infinispan) IsWellFormed() bool

IsWellFormed return true if cluster is well formed

func (*Infinispan) Labels

func (ispn *Infinispan) Labels(app string) map[string]string

func (*Infinispan) LaunchGossipRouterEnabled

func (ispn *Infinispan) LaunchGossipRouterEnabled() bool

func (*Infinispan) NotClusterFormed

func (ispn *Infinispan) NotClusterFormed(pods, replicas int) bool

NotClusterFormed return true is cluster is not well formed

func (*Infinispan) PodAnnotations

func (ispn *Infinispan) PodAnnotations() map[string]string

func (*Infinispan) PodLabels

func (ispn *Infinispan) PodLabels() map[string]string

PodLabels returns all labels to be applied to Infinispan pods, including those defined by the user. It's values should never be used as a selector.

func (*Infinispan) PodSelectorLabels

func (ispn *Infinispan) PodSelectorLabels() map[string]string

PodSelectorLabels returns the minimum required labels to identify an Infinispan Pod. It does not contain any user defined labels. This should always be used for selectors so that updates to user labels don't break the controller logic.

func (*Infinispan) PriorityClassName

func (ispn *Infinispan) PriorityClassName() string

func (*Infinispan) RemoveCondition

func (ispn *Infinispan) RemoveCondition(condition ConditionType) bool

RemoveCondition remove condition from Status

func (*Infinispan) ServiceAnnotations

func (ispn *Infinispan) ServiceAnnotations() map[string]string

func (*Infinispan) ServiceLabels

func (ispn *Infinispan) ServiceLabels(app string) map[string]string

func (*Infinispan) ServiceMonitorTargetLabels

func (ispn *Infinispan) ServiceMonitorTargetLabels() []string

func (*Infinispan) ServiceSelectorLabels

func (ispn *Infinispan) ServiceSelectorLabels() map[string]string

func (*Infinispan) SetCondition

func (ispn *Infinispan) SetCondition(condition ConditionType, status metav1.ConditionStatus, message string) bool

SetCondition set condition to status

func (*Infinispan) SetConditions

func (ispn *Infinispan) SetConditions(conds ...InfinispanCondition) bool

SetConditions set provided conditions to status

func (*Infinispan) SetupWebhookWithManager

func (i *Infinispan) SetupWebhookWithManager(mgr ctrl.Manager) (err error)

func (*Infinispan) StorageClassName

func (ispn *Infinispan) StorageClassName() string

StorageClassName returns a storage class name if it defined

func (*Infinispan) StorageSize

func (ispn *Infinispan) StorageSize() string

StorageSize returns persistence storage size if it defined

func (*Infinispan) Tolerations

func (ispn *Infinispan) Tolerations() []corev1.Toleration

func (*Infinispan) TopologySpreadConstraints

func (ispn *Infinispan) TopologySpreadConstraints() []corev1.TopologySpreadConstraint

func (*Infinispan) UserConfigDefined

func (ispn *Infinispan) UserConfigDefined() bool

func (*Infinispan) ValidateCreate

func (i *Infinispan) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Infinispan) ValidateDelete

func (i *Infinispan) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Infinispan) ValidateUpdate

func (i *Infinispan) ValidateUpdate(oldRuntimeObj runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type InfinispanCloudEvents

type InfinispanCloudEvents struct {
	// BootstrapServers is comma separated list of boostrap server:port addresses
	BootstrapServers string `json:"bootstrapServers"`
	// Acks configuration for the producer ack-value
	// +optional
	Acks string `json:"acks,omitempty"`
	// CacheEntriesTopic is the name of the topic on which events will be published
	// +optional
	CacheEntriesTopic string `json:"cacheEntriesTopic,omitempty"`
}

InfinispanCloudEvents describes how Infinispan is connected with Cloud Event, see Kafka docs for more info

func (*InfinispanCloudEvents) DeepCopy

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

func (*InfinispanCloudEvents) DeepCopyInto

func (in *InfinispanCloudEvents) DeepCopyInto(out *InfinispanCloudEvents)

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

type InfinispanCondition

type InfinispanCondition struct {
	// Type is the type of the condition.
	Type ConditionType `json:"type"`
	// Status is the status of the condition.
	Status metav1.ConditionStatus `json:"status"`
	// Human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

InfinispanCondition define a condition of the cluster

func (*InfinispanCondition) DeepCopy

func (in *InfinispanCondition) DeepCopy() *InfinispanCondition

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

func (*InfinispanCondition) DeepCopyInto

func (in *InfinispanCondition) DeepCopyInto(out *InfinispanCondition)

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

type InfinispanContainerSpec

type InfinispanContainerSpec struct {
	// +optional
	CliExtraJvmOpts string `json:"cliExtraJvmOpts,omitempty"`
	// +optional
	ExtraJvmOpts string `json:"extraJvmOpts,omitempty"`
	// +optional
	RouterExtraJvmOpts string `json:"routerExtraJvmOpts,omitempty"`
	// +optional
	Memory string `json:"memory,omitempty"`
	// +optional
	CPU string `json:"cpu,omitempty"`
}

InfinispanContainerSpec specify resource requirements per container

func (*InfinispanContainerSpec) DeepCopy

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

func (*InfinispanContainerSpec) DeepCopyInto

func (in *InfinispanContainerSpec) DeepCopyInto(out *InfinispanContainerSpec)

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

func (*InfinispanContainerSpec) GetCpuResources

func (spec *InfinispanContainerSpec) GetCpuResources() (requests resource.Quantity, limits resource.Quantity, err error)

GetCpuResources returns the CPU request and limit values to be used by pods

func (*InfinispanContainerSpec) GetMemoryResources

func (spec *InfinispanContainerSpec) GetMemoryResources() (requests resource.Quantity, limits resource.Quantity, err error)

GetMemoryResources returns the Memory request and limit values to be used by pods

type InfinispanExternalArtifacts

type InfinispanExternalArtifacts struct {
	// +optional
	// +kubebuilder:validation:Pattern=`^$|^(https?|ftp)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]`
	// URL of the file you want to download.
	Url string `json:"url"`
	// +optional
	// +kubebuilder:validation:Pattern=`^$|^([-_a-zA-Z0-9.]+):([-_a-zA-Z0-9.]+):([-_a-zA-Z0-9.]+)(?::([-_a-zA-Z0-9.]+))?$`
	// Coordinates of a maven artifact in the `groupId:artifactId:version` format, for example `org.postgresql:postgresql:42.3.1`.
	Maven string `json:"maven"`
	// +optional
	// Deprecated, no longer has any effect. Specifies the type of file you want to download. If not specified, the file type is automatically determined from the extension.
	Type ExternalArtifactType `json:"type,omitempty"`
	// +optional
	// +kubebuilder:validation:Pattern=`^(sha1|sha224|sha256|sha384|sha512|md5):[a-z0-9]+`
	// Checksum that you can use to verify downloaded files.
	Hash string `json:"hash,omitempty"`
}

func (*InfinispanExternalArtifacts) DeepCopy

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

func (*InfinispanExternalArtifacts) DeepCopyInto

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

type InfinispanExternalDependencies

type InfinispanExternalDependencies struct {
	// The Persistent Volume Claim that holds custom libraries
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Persistent Volume Claim Name",xDescriptors="urn:alm:descriptor:io.kubernetes:PersistentVolumeClaim"
	VolumeClaimName string `json:"volumeClaimName,omitempty"`
	// +optional
	Artifacts []InfinispanExternalArtifacts `json:"artifacts,omitempty"`
	// +optional
	InitContainer InitDependenciesContainerSpec `json:"initContainer,omitempty"`
}

InfinispanExternalDependencies describes all the external dependencies used by the Infinispan cluster: i.e. lib folder with custom jar, maven artifact, images ...

func (*InfinispanExternalDependencies) DeepCopy

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

func (*InfinispanExternalDependencies) DeepCopyInto

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

type InfinispanList

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

InfinispanList contains a list of Infinispan

func (*InfinispanList) DeepCopy

func (in *InfinispanList) DeepCopy() *InfinispanList

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

func (*InfinispanList) DeepCopyInto

func (in *InfinispanList) DeepCopyInto(out *InfinispanList)

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

func (*InfinispanList) DeepCopyObject

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

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

type InfinispanLoggingSpec

type InfinispanLoggingSpec struct {
	Categories map[string]LoggingLevelType `json:"categories,omitempty"`
}

func (*InfinispanLoggingSpec) DeepCopy

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

func (*InfinispanLoggingSpec) DeepCopyInto

func (in *InfinispanLoggingSpec) DeepCopyInto(out *InfinispanLoggingSpec)

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

type InfinispanSecurity

type InfinispanSecurity struct {
	// +optional
	Authorization *Authorization `json:"authorization,omitempty"`
	// A secret that contains CredentialStore alias and password combinations
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="CredentialStore Secret",xDescriptors={"urn:alm:descriptor:io.kubernetes:Secret"}
	CredentialStoreSecretName string `json:"credentialStoreSecretName,omitempty"`
	// Enable or disable user authentication
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Toggle Authentication",xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	EndpointAuthentication *bool `json:"endpointAuthentication,omitempty"`
	// The secret that contains user credentials.
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authentication Secret",xDescriptors={"urn:alm:descriptor:io.kubernetes:Secret", "urn:alm:descriptor:com.tectonic.ui:fieldDependency:security.endpointAuthentication:true"}
	EndpointSecretName string `json:"endpointSecretName,omitempty"`
	// +optional
	EndpointEncryption *EndpointEncryption `json:"endpointEncryption,omitempty"`
}

InfinispanSecurity info for the user application connection

func (*InfinispanSecurity) DeepCopy

func (in *InfinispanSecurity) DeepCopy() *InfinispanSecurity

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

func (*InfinispanSecurity) DeepCopyInto

func (in *InfinispanSecurity) DeepCopyInto(out *InfinispanSecurity)

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

type InfinispanServiceContainerSpec

type InfinispanServiceContainerSpec struct {
	// The amount of storage for the persistent volume claim.
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Storage Size",xDescriptors="urn:alm:descriptor:text"
	Storage *string `json:"storage,omitempty"`
	// Enable/disable container ephemeral storage
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Container Ephemeral Storage",xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	EphemeralStorage bool `json:"ephemeralStorage,omitempty"`
	// The storage class object for persistent volume claims
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Storage Class Name",xDescriptors={"urn:alm:descriptor:io.kubernetes:StorageClass", "urn:alm:descriptor:com.tectonic.ui:fieldDependency:service.container.ephemeralStorage:false"}
	StorageClassName string `json:"storageClassName,omitempty"`
	// Periodic probe of container liveness.
	// Container will be restarted if the probe fails.
	// +optional
	LivenessProbe ContainerProbeSpec `json:"livenessProbe,omitempty"`
	// Periodic probe of container service readiness.
	// Container will be removed from service endpoints if the probe fails.
	// +optional
	ReadinessProbe ContainerProbeSpec `json:"readinessProbe,omitempty"`
	// StartupProbe indicates that the Pod has successfully initialized.
	// If specified, no other probes are executed until this completes successfully.
	// If this probe fails, the Pod will be restarted, just as if the livenessProbe failed.
	// This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
	// when it might take a long time to load data or warm a cache, than during steady-state operation.
	// +optional
	StartupProbe ContainerProbeSpec `json:"startupProbe,omitempty"`
}

InfinispanServiceContainerSpec resource requirements specific for service

func (*InfinispanServiceContainerSpec) DeepCopy

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

func (*InfinispanServiceContainerSpec) DeepCopyInto

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

type InfinispanServiceSpec

type InfinispanServiceSpec struct {
	// The service type
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Service Type",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:select:Cache", "urn:alm:descriptor:com.tectonic.ui:select:DataGrid"}
	Type ServiceType `json:"type,omitempty"`
	// +optional
	Container *InfinispanServiceContainerSpec `json:"container,omitempty"`
	// +optional
	Sites *InfinispanSitesSpec `json:"sites,omitempty"`
	// Cache replication factor, or number of copies for each entry.
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Number of Owners",xDescriptors="urn:alm:descriptor:com.tectonic.ui:number"
	ReplicationFactor int32 `json:"replicationFactor,omitempty"`
}

InfinispanServiceSpec specify configuration for specific service

func (*InfinispanServiceSpec) DeepCopy

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

func (*InfinispanServiceSpec) DeepCopyInto

func (in *InfinispanServiceSpec) DeepCopyInto(out *InfinispanServiceSpec)

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

type InfinispanSiteLocationSpec

type InfinispanSiteLocationSpec struct {
	Name string `json:"name"`
	// +optional
	Namespace string `json:"namespace,omitempty"`
	// +optional
	ClusterName string `json:"clusterName,omitempty"`
	// Deprecated and to be removed on subsequent release. Use .URL with infinispan+xsite schema instead.
	// +optional
	Host *string `json:"host,omitempty"`
	// Deprecated and to be removed on subsequent release. Use .URL with infinispan+xsite schema instead.
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Node Port",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number", "urn:alm:descriptor:com.tectonic.ui:fieldDependency:service.sites.local.expose.type:NodePort"}
	Port *int32 `json:"port,omitempty"`
	// +kubebuilder:validation:Pattern=`(^(kubernetes|minikube|openshift):\/\/(([a-z0-9]|[a-z0-9][a-z0-9\-]*[a-z0-9])\.)*([a-z0-9]|[a-z0-9][a-z0-9\-]*[a-z0-9])*(:[0-9]+)+$)|(^(infinispan\+xsite):\/\/(([a-z0-9]|[a-z0-9][a-z0-9\-]*[a-z0-9])\.)*([a-z0-9]|[a-z0-9][a-z0-9\-]*[a-z0-9])*(:[0-9]+)*$)`
	// +optional
	URL string `json:"url,omitempty"`
	// The access secret that allows backups to a remote site
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Backup Location Secret",xDescriptors="urn:alm:descriptor:io.kubernetes:Secret"
	SecretName string `json:"secretName,omitempty"`
}

func (*InfinispanSiteLocationSpec) DeepCopy

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

func (*InfinispanSiteLocationSpec) DeepCopyInto

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

type InfinispanSitesLocalSpec

type InfinispanSitesLocalSpec struct {
	Name   string              `json:"name"`
	Expose CrossSiteExposeSpec `json:"expose"`
	// +optional
	MaxRelayNodes int32 `json:"maxRelayNodes,omitempty"`
	// +optional
	Encryption *EncryptionSiteSpec `json:"encryption,omitempty"`
	// +optional
	Discovery *DiscoverySiteSpec `json:"discovery,omitempty"`
}

InfinispanSitesLocalSpec enables cross-site replication

func (*InfinispanSitesLocalSpec) DeepCopy

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

func (*InfinispanSitesLocalSpec) DeepCopyInto

func (in *InfinispanSitesLocalSpec) DeepCopyInto(out *InfinispanSitesLocalSpec)

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

type InfinispanSitesSpec

type InfinispanSitesSpec struct {
	Local     InfinispanSitesLocalSpec     `json:"local"`
	Locations []InfinispanSiteLocationSpec `json:"locations,omitempty"`
}

func (*InfinispanSitesSpec) DeepCopy

func (in *InfinispanSitesSpec) DeepCopy() *InfinispanSitesSpec

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

func (*InfinispanSitesSpec) DeepCopyInto

func (in *InfinispanSitesSpec) DeepCopyInto(out *InfinispanSitesSpec)

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

type InfinispanSpec

type InfinispanSpec struct {
	// The number of nodes in the Infinispan cluster.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podCount"
	Replicas int32 `json:"replicas"`
	// The semantic version of the Infinispan cluster.
	// +optional
	// +kubebuilder:validation:Pattern=`^$|^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$`
	Version string `json:"version"`
	// +optional
	Image *string `json:"image,omitempty"`
	// +optional
	Security InfinispanSecurity `json:"security,omitempty"`
	// +optional
	Container InfinispanContainerSpec `json:"container,omitempty"`
	// +optional
	Service InfinispanServiceSpec `json:"service,omitempty"`
	// +optional
	Logging *InfinispanLoggingSpec `json:"logging,omitempty"`
	// +optional
	Expose *ExposeSpec `json:"expose,omitempty"`
	// +optional
	Autoscale *Autoscale `json:"autoscale,omitempty"`
	// +optional
	// Deprecated. Use scheduling.affinity instead
	Affinity *corev1.Affinity `json:"affinity,omitempty"`
	// +optional
	// Deprecated. Has no effect starting with Infinispan 15.0.0 servers
	CloudEvents *InfinispanCloudEvents `json:"cloudEvents,omitempty"`
	// External dependencies needed by the Infinispan cluster
	// +optional
	Dependencies *InfinispanExternalDependencies `json:"dependencies,omitempty"`
	// +optional
	ConfigMapName string `json:"configMapName,omitempty"`
	// Strategy to use when doing upgrades
	Upgrades *InfinispanUpgradesSpec `json:"upgrades,omitempty"`
	// +optional
	ConfigListener *ConfigListenerSpec `json:"configListener,omitempty"`
	// +optional
	Jmx *JmxSpec `json:"jmx,omitempty"`
	// +optional
	Scheduling *SchedulingSpec `json:"scheduling,omitempty"`
}

InfinispanSpec defines the desired state of Infinispan

func (*InfinispanSpec) DeepCopy

func (in *InfinispanSpec) DeepCopy() *InfinispanSpec

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

func (*InfinispanSpec) DeepCopyInto

func (in *InfinispanSpec) DeepCopyInto(out *InfinispanSpec)

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

type InfinispanStatus

type InfinispanStatus struct {
	// +optional
	Conditions []InfinispanCondition `json:"conditions,omitempty"`
	// +optional
	StatefulSetName string `json:"statefulSetName,omitempty"`
	// +optional
	Security *InfinispanSecurity `json:"security,omitempty"`
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// +optional
	ReplicasWantedAtRestart int32 `json:"replicasWantedAtRestart,omitempty"`
	// The Pod's currently in the cluster
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Pod Status",xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses"
	PodStatus DeploymentStatus `json:"podStatus,omitempty"`
	// Infinispan Console URL
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Infinispan Console URL",xDescriptors="urn:alm:descriptor:org.w3:link"
	ConsoleUrl *string `json:"consoleUrl,omitempty"`
	// +optional
	HotRodRollingUpgradeStatus *HotRodRollingUpgradeStatus `json:"hotRodRollingUpgradeStatus,omitempty"`
	// The Operand status
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Operand Status"
	Operand OperandStatus `json:"operand,omitempty"`
	// The Operator status
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Operator Status"
	Operator Operator `json:"operator,omitempty"`
}

InfinispanStatus defines the observed state of Infinispan

func (*InfinispanStatus) DeepCopy

func (in *InfinispanStatus) DeepCopy() *InfinispanStatus

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

func (*InfinispanStatus) DeepCopyInto

func (in *InfinispanStatus) DeepCopyInto(out *InfinispanStatus)

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

type InfinispanUpgradesSpec

type InfinispanUpgradesSpec struct {
	Type UpgradeType `json:"type"`
}

InfinispanUpgradesSpec defines the Infinispan upgrade strategy

func (*InfinispanUpgradesSpec) DeepCopy

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

func (*InfinispanUpgradesSpec) DeepCopyInto

func (in *InfinispanUpgradesSpec) DeepCopyInto(out *InfinispanUpgradesSpec)

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

type InitDependenciesContainerSpec

type InitDependenciesContainerSpec struct {
	// +optional
	// Memory in limit:request format
	Memory string `json:"memory,omitempty"`
	// +optional
	// CPU in limit:request format
	CPU string `json:"cpu,omitempty"`
}

InitDependenciesContainerSpec describes the configuration options for the dependency download init container

func (*InitDependenciesContainerSpec) CpuResources

func (spec *InitDependenciesContainerSpec) CpuResources() (requests resource.Quantity, limits resource.Quantity, err error)

CpuResources returns the CPU request and limit values to be used by by External Dependencies Downloader Init container

func (*InitDependenciesContainerSpec) DeepCopy

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

func (*InitDependenciesContainerSpec) DeepCopyInto

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

func (*InitDependenciesContainerSpec) MemoryResources

func (spec *InitDependenciesContainerSpec) MemoryResources() (requests resource.Quantity, limits resource.Quantity, err error)

MemoryResources returns the Memory request and limit values to be used by External Dependencies Downloader Init container

type JmxSpec

type JmxSpec struct {
	// If true, a JMX endpoint is exposed on the admin service
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Toggle Jmx",xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	Enabled bool `json:"enabled,omitempty"`
}

func (*JmxSpec) DeepCopy

func (in *JmxSpec) DeepCopy() *JmxSpec

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

func (*JmxSpec) DeepCopyInto

func (in *JmxSpec) DeepCopyInto(out *JmxSpec)

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

type LoggingLevelType

type LoggingLevelType string

LoggingLevelType describe the logging level for selected category +kubebuilder:validation:Enum=trace;debug;info;warn;error

const (
	LoggingLevelTrace LoggingLevelType = "trace"
	LoggingLevelDebug LoggingLevelType = "debug"
	LoggingLevelInfo  LoggingLevelType = "info"
	LoggingLevelWarn  LoggingLevelType = "warn"
	LoggingLevelError LoggingLevelType = "error"
)

type OperandPhase

type OperandPhase string
const (
	// OperandPhasePending indicates that the configured Operand is currently being provisioned and the cluster is not WellFormed
	OperandPhasePending OperandPhase = "Pending"
	// OperandPhaseRunning indicates that the Operand has been provisioned and is WellFormed
	OperandPhaseRunning OperandPhase = "Running"
)

type OperandStatus

type OperandStatus struct {
	// Whether the Operand has been deprecated and is subject for removal in a subsequent release
	// +optional
	Deprecated bool `json:"deprecated,omitempty"`
	// The Image being used by the Operand currently being reconciled
	// +optional
	Image string `json:"image,omitempty"`
	// The most recently observed Phase of the Operand deployment
	// +optional
	Phase OperandPhase `json:"phase,omitempty"`
	// The Operand version to be reconciled
	// +optional
	Version string `json:"version,omitempty"`
}

func (*OperandStatus) DeepCopy

func (in *OperandStatus) DeepCopy() *OperandStatus

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

func (*OperandStatus) DeepCopyInto

func (in *OperandStatus) DeepCopyInto(out *OperandStatus)

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

type Operator

type Operator struct {
	// The name of the pod reconciling this resource
	// +optional
	Pod string `json:"pod,omitempty"`
}

func (*Operator) DeepCopy

func (in *Operator) DeepCopy() *Operator

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

func (*Operator) DeepCopyInto

func (in *Operator) DeepCopyInto(out *Operator)

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

type SchedulingSpec

type SchedulingSpec struct {
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`
	// +optional
	PriorityClassName string `json:"PriorityClassName,omitempty"`
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// +optional
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}

func (*SchedulingSpec) DeepCopy

func (in *SchedulingSpec) DeepCopy() *SchedulingSpec

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

func (*SchedulingSpec) DeepCopyInto

func (in *SchedulingSpec) DeepCopyInto(out *SchedulingSpec)

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

type ServiceType

type ServiceType string

+kubebuilder:validation:Enum=DataGrid;Cache

const (
	// Deploys Infinispan to act like a cache. This means:
	// Caches are only used for volatile data.
	// No support for data persistence.
	// Cache definitions can still be permanent, but PV size is not configurable.
	// A default cache is created by default,
	// Additional caches can be created, but only as copies of default cache.
	ServiceTypeCache ServiceType = "Cache"

	// Deploys Infinispan to act like a data grid.
	// More flexibility and more configuration options are available:
	// Cross-site replication, store cached data in persistence store...etc.
	ServiceTypeDataGrid ServiceType = "DataGrid"
)

type TLSProtocol

type TLSProtocol string

TLSProtocol specifies the TLS protocol +kubebuilder:validation:Enum=TLSv1.2;TLSv1.3

const (
	TLSVersion12 TLSProtocol = "TLSv1.2"
	TLSVersion13 TLSProtocol = "TLSv1.3"
)

Note: TLS v1.1 and older are not consider secure anymore

type UpgradeType

type UpgradeType string
const (
	// UpgradeTypeHotRodRolling Upgrade with no downtime and data copied over Hot Rod
	UpgradeTypeHotRodRolling UpgradeType = "HotRodRolling"
	// UpgradeTypeShutdown Upgrade requires downtime and data persisted in cache stores
	UpgradeTypeShutdown UpgradeType = "Shutdown"
)

Jump to

Keyboard shortcuts

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