v1alpha1

package
v0.19.8 Latest Latest
Warning

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

Go to latest
Published: May 23, 2023 License: Apache-2.0 Imports: 20 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 (
	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 added in v0.19.7

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 added in v0.19.7

func (in *AddressSpec) DeepCopy() *AddressSpec

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

func (*AddressSpec) DeepCopyInto added in v0.19.7

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 added in v0.12.0

func (spec *ApicastSpec) Default()

Default implements defaulting for ApicastSpec

func (*ApicastSpec) ResolveCanarySpec added in v0.14.0

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 added in v0.12.0

func (spec *AutoSSLSpec) Default()

Default implements defaulting for AutoSSLSpec

func (*AutoSSLSpec) ResolveCanarySpec added in v0.13.0

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 added in v0.12.0

func (spec *BackendSpec) Default()

Default implements defaulting for BackendSpec

func (*BackendSpec) ResolveCanarySpec added in v0.12.0

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 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 added in v0.12.0

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 added in v0.12.0

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 added in v0.12.0

func (in *Canary) DeepCopy() *Canary

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

func (*Canary) DeepCopyInto added in v0.12.0

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 added in v0.12.0

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

PatchSpec returns a modified spec given the canary configuration

type Cluster added in v0.18.0

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 added in v0.18.0

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto added in v0.18.0

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 added in v0.19.5

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 added in v0.19.5

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

InitializeDeploymentStrategySpec initializes a DeploymentStrategySpec struct

func (*DeploymentStrategySpec) DeepCopy added in v0.19.5

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

func (*DeploymentStrategySpec) DeepCopyInto added in v0.19.5

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 added in v0.19.5

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 added in v0.12.0

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 added in v0.18.0

type EnvoyDynamicConfig struct {

	// 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"`
	// contains filtered or unexported fields
}

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

func (*EnvoyDynamicConfig) AsEnvoyDynamicConfigDescriptor added in v0.18.0

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 added in v0.18.0

func (in *EnvoyDynamicConfig) DeepCopy() *EnvoyDynamicConfig

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

func (*EnvoyDynamicConfig) DeepCopyInto added in v0.18.0

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 added in v0.18.0

func (config *EnvoyDynamicConfig) GetGeneratorVersion() string

GetGeneratorVersion returns the template's version

func (*EnvoyDynamicConfig) GetName added in v0.18.0

func (config *EnvoyDynamicConfig) GetName() string

func (*EnvoyDynamicConfig) GetOptions added in v0.18.0

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

type ExternalSecret added in v0.14.0

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 added in v0.14.0

func (in *ExternalSecret) DeepCopy() *ExternalSecret

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

func (*ExternalSecret) DeepCopyInto added in v0.14.0

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 added in v0.14.0

func (spec *ExternalSecret) Default()

type ExternalSecretSecretStoreReferenceSpec added in v0.14.0

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 added in v0.14.0

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

InitializeExternalSecretSecretStoreReferenceSpec initializes a ExternalSecretSecretStoreReferenceSpec struct

func (*ExternalSecretSecretStoreReferenceSpec) DeepCopy added in v0.14.0

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

func (*ExternalSecretSecretStoreReferenceSpec) DeepCopyInto added in v0.14.0

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

func (*ExternalSecretSecretStoreReferenceSpec) Default added in v0.14.0

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 added in v0.18.0

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 added in v0.18.0

func (in *ListenerHttp) DeepCopy() *ListenerHttp

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

func (*ListenerHttp) DeepCopyInto added in v0.18.0

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 added in v0.18.0

type MapOfEnvoyDynamicConfig map[string]EnvoyDynamicConfig

func (MapOfEnvoyDynamicConfig) AsList added in v0.18.0

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

func (MapOfEnvoyDynamicConfig) DeepCopy added in v0.18.0

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

func (MapOfEnvoyDynamicConfig) DeepCopyInto added in v0.18.0

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 added in v0.12.0

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 added in v0.13.0

type MonitoredShard struct {
	// Name is the name of the redis shard
	// +operator-sdk:csv:customresourcedefinitions:type=status
	Name string `json:"name"`
	// Master is the address of the master redis server of
	// this shard, in the format "127.0.0.1:6379"
	// DEPRECATED - this field will be removed in an upcoming release
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	Master string `json:"master,omitempty"`
	// SlavesRO is the list of addresses of the read-only slave
	// servers in this shard, in the format "127.0.0.1:6379"
	// DEPRECATED - this field will be removed in an upcoming release
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	SlavesRO []string `json:"slavesRO,omitempty"`
	// SlavesRW is the list of addresses of the read-write slave
	// servers in this shard, in the format "127.0.0.1:6379"
	// DEPRECATED - this field will be removed in an upcoming release
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	SlavesRW []string `json:"slavesRW,omitempty"`
	// 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 added in v0.13.0

func (in *MonitoredShard) DeepCopy() *MonitoredShard

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

func (*MonitoredShard) DeepCopyInto added in v0.13.0

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

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

func (MonitoredShard) GetMaster added in v0.16.1

func (ms MonitoredShard) GetMaster() (string, RedisServerDetails, error)

func (MonitoredShard) GetSlavesRO added in v0.16.1

func (ms MonitoredShard) GetSlavesRO() map[string]RedisServerDetails

func (MonitoredShard) GetSlavesRW added in v0.16.1

func (ms MonitoredShard) GetSlavesRW() map[string]RedisServerDetails

type MonitoredShards added in v0.13.0

type MonitoredShards []MonitoredShard

func (MonitoredShards) DeepCopy added in v0.13.0

func (in MonitoredShards) DeepCopy() MonitoredShards

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

func (MonitoredShards) DeepCopyInto added in v0.13.0

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 added in v0.13.0

func (ms MonitoredShards) Len() int

MonitoredShards implements sort.Interface based on the Name field.

func (MonitoredShards) Less added in v0.13.0

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

func (MonitoredShards) Swap added in v0.13.0

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 added in v0.18.0

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 added in v0.18.0

func (in *RateLimitOptions) DeepCopy() *RateLimitOptions

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

func (*RateLimitOptions) DeepCopyInto added in v0.18.0

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 added in v0.18.0

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 added in v0.18.0

func (in *RawConfig) DeepCopy() *RawConfig

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

func (*RawConfig) DeepCopyInto added in v0.18.0

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 added in v0.16.1

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

func (*RedisServerDetails) DeepCopy added in v0.16.1

func (in *RedisServerDetails) DeepCopy() *RedisServerDetails

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

func (*RedisServerDetails) DeepCopyInto added in v0.16.1

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 added in v0.12.0

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 added in v0.12.0

func (in *RedisShard) DeepCopy() *RedisShard

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

func (*RedisShard) DeepCopyInto added in v0.12.0

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 added in v0.12.0

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

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

func (*RedisShard) Default added in v0.12.0

func (rs *RedisShard) Default()

Default implements defaulting for the RedisShard resource

type RedisShardList added in v0.12.0

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 added in v0.12.0

func (in *RedisShardList) DeepCopy() *RedisShardList

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

func (*RedisShardList) DeepCopyInto added in v0.12.0

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 added in v0.12.0

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

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

type RedisShardNodes added in v0.12.0

type RedisShardNodes struct {
	// Master is the node that acts as master role in the redis shard
	// +operator-sdk:csv:customresourcedefinitions:type=status
	// +optional
	Master *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 []string `json:"slaves,omitempty"`
}

func (*RedisShardNodes) DeepCopy added in v0.12.0

func (in *RedisShardNodes) DeepCopy() *RedisShardNodes

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

func (*RedisShardNodes) DeepCopyInto added in v0.12.0

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

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

type RedisShardSpec added in v0.12.0

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

RedisShardSpec defines the desired state of RedisShard

func (*RedisShardSpec) DeepCopy added in v0.12.0

func (in *RedisShardSpec) DeepCopy() *RedisShardSpec

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

func (*RedisShardSpec) DeepCopyInto added in v0.12.0

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 added in v0.12.0

func (spec *RedisShardSpec) Default()

Default implements defaulting for RedisShardSpec

type RedisShardStatus added in v0.12.0

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 added in v0.12.0

func (in *RedisShardStatus) DeepCopy() *RedisShardStatus

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

func (*RedisShardStatus) DeepCopyInto added in v0.12.0

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 added in v0.18.0

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 added in v0.18.0

func (in *RouteConfiguration) DeepCopy() *RouteConfiguration

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

func (*RouteConfiguration) DeepCopyInto added in v0.18.0

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 added in v0.18.0

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 added in v0.18.0

func (in *Runtime) DeepCopy() *Runtime

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

func (*Runtime) DeepCopyInto added in v0.18.0

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

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 SearchServerSpec added in v0.19.8

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 added in v0.19.8

func (in *SearchServerSpec) DeepCopy() *SearchServerSpec

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

func (*SearchServerSpec) DeepCopyInto added in v0.19.8

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 added in v0.19.7

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 sphinx

func (*SearchdConfig) DeepCopy added in v0.19.7

func (in *SearchdConfig) DeepCopy() *SearchdConfig

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

func (*SearchdConfig) DeepCopyInto added in v0.19.7

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 added in v0.19.7

func (sc *SearchdConfig) Default()

Default implements defaulting for SearchdConfig

type SecretReference

type SecretReference struct {
	// VaultSecretReference is a reference to a secret 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 added in v0.12.0

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 added in v0.12.0

func (in *Sentinel) DeepCopy() *Sentinel

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

func (*Sentinel) DeepCopyInto added in v0.12.0

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 added in v0.12.0

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

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

func (*Sentinel) Default added in v0.12.0

func (s *Sentinel) Default()

Default implements defaulting for the Sentinel resource

type SentinelConfig added in v0.12.0

type SentinelConfig struct {
	// Monitored shards indicates the redis servers that form
	// part of each shard monitored by sentinel
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	MonitoredShards map[string][]string `json:"monitoredShards,"`
	// 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 added in v0.12.0

func (in *SentinelConfig) DeepCopy() *SentinelConfig

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

func (*SentinelConfig) DeepCopyInto added in v0.12.0

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 added in v0.12.0

func (cfg *SentinelConfig) Default()

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

type SentinelList added in v0.12.0

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 added in v0.12.0

func (in *SentinelList) DeepCopy() *SentinelList

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

func (*SentinelList) DeepCopyInto added in v0.12.0

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 added in v0.12.0

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

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

type SentinelSpec added in v0.12.0

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 added in v0.12.0

func (in *SentinelSpec) DeepCopy() *SentinelSpec

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

func (*SentinelSpec) DeepCopyInto added in v0.12.0

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 added in v0.12.0

func (spec *SentinelSpec) Default()

Default implements defaulting for SentinelSpec

type SentinelStatus added in v0.12.0

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 added in v0.12.0

func (in *SentinelStatus) DeepCopy() *SentinelStatus

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

func (*SentinelStatus) DeepCopyInto added in v0.12.0

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

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

type ShardedRedisTopology added in v0.13.0

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 added in v0.13.0

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

func (*ShardedRedisTopology) DeepCopyInto added in v0.13.0

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 added in v0.10.9

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 added in v0.10.9

func (in *SidekiqConfig) DeepCopy() *SidekiqConfig

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

func (*SidekiqConfig) DeepCopyInto added in v0.10.9

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 added in v0.10.9

func (cfg *SidekiqConfig) Default(def defaultSidekiqConfig)

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

type SphinxConfig

type SphinxConfig struct {
	// Deploy Sphinx instance
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
	// Thinking configuration for sphinx
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Thinking *ThinkingSpec `json:"thinking,omitempty"`
}

SphinxConfig has configuration options for System's sphinx

func (*SphinxConfig) DeepCopy

func (in *SphinxConfig) DeepCopy() *SphinxConfig

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

func (*SphinxConfig) DeepCopyInto

func (in *SphinxConfig) DeepCopyInto(out *SphinxConfig)

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

func (*SphinxConfig) Default

func (sc *SphinxConfig) Default()

Default implements defaulting for SphinxConfig

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 authentication token
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ZyncAuthToken *SecretReference `json:"zyncAuthToken,omitempty"`
	// Zync has configuration options for system to contact zync
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	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 added in v0.14.0

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 added in v0.14.0

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

func (*SystemRailsConsoleSpec) DeepCopyInto added in v0.14.0

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 added in v0.14.0

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 added in v0.19.7

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 added in v0.19.7

func (in *SystemSearchdSpec) DeepCopy() *SystemSearchdSpec

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

func (*SystemSearchdSpec) DeepCopyInto added in v0.19.7

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 added in v0.19.7

func (spec *SystemSearchdSpec) Default()

Default implements defaulting for the system sphinx 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"`
	// Sphinx specific configuration options
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Sphinx *SystemSphinxSpec `json:"sphinx,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 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 added in v0.12.0

func (spec *SystemSpec) Default()

Default implements defaulting for SystemSpec

func (*SystemSpec) ResolveCanarySpec added in v0.14.0

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

ResolveCanarySpec modifies the SystemSpec given the provided canary configuration

type SystemSphinxSpec

type SystemSphinxSpec struct {
	// Image specification for the Sphinx 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 sphinx
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Config *SphinxConfig `json:"config,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"`
	// Configures the TerminationGracePeriodSeconds
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`
}

SystemSphinxSpec configures the App component of System

func (*SystemSphinxSpec) DeepCopy

func (in *SystemSphinxSpec) DeepCopy() *SystemSphinxSpec

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

func (*SystemSphinxSpec) DeepCopyInto

func (in *SystemSphinxSpec) DeepCopyInto(out *SystemSphinxSpec)

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

func (*SystemSphinxSpec) Default

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

Default implements defaulting for the system sphinx component

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 SystemZyncSpec added in v0.17.1

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 added in v0.17.1

func (in *SystemZyncSpec) DeepCopy() *SystemZyncSpec

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

func (*SystemZyncSpec) DeepCopyInto added in v0.17.1

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 added in v0.13.0

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

type ThinkingSpec

type ThinkingSpec struct {
	// Allows setting the service name for Sphinx
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ServiceName *string `json:"serviceName,omitempty"`
	// The TCP port Sphinx will run its daemon on
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Port *int32 `json:"port,omitempty"`
	// Allows setting the TCP host for Sphinx to a different address
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	BindAddress *string `json:"bindAddress,omitempty"`
	// Sphinx configuration file path
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ConfigFile *string `json:"configFile,omitempty"`
	// Sphinx batch size
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	BatchSize *int32 `json:"batchSize,omitempty"`
	// Sphinx database path
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	DatabasePath *string `json:"databasePath,omitempty"`
	// Sphinx database storage size
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	DatabaseStorageSize *resource.Quantity `json:"databaseStorageSize,omitempty"`
	// Sphinx database storage type
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	DatabaseStorageClass *string `json:"databaseStorageClass,omitempty"`
	// Sphinx PID file path
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PIDFile *string `json:"pidFile,omitempty"`
}

ThinkingSpec configures the thinking library for sphinx

func (*ThinkingSpec) DeepCopy

func (in *ThinkingSpec) DeepCopy() *ThinkingSpec

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

func (*ThinkingSpec) DeepCopyInto

func (in *ThinkingSpec) DeepCopyInto(out *ThinkingSpec)

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

func (*ThinkingSpec) Default

func (tc *ThinkingSpec) Default()

Default implements defaulting for ThinkingSpec

type TwemproxyConfig added in v0.13.0

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

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

TwemproxyConfig is the Schema for the twemproxyconfigs API

func (*TwemproxyConfig) DeepCopy added in v0.13.0

func (in *TwemproxyConfig) DeepCopy() *TwemproxyConfig

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

func (*TwemproxyConfig) DeepCopyInto added in v0.13.0

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 added in v0.13.0

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

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

func (*TwemproxyConfig) Default added in v0.13.0

func (tc *TwemproxyConfig) Default()

func (*TwemproxyConfig) PodSyncSelector added in v0.13.0

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

type TwemproxyConfigList added in v0.13.0

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 added in v0.13.0

func (in *TwemproxyConfigList) DeepCopy() *TwemproxyConfigList

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

func (*TwemproxyConfigList) DeepCopyInto added in v0.13.0

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 added in v0.13.0

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

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

type TwemproxyConfigSpec added in v0.13.0

type TwemproxyConfigSpec struct {
	// SentinelURI is the redis URI of sentinel. If not set, the controller
	// will try to autodiscover Sentinel within the namespace.
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	SentinelURIs []string `json:"sentinelURIs,omitempty"`
	// ServerPools is the list of Twemproxy server pools
	// +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 added in v0.13.0

func (in *TwemproxyConfigSpec) DeepCopy() *TwemproxyConfigSpec

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

func (*TwemproxyConfigSpec) DeepCopyInto added in v0.13.0

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 added in v0.13.0

func (spec *TwemproxyConfigSpec) Default()

type TwemproxyConfigStatus added in v0.13.0

type TwemproxyConfigStatus struct{}

TwemproxyConfigStatus defines the observed state of TwemproxyConfig

func (*TwemproxyConfigStatus) DeepCopy added in v0.13.0

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

func (*TwemproxyConfigStatus) DeepCopyInto added in v0.13.0

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 added in v0.13.0

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 added in v0.13.0

func (in *TwemproxyOptions) DeepCopy() *TwemproxyOptions

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

func (*TwemproxyOptions) DeepCopyInto added in v0.13.0

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 added in v0.13.0

func (opts *TwemproxyOptions) Default()

type TwemproxyServerPool added in v0.13.0

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 added in v0.13.0

func (in *TwemproxyServerPool) DeepCopy() *TwemproxyServerPool

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

func (*TwemproxyServerPool) DeepCopyInto added in v0.13.0

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 added in v0.13.0

func (pool *TwemproxyServerPool) Default()

type TwemproxySpec added in v0.13.0

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 added in v0.13.0

func (spec *TwemproxySpec) ConfigMapName() string

func (*TwemproxySpec) DeepCopy added in v0.13.0

func (in *TwemproxySpec) DeepCopy() *TwemproxySpec

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

func (*TwemproxySpec) DeepCopyInto added in v0.13.0

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 added in v0.13.0

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 added in v0.13.0

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

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 added in v0.12.0

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