v1alpha1

package
v0.22.0 Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the saas v1alpha1 API group +kubebuilder:object:generate=true +groupName=saas.3scale.net

Index

Constants

View Source
const (
	// Finalizer is the finalizer string for resoures in the saas group
	Finalizer string = "saas.3scale.net"
	// AnnotationsDomain is a common prefix for all "rollout triggering"
	// annotation keys
	AnnotationsDomain string = "saas.3scale.net"
)
View Source
const (
	AWSAccessKeyID_SecretKey     string = "AWS_ACCESS_KEY_ID"
	AWSSecretAccessKey_SecretKey string = "AWS_SECRET_ACCESS_KEY"
	BackupFile                   string = "redis_backup.rdb"
)
View Source
const (
	Default systemSidekiqType = "default"
	Billing systemSidekiqType = "billing"
	Low     systemSidekiqType = "low"
)
View Source
const (
	// SentinelPort is the port where sentinel process listens
	SentinelPort uint32 = 26379
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "saas.3scale.net", Version: "v1alpha1"}

	// 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 (
	SentinelDefaultReplicas int32 = 3
	SentinelDefaultQuorum   int   = 2
)

bitnami/redis-sentinel:4.0.11-debian-9-r110

View Source
var (
	TwemproxyPodSyncLabelKey   string = fmt.Sprintf("%s/twemproxyconfig.sync", GroupVersion.Group)
	TwemproxySyncAnnotationKey string = fmt.Sprintf("%s/twemproxyconfig.configmap-hash", GroupVersion.Group)
)
View Source
var (
	RedisShardDefaultReplicas int32 = 3
)

Functions

This section is empty.

Types

type APISpec

type APISpec struct {
	// Pod Disruption Budget for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PDB *PodDisruptionBudgetSpec `json:"pdb,omitempty"`
	// Horizontal Pod Autoscaler for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HPA *HorizontalPodAutoscalerSpec `json:"hpa,omitempty"`
	// Number of replicas (ignored if hpa is enabled) for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
}

APISpec is the configuration for main Zync api component

func (*APISpec) DeepCopy

func (in *APISpec) DeepCopy() *APISpec

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

func (*APISpec) DeepCopyInto

func (in *APISpec) DeepCopyInto(out *APISpec)

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

func (*APISpec) Default

func (spec *APISpec) Default()

Default implements defaulting for the each main zync api component

type AddressSpec

type AddressSpec struct {
	// Defines the address host
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Host *string `json:"host,omitempty"`
	// Defines the address port
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Port *int32 `json:"port,omitempty"`
}

AddressSpec allows the definition of an address

func (*AddressSpec) DeepCopy

func (in *AddressSpec) DeepCopy() *AddressSpec

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

func (*AddressSpec) DeepCopyInto

func (in *AddressSpec) DeepCopyInto(out *AddressSpec)

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

type Apicast

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

	Spec   ApicastSpec   `json:"spec,omitempty"`
	Status ApicastStatus `json:"status,omitempty"`
}

Apicast is the Schema for the apicasts API

func (*Apicast) DeepCopy

func (in *Apicast) DeepCopy() *Apicast

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

func (*Apicast) DeepCopyInto

func (in *Apicast) DeepCopyInto(out *Apicast)

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

func (*Apicast) DeepCopyObject

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

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

func (*Apicast) Default

func (a *Apicast) Default()

Default implements defaulting for the Apicast resource

type ApicastConfig

type ApicastConfig struct {
	// Apicast configurations cache TTL
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ConfigurationCache int32 `json:"configurationCache"`
	// Endpoint to request proxy configurations to
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ThreescalePortalEndpoint string `json:"threescalePortalEndpoint"`
	// Openresty log level
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Enum=debug;info;notice;warn;error;crit;alert;emerg
	// +optional
	LogLevel *string `json:"logLevel,omitempty"`
	// OpenID Connect integration log level
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Enum=debug;info;notice;warn;error;crit;alert;emerg
	// +optional
	OIDCLogLevel *string `json:"oidcLogLevel,omitempty"`
}

ApicastConfig configures app behavior for Apicast

func (*ApicastConfig) DeepCopy

func (in *ApicastConfig) DeepCopy() *ApicastConfig

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

func (*ApicastConfig) DeepCopyInto

func (in *ApicastConfig) DeepCopyInto(out *ApicastConfig)

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

func (*ApicastConfig) Default

func (cfg *ApicastConfig) Default()

Default sets default values for any value not specifically set in the ApicastConfig struct

type ApicastEnvironmentSpec

type ApicastEnvironmentSpec struct {
	// Image specification for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Pod Disruption Budget for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PDB *PodDisruptionBudgetSpec `json:"pdb,omitempty"`
	// Horizontal Pod Autoscaler for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HPA *HorizontalPodAutoscalerSpec `json:"hpa,omitempty"`
	// Number of replicas (ignored if hpa is enabled) for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// Application specific configuration options for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Config ApicastConfig `json:"config"`
	// The external endpoint/s for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Endpoint Endpoint `json:"endpoint"`
	// Marin3r configures the Marin3r sidecars for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Marin3r *Marin3rSidecarSpec `json:"marin3r,omitempty"`
	// Configures the AWS load balancer for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LoadBalancer *LoadBalancerSpec `json:"loadBalancer,omitempty"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
	// Canary defines spec changes for the canary Deployment. If
	// left unset the canary Deployment wil not be created.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Canary *Canary `json:"canary,omitempty"`
}

ApicastEnvironmentSpec is the configuration for an Apicast environment

func (*ApicastEnvironmentSpec) DeepCopy

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

func (*ApicastEnvironmentSpec) DeepCopyInto

func (in *ApicastEnvironmentSpec) DeepCopyInto(out *ApicastEnvironmentSpec)

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

func (*ApicastEnvironmentSpec) Default

func (spec *ApicastEnvironmentSpec) Default()

Default implements defaulting for the each apicast environment

type ApicastList

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

ApicastList contains a list of Apicast

func (*ApicastList) DeepCopy

func (in *ApicastList) DeepCopy() *ApicastList

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

func (*ApicastList) DeepCopyInto

func (in *ApicastList) DeepCopyInto(out *ApicastList)

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

func (*ApicastList) DeepCopyObject

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

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

type ApicastSpec

type ApicastSpec struct {
	// Configures the staging Apicast environment
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Staging ApicastEnvironmentSpec `json:"staging"`
	// Configures the production Apicast environment
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Production ApicastEnvironmentSpec `json:"production"`
	// Configures the Grafana Dashboard for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	GrafanaDashboard *GrafanaDashboardSpec `json:"grafanaDashboard,omitempty"`
}

ApicastSpec defines the desired state of Apicast

func (*ApicastSpec) DeepCopy

func (in *ApicastSpec) DeepCopy() *ApicastSpec

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

func (*ApicastSpec) DeepCopyInto

func (in *ApicastSpec) DeepCopyInto(out *ApicastSpec)

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

func (*ApicastSpec) Default

func (spec *ApicastSpec) Default()

Default implements defaulting for ApicastSpec

func (*ApicastSpec) ResolveCanarySpec

func (spec *ApicastSpec) ResolveCanarySpec(canary *Canary) (*ApicastSpec, error)

ResolveCanarySpec modifies the BackendSpec given the provided canary configuration

type ApicastStatus

type ApicastStatus struct{}

ApicastStatus defines the observed state of Apicast

func (*ApicastStatus) DeepCopy

func (in *ApicastStatus) DeepCopy() *ApicastStatus

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

func (*ApicastStatus) DeepCopyInto

func (in *ApicastStatus) DeepCopyInto(out *ApicastStatus)

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

type AssetsSpec

type AssetsSpec struct {
	// AWS S3 bucket name
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Bucket string `json:"bucket"`
	// AWS S3 region
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Region string `json:"region"`
	// AWS access key
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	AccessKey SecretReference `json:"accessKey"`
	// AWS secret access key
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	SecretKey SecretReference `json:"secretKey"`
	// Assets host (CDN)
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Host *string `json:"host,omitempty"`
}

AssetsSpec has configuration to access assets in AWS s3

func (*AssetsSpec) DeepCopy

func (in *AssetsSpec) DeepCopy() *AssetsSpec

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

func (*AssetsSpec) DeepCopyInto

func (in *AssetsSpec) DeepCopyInto(out *AssetsSpec)

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

type AutoSSL

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

	Spec   AutoSSLSpec   `json:"spec,omitempty"`
	Status AutoSSLStatus `json:"status,omitempty"`
}

AutoSSL is the Schema for the autossls API

func (*AutoSSL) DeepCopy

func (in *AutoSSL) DeepCopy() *AutoSSL

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

func (*AutoSSL) DeepCopyInto

func (in *AutoSSL) DeepCopyInto(out *AutoSSL)

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

func (*AutoSSL) DeepCopyObject

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

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

func (*AutoSSL) Default

func (a *AutoSSL) Default()

Default implements defaulting for the AutoSSL resource

type AutoSSLConfig

type AutoSSLConfig struct {
	// Sets the nginx log level
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LogLevel *string `json:"logLevel,omitempty"`
	// Enables/disables the Let's Encrypt staging ACME endpoint
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ACMEStaging *bool `json:"acmeStaging,omitempty"`
	// Defines an email address for Let's Encrypt notifications
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ContactEmail string `json:"contactEmail"`
	// The endpoint to proxy_pass requests to
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ProxyEndpoint string `json:"proxyEndpoint"`
	// The endpoint used to validate if certificate generation is allowed
	// for the domain
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	VerificationEndpoint string `json:"verificationEndpoint"`
	// List of domains that will bypass domain verification
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	DomainWhitelist []string `json:"domainWhitelist,omitempty"`
	// List of domains that will never get autogenerated certificates
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	DomainBlacklist []string `json:"domainBlacklist,omitempty"`
	// Host for the redis database to store certificates
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	RedisHost string `json:"redisHost"`
	// Port for the redis database to store certificates
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	RedisPort *int32 `json:"redisPort,omitempty"`
}

AutoSSLConfig defines configuration options for the component

func (*AutoSSLConfig) DeepCopy

func (in *AutoSSLConfig) DeepCopy() *AutoSSLConfig

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

func (*AutoSSLConfig) DeepCopyInto

func (in *AutoSSLConfig) DeepCopyInto(out *AutoSSLConfig)

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

func (*AutoSSLConfig) Default

func (cfg *AutoSSLConfig) Default()

Default sets default values for any value not specifically set in the AutoSSLConfig struct

type AutoSSLList

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

AutoSSLList contains a list of AutoSSL

func (*AutoSSLList) DeepCopy

func (in *AutoSSLList) DeepCopy() *AutoSSLList

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

func (*AutoSSLList) DeepCopyInto

func (in *AutoSSLList) DeepCopyInto(out *AutoSSLList)

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

func (*AutoSSLList) DeepCopyObject

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

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

type AutoSSLSpec

type AutoSSLSpec struct {
	// Image specification for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Pod Disruption Budget for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PDB *PodDisruptionBudgetSpec `json:"pdb,omitempty"`
	// Horizontal Pod Autoscaler for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HPA *HorizontalPodAutoscalerSpec `json:"hpa,omitempty"`
	// Number of replicas (ignored if hpa is enabled) for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// Configures the AWS load balancer for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LoadBalancer *LoadBalancerSpec `json:"loadBalancer,omitempty"`
	// Configures the Grafana Dashboard for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	GrafanaDashboard *GrafanaDashboardSpec `json:"grafanaDashboard,omitempty"`
	// Application specific configuration options for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Config AutoSSLConfig `json:"config"`
	// The external endpoint/s for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Endpoint Endpoint `json:"endpoint"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
	// Canary defines spec changes for the canary Deployment. If
	// left unset the canary Deployment wil not be created.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Canary *Canary `json:"canary,omitempty"`
}

AutoSSLSpec defines the desired state of AutoSSL

func (*AutoSSLSpec) DeepCopy

func (in *AutoSSLSpec) DeepCopy() *AutoSSLSpec

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

func (*AutoSSLSpec) DeepCopyInto

func (in *AutoSSLSpec) DeepCopyInto(out *AutoSSLSpec)

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

func (*AutoSSLSpec) Default

func (spec *AutoSSLSpec) Default()

Default implements defaulting for AutoSSLSpec

func (*AutoSSLSpec) ResolveCanarySpec

func (spec *AutoSSLSpec) ResolveCanarySpec(canary *Canary) (*AutoSSLSpec, error)

ResolveCanarySpec modifies the AutoSSLSpec given the provided canary configuration

type AutoSSLStatus

type AutoSSLStatus struct {
}

AutoSSLStatus defines the observed state of AutoSSL

func (*AutoSSLStatus) DeepCopy

func (in *AutoSSLStatus) DeepCopy() *AutoSSLStatus

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

func (*AutoSSLStatus) DeepCopyInto

func (in *AutoSSLStatus) DeepCopyInto(out *AutoSSLStatus)

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

type Backend

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

	Spec   BackendSpec   `json:"spec,omitempty"`
	Status BackendStatus `json:"status,omitempty"`
}

Backend is the Schema for the backends API

func (*Backend) DeepCopy

func (in *Backend) DeepCopy() *Backend

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

func (*Backend) DeepCopyInto

func (in *Backend) DeepCopyInto(out *Backend)

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

func (*Backend) DeepCopyObject

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

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

func (*Backend) Default

func (b *Backend) Default()

Defaults impletements defaulting for the Apicast resource

type BackendConfig

type BackendConfig struct {
	// Rack environment
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	RackEnv *string `json:"rackEnv,omitempty"`
	// Master service account ID in Porta
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	MasterServiceID *int32 `json:"masterServiceID,omitempty"`
	// Redis Storage DSN
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	RedisStorageDSN string `json:"redisStorageDSN"`
	// Redis Queues DSN
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	RedisQueuesDSN string `json:"redisQueuesDSN"`
	// External Secret common configuration
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ExternalSecret ExternalSecret `json:"externalSecret,omitempty"`
	// A reference to the secret holding the backend-system-events-hook URL
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	SystemEventsHookURL SecretReference `json:"systemEventsHookURL"`
	// A reference to the secret holding the backend-system-events-hook password
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	SystemEventsHookPassword SecretReference `json:"systemEventsHookPassword"`
	// A reference to the secret holding the backend-internal-api user
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	InternalAPIUser SecretReference `json:"internalAPIUser"`
	// A reference to the secret holding the backend-internal-api password
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	InternalAPIPassword SecretReference `json:"internalAPIPassword"`
	// A reference to the secret holding the backend-error-monitoring service
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ErrorMonitoringService *SecretReference `json:"errorMonitoringService,omitempty"`
	// A reference to the secret holding the backend-error-monitoring key
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ErrorMonitoringKey *SecretReference `json:"errorMonitoringKey,omitempty"`
}

BackendConfig configures app behavior for Backend

func (*BackendConfig) DeepCopy

func (in *BackendConfig) DeepCopy() *BackendConfig

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

func (*BackendConfig) DeepCopyInto

func (in *BackendConfig) DeepCopyInto(out *BackendConfig)

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

func (*BackendConfig) Default

func (cfg *BackendConfig) Default()

Default sets default values for any value not specifically set in the BackendConfig struct

type BackendList

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

BackendList contains a list of Backend

func (*BackendList) DeepCopy

func (in *BackendList) DeepCopy() *BackendList

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

func (*BackendList) DeepCopyInto

func (in *BackendList) DeepCopyInto(out *BackendList)

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

func (*BackendList) DeepCopyObject

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

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

type BackendSpec

type BackendSpec struct {
	// Image specification for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Application specific configuration options for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Config BackendConfig `json:"config"`
	// Configures the Grafana Dashboard for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	GrafanaDashboard *GrafanaDashboardSpec `json:"grafanaDashboard,omitempty"`
	// Configures the backend listener
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Listener ListenerSpec `json:"listener"`
	// Configures the backend worker
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Worker *WorkerSpec `json:"worker,omitempty"`
	// Configures the backend cron
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Cron *CronSpec `json:"cron,omitempty"`
	// Configures twemproxy
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Twemproxy *TwemproxySpec `json:"twemproxy,omitempty"`
}

BackendSpec defines the desired state of Backend

func (*BackendSpec) DeepCopy

func (in *BackendSpec) DeepCopy() *BackendSpec

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

func (*BackendSpec) DeepCopyInto

func (in *BackendSpec) DeepCopyInto(out *BackendSpec)

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

func (*BackendSpec) Default

func (spec *BackendSpec) Default()

Default implements defaulting for BackendSpec

func (*BackendSpec) ResolveCanarySpec

func (spec *BackendSpec) ResolveCanarySpec(canary *Canary) (*BackendSpec, error)

ResolveCanarySpec modifies the BackendSpec given the provided canary configuration

type BackendStatus

type BackendStatus struct{}

BackendStatus defines the observed state of Backend

func (*BackendStatus) DeepCopy

func (in *BackendStatus) DeepCopy() *BackendStatus

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

func (*BackendStatus) DeepCopyInto

func (in *BackendStatus) DeepCopyInto(out *BackendStatus)

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

type BackupState

type BackupState string
const (
	BackupPendingState   BackupState = "Pending"
	BackupRunningState   BackupState = "Running"
	BackupCompletedState BackupState = "Completed"
	BackupFailedState    BackupState = "Failed"
	BackupUnknownState   BackupState = "Unknown"
)

type BackupStatus

type BackupStatus struct {
	// Name of the shard
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Shard string `json:"shard"`
	// Redis server alias
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ServerAlias *string `json:"serverAlias,omitempty"`
	// Server host:port
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ServerID *string `json:"serverID,omitempty"`
	// Scheduled time for the backup to start
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ScheduledFor metav1.Time `json:"scheduledFor"`
	// Actual time the backup starts
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	StartedAt *metav1.Time `json:"startedAt,omitempty"`
	// when the backup was completed
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	FinishedAt *metav1.Time `json:"finishedAt,omitempty"`
	// Descriptive message of the backup status
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Message string `json:"message"`
	// Backup status
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	State BackupState `json:"state"`
	// Final storage location of the backup
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	BackupFile *string `json:"backupFile"`
	// Stored size of the backup in bytes
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	BackupSize *int64 `json:"backupSize"`
}

func (*BackupStatus) DeepCopy

func (in *BackupStatus) DeepCopy() *BackupStatus

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

func (*BackupStatus) DeepCopyInto

func (in *BackupStatus) DeepCopyInto(out *BackupStatus)

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

type BackupStatusList

type BackupStatusList []BackupStatus

func (BackupStatusList) DeepCopy

func (in BackupStatusList) DeepCopy() BackupStatusList

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

func (BackupStatusList) DeepCopyInto

func (in BackupStatusList) DeepCopyInto(out *BackupStatusList)

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

func (BackupStatusList) Len

func (bsl BackupStatusList) Len() int

func (BackupStatusList) Less

func (bsl BackupStatusList) Less(i, j int) bool

func (BackupStatusList) Swap

func (bsl BackupStatusList) Swap(i, j int)

type BugsnagSpec

type BugsnagSpec struct {
	// Release Stage to identify environment
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReleaseStage *string `json:"releaseStage,omitempty"`
	// API key
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	APIKey SecretReference `json:"apiKey"`
}

BugsnagSpec has configuration for Bugsnag integration

func (*BugsnagSpec) DeepCopy

func (in *BugsnagSpec) DeepCopy() *BugsnagSpec

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

func (*BugsnagSpec) DeepCopyInto

func (in *BugsnagSpec) DeepCopyInto(out *BugsnagSpec)

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

func (*BugsnagSpec) Enabled

func (bs *BugsnagSpec) Enabled() bool

Enabled returns a boolean indication whether the Bugsnag integration is enabled or not

type CORSProxy

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

	Spec   CORSProxySpec   `json:"spec,omitempty"`
	Status CORSProxyStatus `json:"status,omitempty"`
}

CORSProxy is the Schema for the corsproxies API

func (*CORSProxy) DeepCopy

func (in *CORSProxy) DeepCopy() *CORSProxy

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

func (*CORSProxy) DeepCopyInto

func (in *CORSProxy) DeepCopyInto(out *CORSProxy)

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

func (*CORSProxy) DeepCopyObject

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

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

func (*CORSProxy) Default

func (c *CORSProxy) Default()

Default implements defaulting for the CORSProxy resource

type CORSProxyConfig

type CORSProxyConfig struct {
	// External Secret common configuration
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ExternalSecret ExternalSecret `json:"externalSecret,omitempty"`
	// System database connection string
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	SystemDatabaseDSN SecretReference `json:"systemDatabaseDSN"`
}

CORSProxyConfig defines configuration options for the component

func (*CORSProxyConfig) DeepCopy

func (in *CORSProxyConfig) DeepCopy() *CORSProxyConfig

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

func (*CORSProxyConfig) DeepCopyInto

func (in *CORSProxyConfig) DeepCopyInto(out *CORSProxyConfig)

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

func (*CORSProxyConfig) Default

func (cfg *CORSProxyConfig) Default()

Default sets default values for any value not specifically set in the CORSProxyConfig struct

type CORSProxyList

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

CORSProxyList contains a list of CORSProxy

func (*CORSProxyList) DeepCopy

func (in *CORSProxyList) DeepCopy() *CORSProxyList

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

func (*CORSProxyList) DeepCopyInto

func (in *CORSProxyList) DeepCopyInto(out *CORSProxyList)

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

func (*CORSProxyList) DeepCopyObject

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

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

type CORSProxySpec

type CORSProxySpec struct {
	// Image specification for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Pod Disruption Budget for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PDB *PodDisruptionBudgetSpec `json:"pdb,omitempty"`
	// Horizontal Pod Autoscaler for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HPA *HorizontalPodAutoscalerSpec `json:"hpa,omitempty"`
	// Number of replicas (ignored if hpa is enabled) for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// Configures the Grafana Dashboard for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	GrafanaDashboard *GrafanaDashboardSpec `json:"grafanaDashboard,omitempty"`
	// Application specific configuration options for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Config CORSProxyConfig `json:"config"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
}

CORSProxySpec defines the desired state of CORSProxy

func (*CORSProxySpec) DeepCopy

func (in *CORSProxySpec) DeepCopy() *CORSProxySpec

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

func (*CORSProxySpec) DeepCopyInto

func (in *CORSProxySpec) DeepCopyInto(out *CORSProxySpec)

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

func (*CORSProxySpec) Default

func (spec *CORSProxySpec) Default()

Default implements defaulting for CORSProxySpec

type CORSProxyStatus

type CORSProxyStatus struct{}

CORSProxyStatus defines the observed state of CORSProxy

func (*CORSProxyStatus) DeepCopy

func (in *CORSProxyStatus) DeepCopy() *CORSProxyStatus

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

func (*CORSProxyStatus) DeepCopyInto

func (in *CORSProxyStatus) DeepCopyInto(out *CORSProxyStatus)

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

type Canary

type Canary struct {
	// SendTraffic controls if traffic is sent to the canary
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	SendTraffic bool `json:"sendTraffic"`
	// ImageName to use for the canary Deployment
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ImageName *string `json:"imageName,omitempty"`
	// ImageTag to use for the canary Deployment
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ImageTag *string `json:"imageTag,omitempty"`
	// Number of replicas for the canary Deployment
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Patches to apply for the canary Deployment. Patches are expected
	// to be JSON documents as an RFC 6902 patches.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// + optional
	Patches []string `json:"patches,omitempty"`
}

Canary allows the definition of a canary Deployment

func (*Canary) DeepCopy

func (in *Canary) DeepCopy() *Canary

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

func (*Canary) DeepCopyInto

func (in *Canary) DeepCopyInto(out *Canary)

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

func (*Canary) PatchSpec

func (c *Canary) PatchSpec(spec, canarySpec interface{}) error

PatchSpec returns a modified spec given the canary configuration

type Cluster

type Cluster struct {
	// The upstream host
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Host string `json:"host"`
	// The upstream port
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Port uint32 `json:"port"`
	// Specifies if the upstream cluster is http2 or not (default).
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default:=false
	// +optional
	IsHttp2 *bool `json:"isHttp2"`
}

Cluster contains options for an Envoy cluster protobuffer message

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

type CronSpec

type CronSpec struct {
	// Number of replicas for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Describes node affinity scheduling rules for the pod.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
}

CronSpec is the configuration for Backend Cron

func (*CronSpec) DeepCopy

func (in *CronSpec) DeepCopy() *CronSpec

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

func (*CronSpec) DeepCopyInto

func (in *CronSpec) DeepCopyInto(out *CronSpec)

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

func (*CronSpec) Default

func (spec *CronSpec) Default()

Default implements defaulting for the each backend cron

type DeploymentStrategySpec

type DeploymentStrategySpec struct {
	// Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.
	// +optional
	Type appsv1.DeploymentStrategyType `json:"type,omitempty"`
	// Rolling update config params. Present only if DeploymentStrategyType =
	// RollingUpdate.
	// +optional
	RollingUpdate *appsv1.RollingUpdateDeployment `json:"rollingUpdate,omitempty"`
}

func InitializeDeploymentStrategySpec

func InitializeDeploymentStrategySpec(spec *DeploymentStrategySpec, def defaultDeploymentRollingStrategySpec) *DeploymentStrategySpec

InitializeDeploymentStrategySpec initializes a DeploymentStrategySpec struct

func (*DeploymentStrategySpec) DeepCopy

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

func (*DeploymentStrategySpec) DeepCopyInto

func (in *DeploymentStrategySpec) DeepCopyInto(out *DeploymentStrategySpec)

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

func (*DeploymentStrategySpec) Default

func (spec *DeploymentStrategySpec) Default(def defaultDeploymentRollingStrategySpec)

Default sets default values for any value not specifically set in the DeploymentStrategySpec struct

type EchoAPI

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

	Spec   EchoAPISpec   `json:"spec,omitempty"`
	Status EchoAPIStatus `json:"status,omitempty"`
}

EchoAPI is the Schema for the echoapis API

func (*EchoAPI) DeepCopy

func (in *EchoAPI) DeepCopy() *EchoAPI

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

func (*EchoAPI) DeepCopyInto

func (in *EchoAPI) DeepCopyInto(out *EchoAPI)

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

func (*EchoAPI) DeepCopyObject

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

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

func (*EchoAPI) Default

func (e *EchoAPI) Default()

Default implements defaulting for the EchoAPI resource

type EchoAPIList

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

EchoAPIList contains a list of echoapi

func (*EchoAPIList) DeepCopy

func (in *EchoAPIList) DeepCopy() *EchoAPIList

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

func (*EchoAPIList) DeepCopyInto

func (in *EchoAPIList) DeepCopyInto(out *EchoAPIList)

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

func (*EchoAPIList) DeepCopyObject

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

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

type EchoAPISpec

type EchoAPISpec struct {
	// Image specification for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Configures the Grafana Dashboard for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HPA *HorizontalPodAutoscalerSpec `json:"hpa,omitempty"`
	// Number of replicas (ignored if hpa is enabled) for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PDB *PodDisruptionBudgetSpec `json:"pdb,omitempty"`
	// Horizontal Pod Autoscaler for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// Marin3r configures the Marin3r sidecars for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Marin3r *Marin3rSidecarSpec `json:"marin3r,omitempty"`
	// Configures the AWS Network load balancer for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LoadBalancer *NLBLoadBalancerSpec `json:"loadBalancer,omitempty"`
	// The external endpoint/s for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Endpoint Endpoint `json:"endpoint"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
}

EchoAPISpec defines the desired state of echoapi

func (*EchoAPISpec) DeepCopy

func (in *EchoAPISpec) DeepCopy() *EchoAPISpec

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

func (*EchoAPISpec) DeepCopyInto

func (in *EchoAPISpec) DeepCopyInto(out *EchoAPISpec)

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

func (*EchoAPISpec) Default

func (spec *EchoAPISpec) Default()

Default implements defaulting for EchoAPI

type EchoAPIStatus

type EchoAPIStatus struct{}

EchoAPIStatus defines the observed state of EchoAPI

func (*EchoAPIStatus) DeepCopy

func (in *EchoAPIStatus) DeepCopy() *EchoAPIStatus

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

func (*EchoAPIStatus) DeepCopyInto

func (in *EchoAPIStatus) DeepCopyInto(out *EchoAPIStatus)

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

type Endpoint

type Endpoint struct {
	// The list of dns records that will point to the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	DNS []string `json:"dns"`
}

Endpoint sets the external endpoint for the component

func (*Endpoint) DeepCopy

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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

type EnvoyDynamicConfig

type EnvoyDynamicConfig struct {
	// hidden field
	Name string `json:"-"`
	// GeneratorVersion specifies the version of a given template.
	// "v1" is the default.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default:=v1
	// +optional
	GeneratorVersion *string `json:"generatorVersion,omitempty"`
	// ListenerHttp contains options for an HTTP/HTTPS listener
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ListenerHttp *ListenerHttp `json:"listenerHttp,omitempty"`
	// RouteConfiguration contains options for an Envoy route_configuration
	// protobuffer message
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	RouteConfiguration *RouteConfiguration `json:"routeConfiguration,omitempty"`
	// Cluster contains options for an Envoy cluster protobuffer message
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Cluster *Cluster `json:"cluster,omitempty"`
	// Runtime contains options for an Envoy runtime protobuffer message
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Runtime *Runtime `json:"runtime,omitempty"`
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	RawConfig *RawConfig `json:"rawConfig,omitempty"`
}

+kubebuilder:validation:MinProperties:=2 +kubebuilder:validation:MaxProperties:=2

func (*EnvoyDynamicConfig) AsEnvoyDynamicConfigDescriptor

func (config *EnvoyDynamicConfig) AsEnvoyDynamicConfigDescriptor(name string) envoyconfig.EnvoyDynamicConfigDescriptor

AsEnvoyDynamicConfigDescriptor converts the external API type into the internal EnvoyDynamicConfigDescriptor interface. The name field is populated with the parameter passed to the function.

func (*EnvoyDynamicConfig) DeepCopy

func (in *EnvoyDynamicConfig) DeepCopy() *EnvoyDynamicConfig

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

func (*EnvoyDynamicConfig) DeepCopyInto

func (in *EnvoyDynamicConfig) DeepCopyInto(out *EnvoyDynamicConfig)

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

func (*EnvoyDynamicConfig) GetGeneratorVersion

func (config *EnvoyDynamicConfig) GetGeneratorVersion() string

GetGeneratorVersion returns the template's version

func (*EnvoyDynamicConfig) GetName

func (config *EnvoyDynamicConfig) GetName() string

func (*EnvoyDynamicConfig) GetOptions

func (config *EnvoyDynamicConfig) GetOptions() interface{}

type ExternalSecret

type ExternalSecret struct {
	// SecretStoreRef defines which SecretStore to use when fetching the secret data
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	SecretStoreRef *ExternalSecretSecretStoreReferenceSpec `json:"secretStoreRef,omitempty"`
	// RefreshInterval is the amount of time before the values reading again from the SecretStore provider (duration)
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	RefreshInterval *metav1.Duration `json:"refreshInterval,omitempty"`
}

ExternalSecret is a reference to the ExternalSecret common configuration

func (*ExternalSecret) DeepCopy

func (in *ExternalSecret) DeepCopy() *ExternalSecret

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

func (*ExternalSecret) DeepCopyInto

func (in *ExternalSecret) DeepCopyInto(out *ExternalSecret)

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

func (*ExternalSecret) Default

func (spec *ExternalSecret) Default()

type ExternalSecretSecretStoreReferenceSpec

type ExternalSecretSecretStoreReferenceSpec struct {
	// The Vault secret store reference name
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Name *string `json:"name,omitempty"`
	// The Vault secret store reference kind
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Kind *string `json:"kind,omitempty"`
}

ExternalSecretSecretStoreReferenceSpec is a reference to a secret store

func InitializeExternalSecretSecretStoreReferenceSpec

func InitializeExternalSecretSecretStoreReferenceSpec(spec *ExternalSecretSecretStoreReferenceSpec, def defaultExternalSecretSecretStoreReferenceSpec) *ExternalSecretSecretStoreReferenceSpec

InitializeExternalSecretSecretStoreReferenceSpec initializes a ExternalSecretSecretStoreReferenceSpec struct

func (*ExternalSecretSecretStoreReferenceSpec) DeepCopy

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

func (*ExternalSecretSecretStoreReferenceSpec) DeepCopyInto

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

func (*ExternalSecretSecretStoreReferenceSpec) Default

func (spec *ExternalSecretSecretStoreReferenceSpec) Default(def defaultExternalSecretSecretStoreReferenceSpec)

Default sets default values for any value not specifically set in the ExternalSecretSecretStoreReferenceSpec struct

type GithubSpec

type GithubSpec struct {
	// Client ID
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ClientID SecretReference `json:"clientID"`
	// Client secret
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ClientSecret SecretReference `json:"clientSecret"`
}

GithubSpec has configuration for Github integration

func (*GithubSpec) DeepCopy

func (in *GithubSpec) DeepCopy() *GithubSpec

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

func (*GithubSpec) DeepCopyInto

func (in *GithubSpec) DeepCopyInto(out *GithubSpec)

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

type GrafanaDashboardSpec

type GrafanaDashboardSpec struct {
	// Label key used by grafana-operator for dashboard discovery
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	SelectorKey *string `json:"selectorKey,omitempty"`
	// Label value used by grafana-operator for dashboard discovery
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	SelectorValue *string `json:"selectorValue,omitempty"`
}

GrafanaDashboardSpec configures the Grafana Dashboard for the component

func InitializeGrafanaDashboardSpec

func InitializeGrafanaDashboardSpec(spec *GrafanaDashboardSpec, def defaultGrafanaDashboardSpec) *GrafanaDashboardSpec

InitializeGrafanaDashboardSpec initializes a GrafanaDashboardSpec struct

func (*GrafanaDashboardSpec) DeepCopy

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

func (*GrafanaDashboardSpec) DeepCopyInto

func (in *GrafanaDashboardSpec) DeepCopyInto(out *GrafanaDashboardSpec)

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

func (*GrafanaDashboardSpec) Default

func (spec *GrafanaDashboardSpec) Default(def defaultGrafanaDashboardSpec)

Default sets default values for any value not specifically set in the GrafanaDashboardSpec struct

func (*GrafanaDashboardSpec) IsDeactivated

func (spec *GrafanaDashboardSpec) IsDeactivated() bool

IsDeactivated true if the field is set with the deactivated value (empty struct)

type HorizontalPodAutoscalerSpec

type HorizontalPodAutoscalerSpec struct {
	// Lower limit for the number of replicas to which the autoscaler
	// can scale down.  It defaults to 1 pod.  minReplicas is allowed to be 0 if the
	// alpha feature gate HPAScaleToZero is enabled and at least one Object or External
	// metric is configured.  Scaling is active as long as at least one metric value is
	// available.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`
	// Upper limit for the number of replicas to which the autoscaler can scale up.
	// It cannot be less that minReplicas.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	MaxReplicas *int32 `json:"maxReplicas,omitempty"`
	// Target resource used to autoscale (cpu/memory)
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Enum=cpu;memory
	// +optional
	ResourceName *string `json:"resourceName,omitempty"`
	// A percentage indicating the target resource consumption used to autoscale
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ResourceUtilization *int32 `json:"resourceUtilization,omitempty"`
	// Behavior configures the scaling behavior of the target
	// in both Up and Down directions (scaleUp and scaleDown fields respectively).
	// If not set, the default HPAScalingRules for scale up and scale down are used.
	// +optional
	Behavior *autoscalingv2.HorizontalPodAutoscalerBehavior `json:"behavior,omitempty"`
}

HorizontalPodAutoscalerSpec defines the HPA for the component

func InitializeHorizontalPodAutoscalerSpec

func InitializeHorizontalPodAutoscalerSpec(spec *HorizontalPodAutoscalerSpec, def defaultHorizontalPodAutoscalerSpec) *HorizontalPodAutoscalerSpec

InitializeHorizontalPodAutoscalerSpec initializes a HorizontalPodAutoscalerSpec struct

func (*HorizontalPodAutoscalerSpec) DeepCopy

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

func (*HorizontalPodAutoscalerSpec) DeepCopyInto

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

func (*HorizontalPodAutoscalerSpec) Default

func (spec *HorizontalPodAutoscalerSpec) Default(def defaultHorizontalPodAutoscalerSpec)

Default sets default values for any value not specifically set in the PodDisruptionBudgetSpec struct

func (*HorizontalPodAutoscalerSpec) IsDeactivated

func (spec *HorizontalPodAutoscalerSpec) IsDeactivated() bool

IsDeactivated true if the field is set with the deactivated value (empty struct)

type ImageSpec

type ImageSpec struct {
	// Docker repository of the image
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Name *string `json:"name,omitempty"`
	// Image tag
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Tag *string `json:"tag,omitempty"`
	// Name of the Secret that holds quay.io credentials to access
	// the image repository
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PullSecretName *string `json:"pullSecretName,omitempty"`
	// Pull policy for the image
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PullPolicy *corev1.PullPolicy `json:"pullPolicy,omitempty"`
}

ImageSpec defines the image for the component

func InitializeImageSpec

func InitializeImageSpec(spec *ImageSpec, def defaultImageSpec) *ImageSpec

InitializeImageSpec initializes a ImageSpec struct

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

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

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

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

func (*ImageSpec) Default

func (spec *ImageSpec) Default(def defaultImageSpec)

Default sets default values for any value not specifically set in the ImageSpec struct

func (*ImageSpec) IsDeactivated

func (spec *ImageSpec) IsDeactivated() bool

IsDeactivated true if the field is set with the deactivated value (empty struct)

type ListenerConfig

type ListenerConfig struct {
	// Listener log format
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Enum=test;json
	// +optional
	LogFormat *string `json:"logFormat,omitempty"`
	// Enable (true) or disable (false) listener redis async mode
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	RedisAsync *bool `json:"redisAsync,omitempty"`
	// Number of worker processes per listener pod
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ListenerWorkers *int32 `json:"listenerWorkers,omitempty"`
	// Enable (true) or disable (false) Legacy Referrer Filters
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LegacyReferrerFilters *bool `json:"legacyReferrerFilters,omitempty"`
}

ListenerConfig configures app behavior for Backend Listener

func (*ListenerConfig) DeepCopy

func (in *ListenerConfig) DeepCopy() *ListenerConfig

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

func (*ListenerConfig) DeepCopyInto

func (in *ListenerConfig) DeepCopyInto(out *ListenerConfig)

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

func (*ListenerConfig) Default

func (cfg *ListenerConfig) Default()

Default sets default values for any value not specifically set in the ListenerConfig struct

type ListenerHttp

type ListenerHttp struct {
	// The port where the listener listens for new connections
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Port uint32 `json:"port"`
	// Whether proxy protocol should be enabled or not. Defaults to true.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default:=true
	// +optional
	ProxyProtocol *bool `json:"proxyProtocol,omitempty"`
	// The name of the RouteConfiguration to use in the listener
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	RouteConfigName string `json:"routeConfigName"`
	// The name of the Secret containing a valid certificate. If unset
	// the listener will be http, if set https
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	CertificateSecretName *string `json:"certificateSecretName,omitempty"`
	// Rate limit options for the ratelimit filter of the HTTP connection
	// manager
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	RateLimitOptions *RateLimitOptions `json:"rateLimitOptions,omitempty"`
	// If this filed is set, http 1.0 will be enabled and this will be
	// the default hostname to use.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	DefaultHostForHttp10 *string `json:"defaultHostForHttp10,omitempty"`
	// Enable http2 in the listener.Disabled by default.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default:=false
	// +optional
	EnableHttp2 *bool `json:"enableHttp2,omitempty"`
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default:=true
	// +optional
	// Allow headers with underscores
	AllowHeadersWithUnderscores *bool `json:"allowHeadersWithUnderscores,omitempty"`
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	// Max connection duration. If unset no max connection duration will be applied.
	MaxConnectionDuration *metav1.Duration `json:"maxConnectionDuration,omitempty"`
}

ListenerHttp contains options for an HTTP/HTTPS listener

func (*ListenerHttp) DeepCopy

func (in *ListenerHttp) DeepCopy() *ListenerHttp

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

func (*ListenerHttp) DeepCopyInto

func (in *ListenerHttp) DeepCopyInto(out *ListenerHttp)

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

type ListenerSpec

type ListenerSpec struct {
	// Listener specific configuration options for the component element
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Config *ListenerConfig `json:"config,omitempty"`
	// Pod Disruption Budget for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PDB *PodDisruptionBudgetSpec `json:"pdb,omitempty"`
	// Horizontal Pod Autoscaler for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HPA *HorizontalPodAutoscalerSpec `json:"hpa,omitempty"`
	// Number of replicas (ignored if hpa is enabled) for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// The external endpoint/s for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Endpoint Endpoint `json:"endpoint"`
	// Marin3r configures the Marin3r sidecars for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Marin3r *Marin3rSidecarSpec `json:"marin3r,omitempty"`
	// Configures the AWS Network load balancer for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LoadBalancer *NLBLoadBalancerSpec `json:"loadBalancer,omitempty"`
	// Describes node affinity scheduling rules for the pod.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
	// Canary defines spec changes for the canary Deployment. If
	// left unset the canary Deployment wil not be created.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Canary *Canary `json:"canary,omitempty"`
}

ListenerSpec is the configuration for Backend Listener

func (*ListenerSpec) DeepCopy

func (in *ListenerSpec) DeepCopy() *ListenerSpec

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

func (*ListenerSpec) DeepCopyInto

func (in *ListenerSpec) DeepCopyInto(out *ListenerSpec)

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

func (*ListenerSpec) Default

func (spec *ListenerSpec) Default()

Default implements defaulting for the each backend listener

type LoadBalancerSpec

type LoadBalancerSpec struct {
	// Enables/disbles use of proxy protocol in the load balancer
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ProxyProtocol *bool `json:"proxyProtocol,omitempty"`
	// Enables/disables cross zone load balancing
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	CrossZoneLoadBalancingEnabled *bool `json:"crossZoneLoadBalancingEnabled,omitempty"`
	// Enables/disables connection draining
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ConnectionDrainingEnabled *bool `json:"connectionDrainingEnabled,omitempty"`
	// Sets the timeout for connection draining
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ConnectionDrainingTimeout *int32 `json:"connectionDrainingTimeout,omitempty"`
	// Sets the healthy threshold for the load balancer
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HealthcheckHealthyThreshold *int32 `json:"healthcheckHealthyThreshold,omitempty"`
	// Sets the unhealthy threshold for the load balancer
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HealthcheckUnhealthyThreshold *int32 `json:"healthcheckUnhealthyThreshold,omitempty"`
	// Sets the interval between health checks
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HealthcheckInterval *int32 `json:"healthcheckInterval,omitempty"`
	// Sets the timeout for the health check
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HealthcheckTimeout *int32 `json:"healthcheckTimeout,omitempty"`
}

LoadBalancerSpec configures the AWS load balancer for the component

func InitializeLoadBalancerSpec

func InitializeLoadBalancerSpec(spec *LoadBalancerSpec, def defaultLoadBalancerSpec) *LoadBalancerSpec

InitializeLoadBalancerSpec initializes a LoadBalancerSpec struct

func (*LoadBalancerSpec) DeepCopy

func (in *LoadBalancerSpec) DeepCopy() *LoadBalancerSpec

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

func (*LoadBalancerSpec) DeepCopyInto

func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec)

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

func (*LoadBalancerSpec) Default

func (spec *LoadBalancerSpec) Default(def defaultLoadBalancerSpec)

Default sets default values for any value not specifically set in the LoadBalancerSpec struct

func (*LoadBalancerSpec) IsDeactivated

func (spec *LoadBalancerSpec) IsDeactivated() bool

IsDeactivated true if the field is set with the deactivated value (empty struct)

type MapOfEnvoyDynamicConfig

type MapOfEnvoyDynamicConfig map[string]EnvoyDynamicConfig

func (MapOfEnvoyDynamicConfig) AsList

AsList transforms from the map in the external API to the list of elements that the internal API expects.

func (MapOfEnvoyDynamicConfig) DeepCopy

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

func (MapOfEnvoyDynamicConfig) DeepCopyInto

func (in MapOfEnvoyDynamicConfig) DeepCopyInto(out *MapOfEnvoyDynamicConfig)

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

type MappingService

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

	Spec   MappingServiceSpec   `json:"spec,omitempty"`
	Status MappingServiceStatus `json:"status,omitempty"`
}

MappingService is the Schema for the mappingservices API

func (*MappingService) DeepCopy

func (in *MappingService) DeepCopy() *MappingService

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

func (*MappingService) DeepCopyInto

func (in *MappingService) DeepCopyInto(out *MappingService)

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

func (*MappingService) DeepCopyObject

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

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

func (*MappingService) Default

func (ms *MappingService) Default()

Default implements defaulting for the MappingService resource

type MappingServiceConfig

type MappingServiceConfig struct {
	// System endpoint to fetch proxy configs from
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	APIHost string `json:"apiHost"`
	// Base domain to replace the proxy configs base domain
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PreviewBaseDomain *string `json:"previewBaseDomain,omitempty"`
	// Openresty log level
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuiler:validation:Enum=debug;info;notice;warn;error;crit;alert;emerg
	// +optional
	LogLevel *string `json:"logLevel,omitempty"`
	// External Secret common configuration
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ExternalSecret ExternalSecret `json:"externalSecret,omitempty"`
	// A reference to the secret holding the system admin token
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	SystemAdminToken SecretReference `json:"systemAdminToken"`
}

MappingServiceConfig configures app behavior for MappingService

func (*MappingServiceConfig) DeepCopy

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

func (*MappingServiceConfig) DeepCopyInto

func (in *MappingServiceConfig) DeepCopyInto(out *MappingServiceConfig)

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

func (*MappingServiceConfig) Default

func (cfg *MappingServiceConfig) Default()

Default sets default values for any value not specifically set in the MappingServiceConfig struct

type MappingServiceList

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

MappingServiceList contains a list of MappingService

func (*MappingServiceList) DeepCopy

func (in *MappingServiceList) DeepCopy() *MappingServiceList

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

func (*MappingServiceList) DeepCopyInto

func (in *MappingServiceList) DeepCopyInto(out *MappingServiceList)

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

func (*MappingServiceList) DeepCopyObject

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

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

type MappingServiceSpec

type MappingServiceSpec struct {
	// Image specification for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Pod Disruption Budget for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PDB *PodDisruptionBudgetSpec `json:"pdb,omitempty"`
	// Horizontal Pod Autoscaler for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HPA *HorizontalPodAutoscalerSpec `json:"hpa,omitempty"`
	// Number of replicas (ignored if hpa is enabled) for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// Configures the Grafana Dashboard for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	GrafanaDashboard *GrafanaDashboardSpec `json:"grafanaDashboard,omitempty"`
	// Application specific configuration options for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Config MappingServiceConfig `json:"config"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
}

MappingServiceSpec defines the desired state of MappingService

func (*MappingServiceSpec) DeepCopy

func (in *MappingServiceSpec) DeepCopy() *MappingServiceSpec

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

func (*MappingServiceSpec) DeepCopyInto

func (in *MappingServiceSpec) DeepCopyInto(out *MappingServiceSpec)

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

func (*MappingServiceSpec) Default

func (spec *MappingServiceSpec) Default()

Default implements defaulting for MappingServiceSpec

type MappingServiceStatus

type MappingServiceStatus struct {
}

MappingServiceStatus defines the observed state of MappingService

func (*MappingServiceStatus) DeepCopy

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

func (*MappingServiceStatus) DeepCopyInto

func (in *MappingServiceStatus) DeepCopyInto(out *MappingServiceStatus)

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

type Marin3rSidecarSpec

type Marin3rSidecarSpec struct {
	// The NodeID that identifies the Envoy sidecar to the DiscoveryService
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	NodeID *string `json:"nodeID,omitempty"`
	// The Envoy API version to use
	// +kubebuilder:validation:Enum=v3
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	EnvoyAPIVersion *string `json:"envoyAPIVersion,omitempty"`
	// The Envoy iamge to use
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	EnvoyImage *string `json:"envoyImage,omitempty"`
	// The ports that the sidecar exposes
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Ports []SidecarPort `json:"ports,omitempty"`
	// Compute Resources required by this container.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// The port where Marin3r's shutdown manager listens
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ShutdownManagerPort *uint32 `json:"shtdnmgrPort,omitempty"`
	// Extra containers to sync with the shutdown manager upon pod termination
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ShutdownManagerExtraLifecycleHooks []string `json:"shtdnmgrExtraLifecycleHooks"`
	// Extra annotations to pass the Pod to further configure the sidecar container.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ExtraPodAnnotations map[string]string `json:"extraPodAnnotations,omitempty"`
	// Envoy dynamic configuration. Populating this field causes the operator
	// to create a Marin3r EnvoyConfig resource, so Marin3r must be installed
	// in the cluster.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	EnvoyDynamicConfig MapOfEnvoyDynamicConfig `json:"dynamicConfigs,omitempty"`
}

Marin3rSidecarSpec defines the marin3r sidecar for the component

func InitializeMarin3rSidecarSpec

func InitializeMarin3rSidecarSpec(spec *Marin3rSidecarSpec, def defaultMarin3rSidecarSpec) *Marin3rSidecarSpec

InitializeMarin3rSidecarSpec initializes a ResourceRequirementsSpec struct

func (*Marin3rSidecarSpec) DeepCopy

func (in *Marin3rSidecarSpec) DeepCopy() *Marin3rSidecarSpec

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

func (*Marin3rSidecarSpec) DeepCopyInto

func (in *Marin3rSidecarSpec) DeepCopyInto(out *Marin3rSidecarSpec)

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

func (*Marin3rSidecarSpec) Default

func (spec *Marin3rSidecarSpec) Default(def defaultMarin3rSidecarSpec)

Default sets default values for any value not specifically set in the ResourceRequirementsSpec struct

func (*Marin3rSidecarSpec) IsDeactivated

func (spec *Marin3rSidecarSpec) IsDeactivated() bool

IsDeactivated true if the field is set with the deactivated value (empty struct)

type MonitoredShard

type MonitoredShard struct {
	// Name is the name of the redis shard
	// +operator-sdk:csv:customresourcedefinitions:type=status
	Name string `json:"name"`
	// Server is a map intended to store configuration information
	// of each of the RedisServer instances that belong to the MonitoredShard
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	Servers map[string]RedisServerDetails `json:"servers,omitempty"`
}

MonitoredShard contains information of one of the shards monitored by the Sentinel resource

func (*MonitoredShard) DeepCopy

func (in *MonitoredShard) DeepCopy() *MonitoredShard

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

func (*MonitoredShard) DeepCopyInto

func (in *MonitoredShard) DeepCopyInto(out *MonitoredShard)

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

type MonitoredShards

type MonitoredShards []MonitoredShard

func (MonitoredShards) DeepCopy

func (in MonitoredShards) DeepCopy() MonitoredShards

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

func (MonitoredShards) DeepCopyInto

func (in MonitoredShards) DeepCopyInto(out *MonitoredShards)

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

func (MonitoredShards) Len

func (ms MonitoredShards) Len() int

MonitoredShards implements sort.Interface based on the Name field.

func (MonitoredShards) Less

func (ms MonitoredShards) Less(i, j int) bool

func (MonitoredShards) Swap

func (ms MonitoredShards) Swap(i, j int)

type NLBLoadBalancerSpec

type NLBLoadBalancerSpec struct {
	// Enables/disbles use of proxy protocol in the load balancer
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ProxyProtocol *bool `json:"proxyProtocol,omitempty"`
	// Enables/disables cross zone load balancing
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	CrossZoneLoadBalancingEnabled *bool `json:"crossZoneLoadBalancingEnabled,omitempty"`
	// The list of optional Elastic IPs allocations
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	EIPAllocations []string `json:"eipAllocations,omitempty"`
}

NLBLoadBalancerSpec configures the AWS NLB load balancer for the component

func InitializeNLBLoadBalancerSpec

func InitializeNLBLoadBalancerSpec(spec *NLBLoadBalancerSpec, def defaultNLBLoadBalancerSpec) *NLBLoadBalancerSpec

InitializeNLBLoadBalancerSpec initializes a NLBLoadBalancerSpec struct

func (*NLBLoadBalancerSpec) DeepCopy

func (in *NLBLoadBalancerSpec) DeepCopy() *NLBLoadBalancerSpec

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

func (*NLBLoadBalancerSpec) DeepCopyInto

func (in *NLBLoadBalancerSpec) DeepCopyInto(out *NLBLoadBalancerSpec)

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

func (*NLBLoadBalancerSpec) Default

func (spec *NLBLoadBalancerSpec) Default(def defaultNLBLoadBalancerSpec)

Default sets default values for any value not specifically set in the NLBLoadBalancerSpec struct

func (*NLBLoadBalancerSpec) IsDeactivated

func (spec *NLBLoadBalancerSpec) IsDeactivated() bool

IsDeactivated true if the field is set with the deactivated value (empty struct)

type PodDisruptionBudgetSpec

type PodDisruptionBudgetSpec struct {
	// An eviction is allowed if at least "minAvailable" pods selected by
	// "selector" will still be available after the eviction, i.e. even in the
	// absence of the evicted pod.  So for example you can prevent all voluntary
	// evictions by specifying "100%".
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	MinAvailable *intstr.IntOrString `json:"minAvailable,omitempty"`
	// An eviction is allowed if at most "maxUnavailable" pods selected by
	// "selector" are unavailable after the eviction, i.e. even in absence of
	// the evicted pod. For example, one can prevent all voluntary evictions
	// by specifying 0. This is a mutually exclusive setting with "minAvailable".
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`
}

PodDisruptionBudgetSpec defines the PDB for the component

func InitializePodDisruptionBudgetSpec

func InitializePodDisruptionBudgetSpec(spec *PodDisruptionBudgetSpec, def defaultPodDisruptionBudgetSpec) *PodDisruptionBudgetSpec

InitializePodDisruptionBudgetSpec initializes a PodDisruptionBudgetSpec struct

func (*PodDisruptionBudgetSpec) DeepCopy

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

func (*PodDisruptionBudgetSpec) DeepCopyInto

func (in *PodDisruptionBudgetSpec) DeepCopyInto(out *PodDisruptionBudgetSpec)

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

func (*PodDisruptionBudgetSpec) Default

func (spec *PodDisruptionBudgetSpec) Default(def defaultPodDisruptionBudgetSpec)

Default sets default values for any value not specifically set in the PodDisruptionBudgetSpec struct

func (*PodDisruptionBudgetSpec) IsDeactivated

func (spec *PodDisruptionBudgetSpec) IsDeactivated() bool

IsDeactivated true if the field is set with the deactivated value (empty struct)

type ProbeSpec

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

ProbeSpec specifies configuration for a probe

func InitializeProbeSpec

func InitializeProbeSpec(spec *ProbeSpec, def defaultProbeSpec) *ProbeSpec

InitializeProbeSpec initializes a ProbeSpec struct

func (*ProbeSpec) DeepCopy

func (in *ProbeSpec) DeepCopy() *ProbeSpec

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

func (*ProbeSpec) DeepCopyInto

func (in *ProbeSpec) DeepCopyInto(out *ProbeSpec)

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

func (*ProbeSpec) Default

func (spec *ProbeSpec) Default(def defaultProbeSpec)

Default sets default values for any value not specifically set in the ProbeSpec struct

func (*ProbeSpec) IsDeactivated

func (spec *ProbeSpec) IsDeactivated() bool

IsDeactivated true if the field is set with the deactivated value (empty struct)

type QueSpec

type QueSpec struct {
	// Pod Disruption Budget for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PDB *PodDisruptionBudgetSpec `json:"pdb,omitempty"`
	// Horizontal Pod Autoscaler for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HPA *HorizontalPodAutoscalerSpec `json:"hpa,omitempty"`
	// Number of replicas (ignored if hpa is enabled) for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
}

QueSpec is the configuration for Zync que

func (*QueSpec) DeepCopy

func (in *QueSpec) DeepCopy() *QueSpec

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

func (*QueSpec) DeepCopyInto

func (in *QueSpec) DeepCopyInto(out *QueSpec)

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

func (*QueSpec) Default

func (spec *QueSpec) Default()

Default implements defaulting for the each zync que

type RateLimitOptions

type RateLimitOptions struct {
	// The rate limit domain
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Domain string `json:"domain"`
	// Whether to allow requests or not if the rate limit service
	// is unavailable
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:default:=false
	// +optional
	FailureModeDeny *bool `json:"failureModeDeny,omitempty"`
	// Max time to wait for a response from the rate limit service
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Format:=duration
	Timeout metav1.Duration `json:"timeout"`
	// Location of the rate limit service. Must point to one of the
	// defined clusters.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	RateLimitCluster string `json:"rateLimitCluster"`
}

RateLimitOptions contains options for the ratelimit filter of the http connection manager

func (*RateLimitOptions) DeepCopy

func (in *RateLimitOptions) DeepCopy() *RateLimitOptions

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

func (*RateLimitOptions) DeepCopyInto

func (in *RateLimitOptions) DeepCopyInto(out *RateLimitOptions)

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

type RawConfig

type RawConfig struct {
	// Type is the type url for the protobuf message
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Enum=listener;routeConfiguration;cluster;runtime
	Type string `json:"type"`
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Allows defining configuration using directly envoy's config API.
	// WARNING: no validation of this field's value is performed before
	// writting the custom resource to etcd.
	Value runtime.RawExtension `json:"value"`
}

RawConfig is a struct with methods to manage a configuration defined using directly the Envoy config API

func (*RawConfig) DeepCopy

func (in *RawConfig) DeepCopy() *RawConfig

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

func (*RawConfig) DeepCopyInto

func (in *RawConfig) DeepCopyInto(out *RawConfig)

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

type RedHatCustomerPortalSpec

type RedHatCustomerPortalSpec struct {
	// Client ID
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ClientID SecretReference `json:"clientID"`
	// Client secret
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ClientSecret SecretReference `json:"clientSecret"`
	// Realm
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Realm *string `json:"realm,omitempty"`
}

RedHatCustomerPortalSpec has configuration for integration with Red Hat Customer Portal

func (*RedHatCustomerPortalSpec) DeepCopy

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

func (*RedHatCustomerPortalSpec) DeepCopyInto

func (in *RedHatCustomerPortalSpec) DeepCopyInto(out *RedHatCustomerPortalSpec)

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

type RedisServerDetails

type RedisServerDetails struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status
	Role client.Role `json:"role"`
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	Address string `json:"address,omitempty"`
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	Config map[string]string `json:"config,omitempty"`
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	Info map[string]string `json:"info,omitempty"`
}

func (*RedisServerDetails) DeepCopy

func (in *RedisServerDetails) DeepCopy() *RedisServerDetails

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

func (*RedisServerDetails) DeepCopyInto

func (in *RedisServerDetails) DeepCopyInto(out *RedisServerDetails)

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

type RedisShard

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

	Spec   RedisShardSpec   `json:"spec,omitempty"`
	Status RedisShardStatus `json:"status,omitempty"`
}

RedisShard is the Schema for the redisshards API +kubebuilder:printcolumn:JSONPath=".status.shardNodes.master",name=Master,type=string +kubebuilder:printcolumn:JSONPath=".status.shardNodes.slaves",name=Slaves,type=string

func (*RedisShard) DeepCopy

func (in *RedisShard) DeepCopy() *RedisShard

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

func (*RedisShard) DeepCopyInto

func (in *RedisShard) DeepCopyInto(out *RedisShard)

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

func (*RedisShard) DeepCopyObject

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

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

func (*RedisShard) Default

func (rs *RedisShard) Default()

Default implements defaulting for the RedisShard resource

type RedisShardList

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

RedisShardList contains a list of RedisShard

func (*RedisShardList) DeepCopy

func (in *RedisShardList) DeepCopy() *RedisShardList

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

func (*RedisShardList) DeepCopyInto

func (in *RedisShardList) DeepCopyInto(out *RedisShardList)

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

func (*RedisShardList) DeepCopyObject

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

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

type RedisShardNodes

type RedisShardNodes struct {
	// Master is the node that acts as master role in the redis shard
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	Master map[string]string `json:"master,omitempty"`
	// Slaves are the nodes that act as master role in the redis shard
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	Slaves map[string]string `json:"slaves,omitempty"`
}

func (*RedisShardNodes) DeepCopy

func (in *RedisShardNodes) DeepCopy() *RedisShardNodes

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

func (*RedisShardNodes) DeepCopyInto

func (in *RedisShardNodes) DeepCopyInto(out *RedisShardNodes)

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

func (*RedisShardNodes) GetAliasByPodIndex

func (rsn *RedisShardNodes) GetAliasByPodIndex(podIndex int) string

func (*RedisShardNodes) GetHostPortByPodIndex

func (rsn *RedisShardNodes) GetHostPortByPodIndex(podIndex int) string

func (*RedisShardNodes) GetIndexByHostPort

func (rsn *RedisShardNodes) GetIndexByHostPort(hostport string) int

func (*RedisShardNodes) GetNodeByPodIndex

func (rsn *RedisShardNodes) GetNodeByPodIndex(podIndex int) (string, string)

func (*RedisShardNodes) MasterHostPort

func (rsn *RedisShardNodes) MasterHostPort() string

type RedisShardSpec

type RedisShardSpec struct {
	// Image specification for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// MasterIndex is the StatefulSet Pod index of the redis server
	// with the master role. The other Pods are slaves of the master one.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	MasterIndex *int32 `json:"masterIndex,omitempty"`
	// SlaveCount is the number of redis slaves
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	SlaveCount *int32 `json:"slaveCount,omitempty"`
	// Command overrides the redis container command
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Command *string `json:"command,omitempty"`
}

RedisShardSpec defines the desired state of RedisShard

func (*RedisShardSpec) DeepCopy

func (in *RedisShardSpec) DeepCopy() *RedisShardSpec

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

func (*RedisShardSpec) DeepCopyInto

func (in *RedisShardSpec) DeepCopyInto(out *RedisShardSpec)

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

func (*RedisShardSpec) Default

func (spec *RedisShardSpec) Default()

Default implements defaulting for RedisShardSpec

type RedisShardStatus

type RedisShardStatus struct {
	// ShardNodes describes the nodes in the redis shard
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	ShardNodes *RedisShardNodes `json:"shardNodes,omitempty"`
}

RedisShardStatus defines the observed state of RedisShard

func (*RedisShardStatus) DeepCopy

func (in *RedisShardStatus) DeepCopy() *RedisShardStatus

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

func (*RedisShardStatus) DeepCopyInto

func (in *RedisShardStatus) DeepCopyInto(out *RedisShardStatus)

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

type RedisSpec

type RedisSpec struct {
	// Data source name
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	QueuesDSN string `json:"queuesDSN"`
}

RedisSpec holds redis configuration

func (*RedisSpec) DeepCopy

func (in *RedisSpec) DeepCopy() *RedisSpec

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

func (*RedisSpec) DeepCopyInto

func (in *RedisSpec) DeepCopyInto(out *RedisSpec)

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

type ResourceRequirementsSpec

type ResourceRequirementsSpec struct {
	// Limits describes the maximum amount of compute resources allowed.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Limits corev1.ResourceList `json:"limits,omitempty"`
	// Requests describes the minimum amount of compute resources required.
	// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
	// otherwise to an implementation-defined value.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Requests corev1.ResourceList `json:"requests,omitempty"`
	// Claims lists the names of resources, defined in spec.resourceClaims,
	// that are used by this container.
	//
	// This is an alpha field and requires enabling the
	// DynamicResourceAllocation feature gate.
	//
	// This field is immutable.
	//
	// +listType=map
	// +listMapKey=name
	// +featureGate=DynamicResourceAllocation
	// +optional
	Claims []corev1.ResourceClaim `json:"claims,omitempty" protobuf:"bytes,3,opt,name=claims"`
}

ResourceRequirementsSpec defines the resource requirements for the component

func InitializeResourceRequirementsSpec

func InitializeResourceRequirementsSpec(spec *ResourceRequirementsSpec, def defaultResourceRequirementsSpec) *ResourceRequirementsSpec

InitializeResourceRequirementsSpec initializes a ResourceRequirementsSpec struct

func (*ResourceRequirementsSpec) DeepCopy

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

func (*ResourceRequirementsSpec) DeepCopyInto

func (in *ResourceRequirementsSpec) DeepCopyInto(out *ResourceRequirementsSpec)

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

func (*ResourceRequirementsSpec) Default

func (spec *ResourceRequirementsSpec) Default(def defaultResourceRequirementsSpec)

Default sets default values for any value not specifically set in the ResourceRequirementsSpec struct

func (*ResourceRequirementsSpec) IsDeactivated

func (spec *ResourceRequirementsSpec) IsDeactivated() bool

IsDeactivated true if the field is set with the deactivated value (empty struct)

type RouteConfiguration

type RouteConfiguration struct {
	// The virtual_hosts definitions for this route configuration.
	// Virtual hosts must be specified using directly Envoy's API
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	VirtualHosts []runtime.RawExtension `json:"virtualHosts"`
}

RouteConfiguration contains options for an Envoy route_configuration protobuffer message

func (*RouteConfiguration) DeepCopy

func (in *RouteConfiguration) DeepCopy() *RouteConfiguration

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

func (*RouteConfiguration) DeepCopyInto

func (in *RouteConfiguration) DeepCopyInto(out *RouteConfiguration)

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

type Runtime

type Runtime struct {
	// The list of listeners to apply overload protection limits to
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ListenerNames []string `json:"listenerNames"`
}

Runtime contains options for an Envoy runtime protobuffer message

func (*Runtime) DeepCopy

func (in *Runtime) DeepCopy() *Runtime

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

func (*Runtime) DeepCopyInto

func (in *Runtime) DeepCopyInto(out *Runtime)

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

type S3Options

type S3Options struct {
	// S3 bucket name
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Bucket string `json:"bucket"`
	// S3 path where backups should be uploaded
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Path string `json:"path"`
	// AWS region
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Region string `json:"region"`
	// Reference to a Secret tha contains credentials to access S3 API. The credentials
	// must have the following permissions: s3:GetObject, s3:PutObject, and s3:ListBucket,
	// s3:ListObjects, s3:PutObjectTagging.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"`
	// Optionally use a custom s3 service endpoint. Useful for testing with Minio.
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ServiceEndpoint *string `json:"serviceEndpoint"`
}

func (*S3Options) DeepCopy

func (in *S3Options) DeepCopy() *S3Options

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

func (*S3Options) DeepCopyInto

func (in *S3Options) DeepCopyInto(out *S3Options)

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

type SMTPSpec

type SMTPSpec struct {
	// Address
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Address string `json:"address"`
	// User
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	User SecretReference `json:"user"`
	// Password
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Password SecretReference `json:"password"`
	// Port
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Port int32 `json:"port"`
	// Authentication protocol
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	AuthProtocol string `json:"authProtocol"`
	// OpenSSL verify mode
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	OpenSSLVerifyMode string `json:"opensslVerifyMode"`
	// Enable/disable STARTTLS
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	STARTTLS *bool `json:"starttls,omitempty"`
	// Enable/disable auto STARTTLS
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	STARTTLSAuto *bool `json:"starttlsAuto,omitempty"`
}

SMTPSpec has options to configure system's SMTP

func (*SMTPSpec) DeepCopy

func (in *SMTPSpec) DeepCopy() *SMTPSpec

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

func (*SMTPSpec) DeepCopyInto

func (in *SMTPSpec) DeepCopyInto(out *SMTPSpec)

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

type SSHOptions

type SSHOptions struct {
	// SSH user
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	User string `json:"user"`
	// Reference to a Secret that contains the SSH private key
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	PrivateKeySecretRef corev1.LocalObjectReference `json:"privateKeySecretRef"`
	// SSH port (default is 22)
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Port *uint32 `json:"port,omitempty"`
	// Use sudo to execute commands agains the remote host
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Sudo *bool `json:"sudo,omitempty"`
}

func (*SSHOptions) DeepCopy

func (in *SSHOptions) DeepCopy() *SSHOptions

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

func (*SSHOptions) DeepCopyInto

func (in *SSHOptions) DeepCopyInto(out *SSHOptions)

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

func (*SSHOptions) Default

func (opts *SSHOptions) Default()

type SearchServerSpec

type SearchServerSpec struct {
	AddressSpec `json:",inline"`
	// Defines the batch size
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	BatchSize *int32 `json:"batchSize,omitempty"`
}

func (*SearchServerSpec) DeepCopy

func (in *SearchServerSpec) DeepCopy() *SearchServerSpec

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

func (*SearchServerSpec) DeepCopyInto

func (in *SearchServerSpec) DeepCopyInto(out *SearchServerSpec)

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

type SearchdConfig

type SearchdConfig struct {
	// Allows setting the service name for Searchd
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ServiceName *string `json:"serviceName,omitempty"`
	// The TCP port Searchd will run its daemon on
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Port *int32 `json:"port,omitempty"`
	// Searchd database path
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	DatabasePath *string `json:"databasePath,omitempty"`
	// Searchd database storage size
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	DatabaseStorageSize *resource.Quantity `json:"databaseStorageSize,omitempty"`
	// Searchd database storage type
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	DatabaseStorageClass *string `json:"databaseStorageClass,omitempty"`
}

SearchdConfig has configuration options for System's searchd

func (*SearchdConfig) DeepCopy

func (in *SearchdConfig) DeepCopy() *SearchdConfig

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

func (*SearchdConfig) DeepCopyInto

func (in *SearchdConfig) DeepCopyInto(out *SearchdConfig)

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

func (*SearchdConfig) Default

func (sc *SearchdConfig) Default()

Default implements defaulting for SearchdConfig

type SecretReference

type SecretReference struct {
	// FromVault is a reference to a secret key/value stored in a Hashicorp Vault
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	FromVault *VaultSecretReference `json:"fromVault,omitempty"`
	// Override allows to directly specify a string value.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Override *string `json:"override,omitempty"`
}

SecretReference is a reference to a secret stored in some secrets engine

func (*SecretReference) DeepCopy

func (in *SecretReference) DeepCopy() *SecretReference

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

func (*SecretReference) DeepCopyInto

func (in *SecretReference) DeepCopyInto(out *SecretReference)

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

type SegmentSpec

type SegmentSpec struct {
	// Deletion workspace
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	DeletionWorkspace string `json:"deletionWorkspace"`
	// Deletion token
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	DeletionToken SecretReference `json:"deletionToken"`
	// Write key
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	WriteKey SecretReference `json:"writeKey"`
}

SegmentSpec has configuration for Segment integration

func (*SegmentSpec) DeepCopy

func (in *SegmentSpec) DeepCopy() *SegmentSpec

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

func (*SegmentSpec) DeepCopyInto

func (in *SegmentSpec) DeepCopyInto(out *SegmentSpec)

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

type Sentinel

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

	Spec   SentinelSpec   `json:"spec,omitempty"`
	Status SentinelStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:JSONPath=".status.sentinels",name=Sentinels,type=string +kubebuilder:printcolumn:JSONPath=".status.monitoredShards",name=Shards,type=string Sentinel is the Schema for the sentinels API

func (*Sentinel) DeepCopy

func (in *Sentinel) DeepCopy() *Sentinel

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

func (*Sentinel) DeepCopyInto

func (in *Sentinel) DeepCopyInto(out *Sentinel)

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

func (*Sentinel) DeepCopyObject

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

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

func (*Sentinel) Default

func (s *Sentinel) Default()

Default implements defaulting for the Sentinel resource

type SentinelConfig

type SentinelConfig struct {
	// Monitored shards indicates the redis servers that form
	// part of each shard monitored by sentinel
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	MonitoredShards map[string][]string `json:"monitoredShards,"`
	// ClusterTopology indicates the redis servers that form
	// part of each shard monitored by sentinel
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ClusterTopology map[string]map[string]string `json:"clusterTopology,"`
	// StorageClass is the storage class to be used for
	// the persistent sentinel config file where the shards
	// state is stored
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	StorageClass *string `json:"storageClass,omitempty"`
	// StorageSize is the storage size to  provision for
	// the persistent sentinel config file where the shards
	// state is stored
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	StorageSize *resource.Quantity `json:"storageSize,omitempty"`
	// MetricsRefreshInterval determines the refresh interval for gahtering
	// metrics from sentinel
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	MetricsRefreshInterval *time.Duration `json:"metricsRefreshInterval,omitempty"`
}

SentinelConfig defines configuration options for the component

func (*SentinelConfig) DeepCopy

func (in *SentinelConfig) DeepCopy() *SentinelConfig

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

func (*SentinelConfig) DeepCopyInto

func (in *SentinelConfig) DeepCopyInto(out *SentinelConfig)

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

func (*SentinelConfig) Default

func (cfg *SentinelConfig) Default()

Default sets default values for any value not specifically set in the AutoSSLConfig struct

type SentinelList

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

SentinelList contains a list of Sentinel

func (*SentinelList) DeepCopy

func (in *SentinelList) DeepCopy() *SentinelList

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

func (*SentinelList) DeepCopyInto

func (in *SentinelList) DeepCopyInto(out *SentinelList)

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

func (*SentinelList) DeepCopyObject

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

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

type SentinelSpec

type SentinelSpec struct {
	// Image specification for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Number of replicas (ignored if hpa is enabled) for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Pod Disruption Budget for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PDB *PodDisruptionBudgetSpec `json:"pdb,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// Configures the Grafana Dashboard for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	GrafanaDashboard *GrafanaDashboardSpec `json:"grafanaDashboard,omitempty"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
	// Config configures the sentinel process
	Config *SentinelConfig `json:"config"`
}

SentinelSpec defines the desired state of Sentinel

func (*SentinelSpec) DeepCopy

func (in *SentinelSpec) DeepCopy() *SentinelSpec

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

func (*SentinelSpec) DeepCopyInto

func (in *SentinelSpec) DeepCopyInto(out *SentinelSpec)

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

func (*SentinelSpec) Default

func (spec *SentinelSpec) Default()

Default implements defaulting for SentinelSpec

type SentinelStatus

type SentinelStatus struct {
	// Addresses of the sentinel instances currently running
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	Sentinels []string `json:"sentinels,omitempty"`
	// MonitoredShards is the list of shards that the Sentinel
	// resource is currently monitoring
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	MonitoredShards MonitoredShards `json:"monitoredShards,omitempty"`
}

SentinelStatus defines the observed state of Sentinel

func (*SentinelStatus) DeepCopy

func (in *SentinelStatus) DeepCopy() *SentinelStatus

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

func (*SentinelStatus) DeepCopyInto

func (in *SentinelStatus) DeepCopyInto(out *SentinelStatus)

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

func (*SentinelStatus) ShardedCluster

func (ss *SentinelStatus) ShardedCluster(ctx context.Context, pool *redis.ServerPool) (*sharded.Cluster, error)

ShardedCluster returns a *sharded.Cluster struct from the information reported by the sentinel status instead of directly contacting sentinel/redis to gather the state of the cluster. This avoids calls to sentinel/redis but is less robust as it depends entirely on the Sentinel controller working properly and without delays. As of now, this is used in the SharededRedisBackup controller but not in the TwemproxyConfig controller.

type ShardedRedisBackup

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

	Spec   ShardedRedisBackupSpec   `json:"spec,omitempty"`
	Status ShardedRedisBackupStatus `json:"status,omitempty"`
}

ShardedRedisBackup is the Schema for the shardedredisbackups API

func (*ShardedRedisBackup) DeepCopy

func (in *ShardedRedisBackup) DeepCopy() *ShardedRedisBackup

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

func (*ShardedRedisBackup) DeepCopyInto

func (in *ShardedRedisBackup) DeepCopyInto(out *ShardedRedisBackup)

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

func (*ShardedRedisBackup) DeepCopyObject

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

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

func (*ShardedRedisBackup) Default

func (srb *ShardedRedisBackup) Default()

Default implements defaulting for the Sentinel resource

type ShardedRedisBackupList

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

ShardedRedisBackupList contains a list of ShardedRedisBackup

func (*ShardedRedisBackupList) DeepCopy

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

func (*ShardedRedisBackupList) DeepCopyInto

func (in *ShardedRedisBackupList) DeepCopyInto(out *ShardedRedisBackupList)

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

func (*ShardedRedisBackupList) DeepCopyObject

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

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

type ShardedRedisBackupSpec

type ShardedRedisBackupSpec struct {
	// Reference to a sentinel instance
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	SentinelRef string `json:"sentinelRef"`
	// Cron-like schedule specification
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Schedule string `json:"schedule"`
	// Name of the dbfile in the redis instances
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	DBFile string `json:"dbFile"`
	// SSH connection options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	SSHOptions SSHOptions `json:"sshOptions"`
	// S3 storage options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	S3Options S3Options `json:"s3Options"`
	// Max allowed time for a backup to complete
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Timeout *metav1.Duration `json:"timeout"`
	// Max number of backup history to keep
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HistoryLimit *int32 `json:"historyLimit,omitempty"`
	// How frequently redis is polled for the BGSave status
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PollInterval *metav1.Duration `json:"pollInterval,omitempty"`
	// If true, backup execution is stopped
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Pause *bool `json:"pause,omitempty"`
}

ShardedRedisBackupSpec defines the desired state of ShardedRedisBackup

func (*ShardedRedisBackupSpec) DeepCopy

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

func (*ShardedRedisBackupSpec) DeepCopyInto

func (in *ShardedRedisBackupSpec) DeepCopyInto(out *ShardedRedisBackupSpec)

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

func (*ShardedRedisBackupSpec) Default

func (spec *ShardedRedisBackupSpec) Default()

Default implements defaulting for ShardedRedisBackuppec

type ShardedRedisBackupStatus

type ShardedRedisBackupStatus struct {
	//+optional
	Backups BackupStatusList `json:"backups,omitempty"`
}

ShardedRedisBackupStatus defines the observed state of ShardedRedisBackup

func (*ShardedRedisBackupStatus) AddBackup

func (status *ShardedRedisBackupStatus) AddBackup(b BackupStatus)

func (*ShardedRedisBackupStatus) ApplyHistoryLimit

func (status *ShardedRedisBackupStatus) ApplyHistoryLimit(limit int32, shards []string) bool

func (*ShardedRedisBackupStatus) DeepCopy

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

func (*ShardedRedisBackupStatus) DeepCopyInto

func (in *ShardedRedisBackupStatus) DeepCopyInto(out *ShardedRedisBackupStatus)

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

func (*ShardedRedisBackupStatus) DeleteBackup

func (status *ShardedRedisBackupStatus) DeleteBackup(pos int)

func (*ShardedRedisBackupStatus) FindLastBackup

func (status *ShardedRedisBackupStatus) FindLastBackup(shardName string, state BackupState) (*BackupStatus, int)

func (*ShardedRedisBackupStatus) GetRunningBackups

func (status *ShardedRedisBackupStatus) GetRunningBackups() []*BackupStatus

type ShardedRedisTopology

type ShardedRedisTopology struct {
	// The name of the locigal shard
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ShardName string `json:"shardName"`
	// The physical shard where the logical one is stored.
	// This name should match the shard names monitored by
	// Sentinel.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	PhysicalShard string `json:"physicalShard"`
}

func (*ShardedRedisTopology) DeepCopy

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

func (*ShardedRedisTopology) DeepCopyInto

func (in *ShardedRedisTopology) DeepCopyInto(out *ShardedRedisTopology)

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

type SidecarPort

type SidecarPort struct {
	// Port name
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Name string `json:"name"`
	// Port value
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Port int32 `json:"port"`
}

SidecarPort defines port for the Marin3r sidecar container

func (*SidecarPort) DeepCopy

func (in *SidecarPort) DeepCopy() *SidecarPort

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

func (*SidecarPort) DeepCopyInto

func (in *SidecarPort) DeepCopyInto(out *SidecarPort)

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

type SidekiqConfig

type SidekiqConfig struct {
	// List of queues to be consumed by sidekiq. Format: queue[,Priority]
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Queues []string `json:"queues,omitempty"`
	// Number of rails max threads per sidekiq pod
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	MaxThreads *int32 `json:"maxThreads,omitempty"`
}

SidekiqConfig configures app behavior for System Sidekiq

func (*SidekiqConfig) DeepCopy

func (in *SidekiqConfig) DeepCopy() *SidekiqConfig

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

func (*SidekiqConfig) DeepCopyInto

func (in *SidekiqConfig) DeepCopyInto(out *SidekiqConfig)

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

func (*SidekiqConfig) Default

func (cfg *SidekiqConfig) Default(def defaultSidekiqConfig)

Default sets default values for any value not specifically set in the SidekiqConfig struct

type System

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

	Spec   SystemSpec   `json:"spec,omitempty"`
	Status SystemStatus `json:"status,omitempty"`
}

System is the Schema for the systems API

func (*System) DeepCopy

func (in *System) DeepCopy() *System

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

func (*System) DeepCopyInto

func (in *System) DeepCopyInto(out *System)

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

func (*System) DeepCopyObject

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

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

func (*System) Default

func (s *System) Default()

Default implements defaulting for the System resource

type SystemAppSpec

type SystemAppSpec struct {
	// The deployment strategy to use to replace existing pods with new ones.
	// +optional
	// +patchStrategy=retainKeys
	DeploymentStrategy *DeploymentStrategySpec `json:"deploymentStrategy,omitempty"`
	// Pod Disruption Budget for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PDB *PodDisruptionBudgetSpec `json:"pdb,omitempty"`
	// Horizontal Pod Autoscaler for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HPA *HorizontalPodAutoscalerSpec `json:"hpa,omitempty"`
	// Number of replicas (ignored if hpa is enabled) for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
	// Canary defines spec changes for the canary Deployment. If
	// left unset the canary Deployment wil not be created.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Canary *Canary `json:"canary,omitempty"`
	// Configures the TerminationGracePeriodSeconds
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`
}

SystemAppSpec configures the App component of System

func (*SystemAppSpec) DeepCopy

func (in *SystemAppSpec) DeepCopy() *SystemAppSpec

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

func (*SystemAppSpec) DeepCopyInto

func (in *SystemAppSpec) DeepCopyInto(out *SystemAppSpec)

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

func (*SystemAppSpec) Default

func (spec *SystemAppSpec) Default()

Default implements defaulting for the system App component

type SystemBackendSpec

type SystemBackendSpec struct {
	// External endpoint
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ExternalEndpoint string `json:"externalEndpoint"`
	// Internal endpoint
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	InternalEndpoint string `json:"internalEndpoint"`
	// Internal API user
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	InternalAPIUser SecretReference `json:"internalAPIUser"`
	// Internal API password
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	InternalAPIPassword SecretReference `json:"internalAPIPassword"`
	// Redis data source name
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	RedisDSN string `json:"redisDSN"`
}

SystemBackendSpec has configuration options for backend

func (*SystemBackendSpec) DeepCopy

func (in *SystemBackendSpec) DeepCopy() *SystemBackendSpec

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

func (*SystemBackendSpec) DeepCopyInto

func (in *SystemBackendSpec) DeepCopyInto(out *SystemBackendSpec)

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

type SystemConfig

type SystemConfig struct {
	// Rails configuration options for system components
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Rails *SystemRailsSpec `json:"rails,omitempty"`
	// OpenSSL verification mode for sandbox proxy
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	SandboxProxyOpensslVerifyMode *string `json:"sandboxProxyOpensslVerifyMode,omitempty"`
	// Enable (true) or disable (false) enforcing SSL
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ForceSSL *bool `json:"forceSSL,omitempty"`
	// SSL certificates path
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	SSLCertsDir *string `json:"sslCertsDir,omitempty"`
	// Search service options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	SearchServer SearchServerSpec `json:"searchServer,omitempty"`
	// 3scale provider plan
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ThreescaleProviderPlan *string `json:"threescaleProviderPlan,omitempty"`
	// 3scale superdomain
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ThreescaleSuperdomain *string `json:"threescaleSuperdomain,omitempty"`
	// Secret containging system configuration files to be mounted in the pods
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ConfigFilesSecret *string `json:"configFilesSecret,omitempty"`
	// External Secret common configuration
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ExternalSecret ExternalSecret `json:"externalSecret,omitempty"`
	// DSN of system's main database
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	DatabaseDSN SecretReference `json:"databaseDSN"`
	// EventsSharedSecret
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	EventsSharedSecret SecretReference `json:"eventsSharedSecret"`
	// Holds recaptcha configuration options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Recaptcha SystemRecaptchaSpec `json:"recaptcha"`
	// SecretKeyBase
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	SecretKeyBase SecretReference `json:"secretKeyBase"`
	// AccessCode to protect admin urls
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	AccessCode *SecretReference `json:"accessCode,omitempty"`
	// Options for Segment integration
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Segment SegmentSpec `json:"segment"`
	// Options for Github integration
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Github GithubSpec `json:"github"`
	// Options for configuring RH Customer Portal integration
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	RedHatCustomerPortal RedHatCustomerPortalSpec `json:"redhatCustomerPortal"`
	// Options for configuring Bugsnag integration
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Bugsnag *BugsnagSpec `json:"bugsnag,omitempty"`
	// Database secret
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	DatabaseSecret SecretReference `json:"databaseSecret"`
	// Memcached servers
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	MemcachedServers string `json:"memcachedServers"`
	// Redis configuration options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Redis RedisSpec `json:"redis"`
	// SMTP configuration options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	SMTP SMTPSpec `json:"smtp"`
	// Mapping Service access token
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	MappingServiceAccessToken SecretReference `json:"mappingServiceAccessToken"`
	// Zync has configuration options for system to contact zync
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Zync SystemZyncSpec `json:"zync,omitempty"`
	// Backend has configuration options for system to contact backend
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Backend SystemBackendSpec `json:"backend"`
	// Assets has configuration to access assets in AWS s3
	Assets AssetsSpec `json:"assets"`
}

SystemConfig holds configuration for SystemApp component

func (*SystemConfig) DeepCopy

func (in *SystemConfig) DeepCopy() *SystemConfig

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

func (*SystemConfig) DeepCopyInto

func (in *SystemConfig) DeepCopyInto(out *SystemConfig)

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

func (*SystemConfig) Default

func (sc *SystemConfig) Default()

Default applies default values to a SystemConfig struct

type SystemList

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

SystemList contains a list of System

func (*SystemList) CountItems

func (sl *SystemList) CountItems() int

CountItems returns the item count in SystemList.Items

func (*SystemList) DeepCopy

func (in *SystemList) DeepCopy() *SystemList

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

func (*SystemList) DeepCopyInto

func (in *SystemList) DeepCopyInto(out *SystemList)

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

func (*SystemList) DeepCopyObject

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

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

func (*SystemList) GetItem

func (sl *SystemList) GetItem(idx int) client.Object

GetItem returns a client.Objectfrom a SystemList

type SystemRailsConsoleSpec

type SystemRailsConsoleSpec struct {
	// Image specification for the Console component.
	// Defaults to system image if not defined.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
}

SystemRailsConsoleSpec configures the App component of System

func (*SystemRailsConsoleSpec) DeepCopy

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

func (*SystemRailsConsoleSpec) DeepCopyInto

func (in *SystemRailsConsoleSpec) DeepCopyInto(out *SystemRailsConsoleSpec)

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

func (*SystemRailsConsoleSpec) Default

func (spec *SystemRailsConsoleSpec) Default(systemDefaultImage *ImageSpec)

Default implements defaulting for the system App component

type SystemRailsSpec

type SystemRailsSpec struct {
	// Rails Console
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Console *bool `json:"console,omitempty"`
	// Rails environment
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Environment *string `json:"environment,omitempty"`
	// Rails log level (debug, info, warn, error, fatal or unknown)
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Enum=debug;info;warn;error;fatal;unknown
	// +optional
	LogLevel *string `json:"logLevel,omitempty"`
}

SystemRailsSpec configures rails for system components

func (*SystemRailsSpec) DeepCopy

func (in *SystemRailsSpec) DeepCopy() *SystemRailsSpec

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

func (*SystemRailsSpec) DeepCopyInto

func (in *SystemRailsSpec) DeepCopyInto(out *SystemRailsSpec)

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

func (*SystemRailsSpec) Default

func (srs *SystemRailsSpec) Default()

Default applies defaults for SystemRailsSpec

type SystemRecaptchaSpec

type SystemRecaptchaSpec struct {
	// Public key
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	PublicKey SecretReference `json:"publicKey"`
	// Private key
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	PrivateKey SecretReference `json:"privateKey"`
}

SystemRecaptchaSpec holds recaptcha configurations

func (*SystemRecaptchaSpec) DeepCopy

func (in *SystemRecaptchaSpec) DeepCopy() *SystemRecaptchaSpec

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

func (*SystemRecaptchaSpec) DeepCopyInto

func (in *SystemRecaptchaSpec) DeepCopyInto(out *SystemRecaptchaSpec)

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

type SystemSearchdSpec

type SystemSearchdSpec struct {
	// Deploy searchd instance
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
	// Image specification for the Searchd component.
	// Defaults to system image if not defined.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Configuration options for System's Searchd
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Config *SearchdConfig `json:"config,omitempty"`
	// Resource requirements for the Searchd component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the Searchd component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the Searchd component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// Describes node affinity scheduling rules for the Searchd pod
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the Searchd pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
	// Configures the TerminationGracePeriodSeconds for Searchd
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`
}

SystemSearchdSpec configures the App component of System

func (*SystemSearchdSpec) DeepCopy

func (in *SystemSearchdSpec) DeepCopy() *SystemSearchdSpec

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

func (*SystemSearchdSpec) DeepCopyInto

func (in *SystemSearchdSpec) DeepCopyInto(out *SystemSearchdSpec)

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

func (*SystemSearchdSpec) Default

func (spec *SystemSearchdSpec) Default()

Default implements defaulting for the system searchd component

type SystemSidekiqSpec

type SystemSidekiqSpec struct {
	// The deployment strategy to use to replace existing pods with new ones.
	// +optional
	// +patchStrategy=retainKeys
	DeploymentStrategy *DeploymentStrategySpec `json:"deploymentStrategy,omitempty"`
	// Sidekiq specific configuration options for the component element
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Config *SidekiqConfig `json:"config,omitempty"`
	// Pod Disruption Budget for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PDB *PodDisruptionBudgetSpec `json:"pdb,omitempty"`
	// Horizontal Pod Autoscaler for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HPA *HorizontalPodAutoscalerSpec `json:"hpa,omitempty"`
	// Number of replicas (ignored if hpa is enabled) for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
	// Canary defines spec changes for the canary Deployment. If
	// left unset the canary Deployment wil not be created.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Canary *Canary `json:"canary,omitempty"`
	// Configures the TerminationGracePeriodSeconds
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`
}

SystemSidekiqSpec configures the Sidekiq component of System

func (*SystemSidekiqSpec) DeepCopy

func (in *SystemSidekiqSpec) DeepCopy() *SystemSidekiqSpec

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

func (*SystemSidekiqSpec) DeepCopyInto

func (in *SystemSidekiqSpec) DeepCopyInto(out *SystemSidekiqSpec)

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

func (*SystemSidekiqSpec) Default

func (spec *SystemSidekiqSpec) Default(sidekiqType systemSidekiqType)

Default implements defaulting for the system Sidekiq component

type SystemSpec

type SystemSpec struct {
	// Application specific configuration options for System components
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Config SystemConfig `json:"config"`
	// Image specification for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Application specific configuration options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	App *SystemAppSpec `json:"app,omitempty"`
	// Sidekiq Default specific configuration options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	SidekiqDefault *SystemSidekiqSpec `json:"sidekiqDefault,omitempty"`
	// Sidekiq Billing specific configuration options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	SidekiqBilling *SystemSidekiqSpec `json:"sidekiqBilling,omitempty"`
	// Sidekiq Low specific configuration options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	SidekiqLow *SystemSidekiqSpec `json:"sidekiqLow,omitempty"`
	// Searchd specific configuration options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Searchd *SystemSearchdSpec `json:"searchd,omitempty"`
	// Console specific configuration options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Console *SystemRailsConsoleSpec `json:"console,omitempty"`
	// Configures the Tekton Tasks for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Tasks []SystemTektonTaskSpec `json:"tasks,omitempty"`
	// Configures the Grafana Dashboard for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	GrafanaDashboard *GrafanaDashboardSpec `json:"grafanaDashboard,omitempty"`
	// Configures twemproxy
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Twemproxy *TwemproxySpec `json:"twemproxy,omitempty"`
}

SystemSpec defines the desired state of System

func (*SystemSpec) DeepCopy

func (in *SystemSpec) DeepCopy() *SystemSpec

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

func (*SystemSpec) DeepCopyInto

func (in *SystemSpec) DeepCopyInto(out *SystemSpec)

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

func (*SystemSpec) Default

func (spec *SystemSpec) Default()

Default implements defaulting for SystemSpec

func (*SystemSpec) ResolveCanarySpec

func (spec *SystemSpec) ResolveCanarySpec(canary *Canary) (*SystemSpec, error)

ResolveCanarySpec modifies the SystemSpec given the provided canary configuration

type SystemStatus

type SystemStatus struct{}

SystemStatus defines the observed state of System

func (*SystemStatus) DeepCopy

func (in *SystemStatus) DeepCopy() *SystemStatus

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

func (*SystemStatus) DeepCopyInto

func (in *SystemStatus) DeepCopyInto(out *SystemStatus)

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

type SystemTektonTaskConfig

type SystemTektonTaskConfig struct {
	// Image specification for the Console component.
	// Defaults to system image if not defined.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// List of commands to be consumed by the task.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Command []string `json:"command,omitempty"`
	// List of args to be consumed by the task.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Args []string `json:"args,omitempty"`
	// List of extra evironment variables to be consumed by the task.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ExtraEnv []corev1.EnvVar `json:"extraEnv,omitempty"`
	// Timeout for the Tekton task
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

SystemTektonTaskConfig configures app behavior for System SystemTektonTask

func (*SystemTektonTaskConfig) DeepCopy

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

func (*SystemTektonTaskConfig) DeepCopyInto

func (in *SystemTektonTaskConfig) DeepCopyInto(out *SystemTektonTaskConfig)

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

func (*SystemTektonTaskConfig) Default

func (cfg *SystemTektonTaskConfig) Default(systemDefaultImage *ImageSpec)

Default sets default values for any value not specifically set in the SystemTektonTaskConfig struct

func (*SystemTektonTaskConfig) Merge

Merges default preloaded task values for any value not specifically set in the SystemTektonTaskConfig struct

type SystemTektonTaskSpec

type SystemTektonTaskSpec struct {
	// Deploy task instance
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
	// Name for the Tekton task and pipeline
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Name *string `json:"name,omitempty"`
	// Description for the Tekton task and pipeline
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Description *string `json:"description,omitempty"`
	// System Tekton Task specific configuration options for the component element
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Config *SystemTektonTaskConfig `json:"config,omitempty"`
	// Pod Disruption Budget for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
	// Configures the TerminationGracePeriodSeconds
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`
}

SystemTektonTaskSpec configures the Sidekiq component of System

func (*SystemTektonTaskSpec) DeepCopy

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

func (*SystemTektonTaskSpec) DeepCopyInto

func (in *SystemTektonTaskSpec) DeepCopyInto(out *SystemTektonTaskSpec)

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

func (*SystemTektonTaskSpec) Default

func (spec *SystemTektonTaskSpec) Default(systemDefaultImage *ImageSpec)

Default implements defaulting for the system SystemTektonTask component

type SystemZyncSpec

type SystemZyncSpec struct {
	// Zync authentication token
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	AuthToken SecretReference `json:"authToken"`
	// Zync endpoint
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Endpoint string `json:"endpoint"`
}

SystemZyncSpec has configuration options for zync

func (*SystemZyncSpec) DeepCopy

func (in *SystemZyncSpec) DeepCopy() *SystemZyncSpec

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

func (*SystemZyncSpec) DeepCopyInto

func (in *SystemZyncSpec) DeepCopyInto(out *SystemZyncSpec)

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

type TargetRedisServers

type TargetRedisServers string
const (
	Masters  TargetRedisServers = "masters"
	SlavesRW TargetRedisServers = "slaves-rw"
)

type TargetServer

type TargetServer struct {
	ServerAlias   *string `json:"serverAlias,omitempty"`
	ServerAddress string  `json:"serverAddress"`
}

Defines a server targeted by one of the TwemproxyConfig server pools

func (*TargetServer) DeepCopy

func (in *TargetServer) DeepCopy() *TargetServer

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

func (*TargetServer) DeepCopyInto

func (in *TargetServer) DeepCopyInto(out *TargetServer)

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

type TwemproxyConfig

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

	Spec   TwemproxyConfigSpec   `json:"spec,omitempty"`
	Status TwemproxyConfigStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:JSONPath=`.status.targets`,name=Selected Targets,type=string TwemproxyConfig is the Schema for the twemproxyconfigs API

func (*TwemproxyConfig) DeepCopy

func (in *TwemproxyConfig) DeepCopy() *TwemproxyConfig

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

func (*TwemproxyConfig) DeepCopyInto

func (in *TwemproxyConfig) DeepCopyInto(out *TwemproxyConfig)

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

func (*TwemproxyConfig) DeepCopyObject

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

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

func (*TwemproxyConfig) Default

func (tc *TwemproxyConfig) Default()

func (*TwemproxyConfig) PodSyncSelector

func (tc *TwemproxyConfig) PodSyncSelector() client.MatchingLabels

type TwemproxyConfigList

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

TwemproxyConfigList contains a list of TwemproxyConfig

func (*TwemproxyConfigList) DeepCopy

func (in *TwemproxyConfigList) DeepCopy() *TwemproxyConfigList

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

func (*TwemproxyConfigList) DeepCopyInto

func (in *TwemproxyConfigList) DeepCopyInto(out *TwemproxyConfigList)

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

func (*TwemproxyConfigList) DeepCopyObject

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

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

type TwemproxyConfigSpec

type TwemproxyConfigSpec struct {
	// SentinelURI is the redis URI of sentinel. If not set, the controller
	// will try to autodiscover Sentinel within the namespace.
	// TODO: remove, unused
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	SentinelURIs []string `json:"sentinelURIs,omitempty"`
	// ServerPools is the list of Twemproxy server pools
	// WARNING: only 1 pool is supported at this time
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ServerPools []TwemproxyServerPool `json:"serverPools"`
	// ReconcileServerPools is a flag that allows to deactivate
	// the reconcile of the contents of the managed ConfigMap. This is
	// useful in an emergency, to fix something manually. The re-sync
	// logic will still work whenever the contents of the ConfigMap
	// are changed, even if they are manually changed.
	// This switch defaults to "true".
	ReconcileServerPools *bool `json:"reconcileServerPools,omitempty"`
	// Configures the Grafana Dashboard for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	GrafanaDashboard *GrafanaDashboardSpec `json:"grafanaDashboard,omitempty"`
}

TwemproxyConfigSpec defines the desired state of TwemproxyConfig

func (*TwemproxyConfigSpec) DeepCopy

func (in *TwemproxyConfigSpec) DeepCopy() *TwemproxyConfigSpec

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

func (*TwemproxyConfigSpec) DeepCopyInto

func (in *TwemproxyConfigSpec) DeepCopyInto(out *TwemproxyConfigSpec)

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

func (*TwemproxyConfigSpec) Default

func (spec *TwemproxyConfigSpec) Default()

type TwemproxyConfigStatus

type TwemproxyConfigStatus struct {
	// The list of serves currently targeted by this TwemproxyConfig
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	SelectedTargets map[string]TargetServer `json:"targets,omitempty"`
}

TwemproxyConfigStatus defines the observed state of TwemproxyConfig

func (*TwemproxyConfigStatus) DeepCopy

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

func (*TwemproxyConfigStatus) DeepCopyInto

func (in *TwemproxyConfigStatus) DeepCopyInto(out *TwemproxyConfigStatus)

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

type TwemproxyOptions

type TwemproxyOptions struct {
	// Set logging level to N. (default: 5, min: 0, max: 11)
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LogLevel *int32 `json:"logLevel,omitempty"`
	// Set stats monitoring port to port.  (default: 22222)
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	MetricsPort *int32 `json:"metricsAddress,omitempty"`
	// Set stats aggregation interval in msec to interval.  (default: 30s)
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	StatsInterval *metav1.Duration `json:"statsInterval,omitempty"`
}

func (*TwemproxyOptions) DeepCopy

func (in *TwemproxyOptions) DeepCopy() *TwemproxyOptions

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

func (*TwemproxyOptions) DeepCopyInto

func (in *TwemproxyOptions) DeepCopyInto(out *TwemproxyOptions)

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

func (*TwemproxyOptions) Default

func (opts *TwemproxyOptions) Default()

type TwemproxyServerPool

type TwemproxyServerPool struct {
	// The name of the server pool
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Name string `json:"name"`
	// The topology of the servers within the server pool. This
	// field describes the association of logical shards to physical
	// shards.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Topology []ShardedRedisTopology `json:"topology"`
	// The address to bind to. Format is ip:port
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	BindAddress string `json:"bindAddress"`
	// Timeout to stablish connection with the servers in the
	// server pool
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Timeout int `json:"timeout"`
	// Max number of pending connections in the queue
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	TCPBacklog int `json:"tcpBacklog"`
	// Connect to all servers in the pool during startup
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	PreConnect bool `json:"preConnect"`
	// Target defines which are the servers that will be configured
	// as backend redis servers for the Twemproxy configuration. The
	// default is to target masters, but read-write slaves can be configured
	// through this option. If read-write slaves are configured but there are none
	// available, the config will fall back to masters. The masters never fall back
	// to slaves though and will just wait for sentinel triggered failovers to solve
	// the unavailability.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Enum=masters;slaves-rw
	// +optional
	Target *TargetRedisServers `json:"target,omitempty"`
}

func (*TwemproxyServerPool) DeepCopy

func (in *TwemproxyServerPool) DeepCopy() *TwemproxyServerPool

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

func (*TwemproxyServerPool) DeepCopyInto

func (in *TwemproxyServerPool) DeepCopyInto(out *TwemproxyServerPool)

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

func (*TwemproxyServerPool) Default

func (pool *TwemproxyServerPool) Default()

type TwemproxySpec

type TwemproxySpec struct {
	// Image specification for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// TwemproxyConfigRef is a reference to a TwemproxyConfig
	// resource in the same Namespace
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	TwemproxyConfigRef string `json:"twemproxyConfigRef"`
	// Options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Options *TwemproxyOptions `json:"options,omitempty"`
}

TwemproxySpec configures twemproxy sidecars to access a sharded redis

func (*TwemproxySpec) ConfigMapName

func (spec *TwemproxySpec) ConfigMapName() string

func (*TwemproxySpec) DeepCopy

func (in *TwemproxySpec) DeepCopy() *TwemproxySpec

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

func (*TwemproxySpec) DeepCopyInto

func (in *TwemproxySpec) DeepCopyInto(out *TwemproxySpec)

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

func (*TwemproxySpec) Default

func (spec *TwemproxySpec) Default()

Default implements defaulting for the each backend cron

type VaultSecretReference

type VaultSecretReference struct {
	// The Vault path where the secret is located
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Path string `json:"path"`
	// The Vault key of the secret
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Key string `json:"key"`
}

VaultSecretReference is a reference to a secret stored in a Hashicorp Vault

func (*VaultSecretReference) DeepCopy

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

func (*VaultSecretReference) DeepCopyInto

func (in *VaultSecretReference) DeepCopyInto(out *VaultSecretReference)

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

func (*VaultSecretReference) Default

func (spec *VaultSecretReference) Default()

type WorkerConfig

type WorkerConfig struct {
	// Worker log format
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Enum=test;json
	// +optional
	LogFormat *string `json:"logFormat,omitempty"`
	// Enable (true) or disable (false) worker redis async mode
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	RedisAsync *bool `json:"redisAsync,omitempty"`
}

WorkerConfig configures app behavior for Backend Worker

func (*WorkerConfig) DeepCopy

func (in *WorkerConfig) DeepCopy() *WorkerConfig

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

func (*WorkerConfig) DeepCopyInto

func (in *WorkerConfig) DeepCopyInto(out *WorkerConfig)

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

func (*WorkerConfig) Default

func (cfg *WorkerConfig) Default()

Default sets default values for any value not specifically set in the WorkerConfig struct

type WorkerSpec

type WorkerSpec struct {
	// Listener specific configuration options for the component element
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Config *WorkerConfig `json:"config,omitempty"`
	// Pod Disruption Budget for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PDB *PodDisruptionBudgetSpec `json:"pdb,omitempty"`
	// Horizontal Pod Autoscaler for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	HPA *HorizontalPodAutoscalerSpec `json:"hpa,omitempty"`
	// Number of replicas (ignored if hpa is enabled) for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Liveness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"`
	// Readiness probe for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"`
	// Describes node affinity scheduling rules for the pod.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
	// Canary defines spec changes for the canary Deployment. If
	// left unset the canary Deployment wil not be created.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Canary *Canary `json:"canary,omitempty"`
}

WorkerSpec is the configuration for Backend Worker

func (*WorkerSpec) DeepCopy

func (in *WorkerSpec) DeepCopy() *WorkerSpec

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

func (*WorkerSpec) DeepCopyInto

func (in *WorkerSpec) DeepCopyInto(out *WorkerSpec)

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

func (*WorkerSpec) Default

func (spec *WorkerSpec) Default()

Default implements defaulting for the each backend worker

type Zync

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

	Spec   ZyncSpec   `json:"spec,omitempty"`
	Status ZyncStatus `json:"status,omitempty"`
}

Zync is the Schema for the zyncs API

func (*Zync) DeepCopy

func (in *Zync) DeepCopy() *Zync

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

func (*Zync) DeepCopyInto

func (in *Zync) DeepCopyInto(out *Zync)

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

func (*Zync) DeepCopyObject

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

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

func (*Zync) Default

func (z *Zync) Default()

Default implements defaulting for the Zync resource

type ZyncConfig

type ZyncConfig struct {
	// Rails configuration options for zync components
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Rails *ZyncRailsSpec `json:"rails,omitempty"`
	// External Secret common configuration
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ExternalSecret ExternalSecret `json:"externalSecret,omitempty"`
	// A reference to the secret holding the database DSN
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	DatabaseDSN SecretReference `json:"databaseDSN"`
	// A reference to the secret holding the secret-key-base
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	SecretKeyBase SecretReference `json:"secretKeyBase"`
	// A reference to the secret holding the zync authentication token
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ZyncAuthToken SecretReference `json:"zyncAuthToken"`
	// Options for configuring Bugsnag integration
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Bugsnag *BugsnagSpec `json:"bugsnag,omitempty"`
}

ZyncConfig configures app behavior for Zync

func (*ZyncConfig) DeepCopy

func (in *ZyncConfig) DeepCopy() *ZyncConfig

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

func (*ZyncConfig) DeepCopyInto

func (in *ZyncConfig) DeepCopyInto(out *ZyncConfig)

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

func (*ZyncConfig) Default

func (cfg *ZyncConfig) Default()

Default sets default values for any value not specifically set in the ZyncConfig struct

type ZyncList

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

ZyncList contains a list of Zync

func (*ZyncList) DeepCopy

func (in *ZyncList) DeepCopy() *ZyncList

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

func (*ZyncList) DeepCopyInto

func (in *ZyncList) DeepCopyInto(out *ZyncList)

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

func (*ZyncList) DeepCopyObject

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

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

type ZyncRailsConsoleSpec

type ZyncRailsConsoleSpec struct {
	// Enables or disables the Zync Console statefulset
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Enabled *bool `json:"enabled,omitempty"` // Image specification for the Console component.
	// Defaults to zync image if not defined.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Resource requirements for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Resources *ResourceRequirementsSpec `json:"resources,omitempty"`
	// Describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty" protobuf:"bytes,1,opt,name=nodeAffinity"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
}

ZyncRailsConsoleSpec configures the Console component of Zync

func (*ZyncRailsConsoleSpec) DeepCopy

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

func (*ZyncRailsConsoleSpec) DeepCopyInto

func (in *ZyncRailsConsoleSpec) DeepCopyInto(out *ZyncRailsConsoleSpec)

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

func (*ZyncRailsConsoleSpec) Default

func (spec *ZyncRailsConsoleSpec) Default(zyncDefaultImage *ImageSpec)

Default implements defaulting for the Zync console component

type ZyncRailsSpec

type ZyncRailsSpec struct {
	// Rails environment
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Environment *string `json:"environment,omitempty"`
	// Rails log level (debug, info, warn, error, fatal or unknown)
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +kubebuilder:validation:Enum=debug;info;warn;error;fatal;unknown
	// +optional
	LogLevel *string `json:"logLevel,omitempty"`
	// Rails max threads (only applies to api)
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	MaxThreads *int32 `json:"maxThreads,omitempty"`
}

ZyncRailsSpec configures rails for system components

func (*ZyncRailsSpec) DeepCopy

func (in *ZyncRailsSpec) DeepCopy() *ZyncRailsSpec

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

func (*ZyncRailsSpec) DeepCopyInto

func (in *ZyncRailsSpec) DeepCopyInto(out *ZyncRailsSpec)

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

func (*ZyncRailsSpec) Default

func (zrs *ZyncRailsSpec) Default()

Default applies defaults for ZyncRailsSpec

type ZyncSpec

type ZyncSpec struct {
	// Image specification for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Image *ImageSpec `json:"image,omitempty"`
	// Application specific configuration options for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Config ZyncConfig `json:"config"`
	// Configures the Grafana Dashboard for the component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	GrafanaDashboard *GrafanaDashboardSpec `json:"grafanaDashboard,omitempty"`
	// Configures the main zync api component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	API *APISpec `json:"api,omitempty"`
	// Configures the zync que component
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Que *QueSpec `json:"que,omitempty"`
	// Console specific configuration options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Console *ZyncRailsConsoleSpec `json:"console,omitempty"`
}

ZyncSpec defines the desired state of Zync

func (*ZyncSpec) DeepCopy

func (in *ZyncSpec) DeepCopy() *ZyncSpec

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

func (*ZyncSpec) DeepCopyInto

func (in *ZyncSpec) DeepCopyInto(out *ZyncSpec)

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

func (*ZyncSpec) Default

func (spec *ZyncSpec) Default()

Default implements defaulting for ZyncSpec

type ZyncStatus

type ZyncStatus struct{}

ZyncStatus defines the observed state of Zync

func (*ZyncStatus) DeepCopy

func (in *ZyncStatus) DeepCopy() *ZyncStatus

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

func (*ZyncStatus) DeepCopyInto

func (in *ZyncStatus) DeepCopyInto(out *ZyncStatus)

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

Jump to

Keyboard shortcuts

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