Skip to content

Latest commit

 

History

History
2317 lines (1731 loc) · 119 KB

reference.asciidoc

File metadata and controls

2317 lines (1731 loc) · 119 KB

API Reference

saas.3scale.net/v1alpha1

Package v1alpha1 contains API Schema definitions for the saas v1alpha1 API group

APISpec

APISpec is the configuration for main Zync api component

Appears In:
Field Description

Pod Disruption Budget for the component

Horizontal Pod Autoscaler for the component

replicas integer

Number of replicas (ignored if hpa is enabled) for the component

Resource requirements for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

AddressSpec

AddressSpec allows the definition of an address

Appears In:
Field Description

host string

Defines the address host

port integer

Defines the address port

Apicast

Apicast is the Schema for the apicasts API

Field Description

apiVersion string

saas.3scale.net/v1alpha1

kind string

Apicast

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

status ApicastStatus

ApicastConfig

ApicastConfig configures app behavior for Apicast

Field Description

configurationCache integer

Apicast configurations cache TTL

threescalePortalEndpoint string

Endpoint to request proxy configurations to

logLevel string

Openresty log level

oidcLogLevel string

OpenID Connect integration log level

ApicastEnvironmentSpec

ApicastEnvironmentSpec is the configuration for an Apicast environment

Appears In:
Field Description

image ImageSpec

Image specification for the component

Pod Disruption Budget for the component

Horizontal Pod Autoscaler for the component

replicas integer

Number of replicas (ignored if hpa is enabled) for the component

Resource requirements for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

config ApicastConfig

Application specific configuration options for the component

endpoint Endpoint

The external endpoint/s for the component

Marin3r configures the Marin3r sidecars for the component

loadBalancer LoadBalancerSpec

Configures the AWS load balancer for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

canary Canary

Canary defines spec changes for the canary Deployment. If left unset the canary Deployment wil not be created.

ApicastSpec

ApicastSpec defines the desired state of Apicast

Appears In:
Field Description

Configures the staging Apicast environment

Configures the production Apicast environment

grafanaDashboard GrafanaDashboardSpec

Configures the Grafana Dashboard for the component

AssetsSpec

AssetsSpec has configuration to access assets in AWS s3

Appears In:
Field Description

bucket string

AWS S3 bucket name

region string

AWS S3 region

accessKey SecretReference

AWS access key

secretKey SecretReference

AWS secret access key

host string

Assets host (CDN)

s3Endpoint string

Assets custom S3 endpoint

AutoSSL

AutoSSL is the Schema for the autossls API

Field Description

apiVersion string

saas.3scale.net/v1alpha1

kind string

AutoSSL

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

status AutoSSLStatus

AutoSSLConfig

AutoSSLConfig defines configuration options for the component

Appears In:
Field Description

logLevel string

Sets the nginx log level

acmeStaging boolean

Enables/disables the Let’s Encrypt staging ACME endpoint

contactEmail string

Defines an email address for Let’s Encrypt notifications

proxyEndpoint string

The endpoint to proxy_pass requests to

verificationEndpoint string

The endpoint used to validate if certificate generation is allowed for the domain

domainWhitelist string array

List of domains that will bypass domain verification

domainBlacklist string array

List of domains that will never get autogenerated certificates

redisHost string

Host for the redis database to store certificates

redisPort integer

Port for the redis database to store certificates

AutoSSLSpec

AutoSSLSpec defines the desired state of AutoSSL

Appears In:
Field Description

image ImageSpec

Image specification for the component

Pod Disruption Budget for the component

Horizontal Pod Autoscaler for the component

replicas integer

Number of replicas (ignored if hpa is enabled) for the component

Resource requirements for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

loadBalancer LoadBalancerSpec

Configures the AWS load balancer for the component

grafanaDashboard GrafanaDashboardSpec

Configures the Grafana Dashboard for the component

config AutoSSLConfig

Application specific configuration options for the component

endpoint Endpoint

The external endpoint/s for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

canary Canary

Canary defines spec changes for the canary Deployment. If left unset the canary Deployment wil not be created.

Backend

Backend is the Schema for the backends API

Field Description

apiVersion string

saas.3scale.net/v1alpha1

kind string

Backend

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

status BackendStatus

BackendConfig

BackendConfig configures app behavior for Backend

Appears In:
Field Description

rackEnv string

Rack environment

masterServiceID integer

Master service account ID in Porta

redisStorageDSN string

Redis Storage DSN

redisQueuesDSN string

Redis Queues DSN

externalSecret ExternalSecret

External Secret common configuration

systemEventsHookURL SecretReference

A reference to the secret holding the backend-system-events-hook URL

systemEventsHookPassword SecretReference

A reference to the secret holding the backend-system-events-hook password

internalAPIUser SecretReference

A reference to the secret holding the backend-internal-api user

internalAPIPassword SecretReference

A reference to the secret holding the backend-internal-api password

errorMonitoringService SecretReference

A reference to the secret holding the backend-error-monitoring service

errorMonitoringKey SecretReference

A reference to the secret holding the backend-error-monitoring key

BackendSpec

BackendSpec defines the desired state of Backend

Appears In:
Field Description

image ImageSpec

Image specification for the component

config BackendConfig

Application specific configuration options for the component

grafanaDashboard GrafanaDashboardSpec

Configures the Grafana Dashboard for the component

listener ListenerSpec

Configures the backend listener

worker WorkerSpec

Configures the backend worker

cron CronSpec

Configures the backend cron

twemproxy TwemproxySpec

Configures twemproxy

BugsnagSpec

BugsnagSpec has configuration for Bugsnag integration

Appears In:
Field Description

releaseStage string

Release Stage to identify environment

API key

CORSProxy

CORSProxy is the Schema for the corsproxies API

Field Description

apiVersion string

saas.3scale.net/v1alpha1

kind string

CORSProxy

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

CORSProxyConfig

CORSProxyConfig defines configuration options for the component

Appears In:
Field Description

externalSecret ExternalSecret

External Secret common configuration

systemDatabaseDSN SecretReference

System database connection string

CORSProxySpec

CORSProxySpec defines the desired state of CORSProxy

Appears In:
Field Description

image ImageSpec

Image specification for the component

Pod Disruption Budget for the component

Horizontal Pod Autoscaler for the component

replicas integer

Number of replicas (ignored if hpa is enabled) for the component

Resource requirements for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

grafanaDashboard GrafanaDashboardSpec

Configures the Grafana Dashboard for the component

Application specific configuration options for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

Canary

Canary allows the definition of a canary Deployment

Field Description

sendTraffic boolean

SendTraffic controls if traffic is sent to the canary

imageName string

ImageName to use for the canary Deployment

imageTag string

ImageTag to use for the canary Deployment

replicas integer

Number of replicas for the canary Deployment

patches string array

Patches to apply for the canary Deployment. Patches are expected to be JSON documents as an RFC 6902 patches.

Cluster

Cluster contains options for an Envoy cluster protobuffer message

Appears In:
Field Description

host string

The upstream host

port integer

The upstream port

isHttp2 boolean

Specifies if the upstream cluster is http2 or not (default).

CronSpec

CronSpec is the configuration for Backend Cron

Appears In:
Field Description

replicas integer

Number of replicas for the component

Resource requirements for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

DeploymentStrategySpec

Field Description

Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.

rollingUpdate RollingUpdateDeployment

Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.

EchoAPI

EchoAPI is the Schema for the echoapis API

Field Description

apiVersion string

saas.3scale.net/v1alpha1

kind string

EchoAPI

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

status EchoAPIStatus

EchoAPISpec

EchoAPISpec defines the desired state of echoapi

Appears In:
Field Description

image ImageSpec

Image specification for the component

replicas integer

Configures the Grafana Dashboard for the component

Resource requirements for the component

Number of replicas (ignored if hpa is enabled) for the component

Horizontal Pod Autoscaler for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

Marin3r configures the Marin3r sidecars for the component

loadBalancer NLBLoadBalancerSpec

Configures the AWS Network load balancer for the component

endpoint Endpoint

The external endpoint/s for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

Endpoint

Endpoint sets the external endpoint for the component

Field Description

dns string array

The list of dns records that will point to the component

EnvoyDynamicConfig

Appears In:
Field Description

generatorVersion string

GeneratorVersion specifies the version of a given template. "v1" is the default.

listenerHttp ListenerHttp

ListenerHttp contains options for an HTTP/HTTPS listener

routeConfiguration RouteConfiguration

RouteConfiguration contains options for an Envoy route_configuration protobuffer message

cluster Cluster

Cluster contains options for an Envoy cluster protobuffer message

runtime Runtime

Runtime contains options for an Envoy runtime protobuffer message

rawConfig RawConfig

ExternalSecret

ExternalSecret is a reference to the ExternalSecret common configuration

Field Description

SecretStoreRef defines which SecretStore to use when fetching the secret data

refreshInterval Duration

RefreshInterval is the amount of time before the values reading again from the SecretStore provider (duration)

ExternalSecretSecretStoreReferenceSpec

ExternalSecretSecretStoreReferenceSpec is a reference to a secret store

Appears In:
Field Description

name string

The Vault secret store reference name

kind string

The Vault secret store reference kind

GithubSpec

GithubSpec has configuration for Github integration

Appears In:
Field Description

clientID SecretReference

Client ID

clientSecret SecretReference

Client secret

GrafanaDashboardSpec

GrafanaDashboardSpec configures the Grafana Dashboard for the component

Field Description

selectorKey string

Label key used by grafana-operator for dashboard discovery

selectorValue string

Label value used by grafana-operator for dashboard discovery

HorizontalPodAutoscalerSpec

HorizontalPodAutoscalerSpec defines the HPA for the component

Field Description

minReplicas integer

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.

maxReplicas integer

Upper limit for the number of replicas to which the autoscaler can scale up. It cannot be less that minReplicas.

resourceName string

Target resource used to autoscale (cpu/memory)

resourceUtilization integer

A percentage indicating the target resource consumption used to autoscale

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.

ImageSpec

ImageSpec defines the image for the component

Field Description

name string

Docker repository of the image

tag string

Image tag

pullSecretName string

Name of the Secret that holds quay.io credentials to access the image repository

pullPolicy PullPolicy

Pull policy for the image

ListenerConfig

ListenerConfig configures app behavior for Backend Listener

Appears In:
Field Description

logFormat string

Listener log format

redisAsync boolean

Enable (true) or disable (false) listener redis async mode

listenerWorkers integer

Number of worker processes per listener pod

legacyReferrerFilters boolean

Enable (true) or disable (false) Legacy Referrer Filters

ListenerHttp

ListenerHttp contains options for an HTTP/HTTPS listener

Appears In:
Field Description

port integer

The port where the listener listens for new connections

proxyProtocol boolean

Whether proxy protocol should be enabled or not. Defaults to true.

routeConfigName string

The name of the RouteConfiguration to use in the listener

certificateSecretName string

The name of the Secret containing a valid certificate. If unset the listener will be http, if set https

rateLimitOptions RateLimitOptions

Rate limit options for the ratelimit filter of the HTTP connection manager

defaultHostForHttp10 string

If this filed is set, http 1.0 will be enabled and this will be the default hostname to use.

enableHttp2 boolean

Enable http2 in the listener.Disabled by default.

allowHeadersWithUnderscores boolean

Allow headers with underscores

maxConnectionDuration Duration

Max connection duration. If unset no max connection duration will be applied.

ListenerSpec

ListenerSpec is the configuration for Backend Listener

Appears In:
Field Description

Listener specific configuration options for the component element

Pod Disruption Budget for the component

Horizontal Pod Autoscaler for the component

replicas integer

Number of replicas (ignored if hpa is enabled) for the component

Resource requirements for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

endpoint Endpoint

The external endpoint/s for the component

Marin3r configures the Marin3r sidecars for the component

loadBalancer NLBLoadBalancerSpec

Configures the AWS Network load balancer for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

canary Canary

Canary defines spec changes for the canary Deployment. If left unset the canary Deployment wil not be created.

LoadBalancerSpec

LoadBalancerSpec configures the AWS load balancer for the component

Field Description

proxyProtocol boolean

Enables/disbles use of proxy protocol in the load balancer

crossZoneLoadBalancingEnabled boolean

Enables/disables cross zone load balancing

connectionDrainingEnabled boolean

Enables/disables connection draining

connectionDrainingTimeout integer

Sets the timeout for connection draining

healthcheckHealthyThreshold integer

Sets the healthy threshold for the load balancer

healthcheckUnhealthyThreshold integer

Sets the unhealthy threshold for the load balancer

healthcheckInterval integer

Sets the interval between health checks

healthcheckTimeout integer

Sets the timeout for the health check

MappingService

MappingService is the Schema for the mappingservices API

Field Description

apiVersion string

saas.3scale.net/v1alpha1

kind string

MappingService

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

MappingServiceConfig

MappingServiceConfig configures app behavior for MappingService

Appears In:
Field Description

apiHost string

System endpoint to fetch proxy configs from

previewBaseDomain string

Base domain to replace the proxy configs base domain

logLevel string

Openresty log level

externalSecret ExternalSecret

External Secret common configuration

systemAdminToken SecretReference

A reference to the secret holding the system admin token

MappingServiceSpec

MappingServiceSpec defines the desired state of MappingService

Appears In:
Field Description

image ImageSpec

Image specification for the component

Pod Disruption Budget for the component

Horizontal Pod Autoscaler for the component

replicas integer

Number of replicas (ignored if hpa is enabled) for the component

Resource requirements for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

grafanaDashboard GrafanaDashboardSpec

Configures the Grafana Dashboard for the component

Application specific configuration options for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

Marin3rSidecarSpec

Marin3rSidecarSpec defines the marin3r sidecar for the component

Field Description

nodeID string

The NodeID that identifies the Envoy sidecar to the DiscoveryService

envoyAPIVersion string

The Envoy API version to use

envoyImage string

The Envoy iamge to use

ports SidecarPort array

The ports that the sidecar exposes

Compute Resources required by this container.

shtdnmgrPort integer

The port where Marin3r’s shutdown manager listens

shtdnmgrExtraLifecycleHooks string array

Extra containers to sync with the shutdown manager upon pod termination

extraPodAnnotations object (keys:string, values:string)

Extra annotations to pass the Pod to further configure the sidecar container.

dynamicConfigs object (keys:string, values:EnvoyDynamicConfig)

Envoy dynamic configuration. Populating this field causes the operator to create a Marin3r EnvoyConfig resource, so Marin3r must be installed in the cluster.

MonitoredShard

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

Appears In:
Field Description

name string

Name is the name of the redis shard

servers object (keys:string, values:RedisServerDetails)

Server is a map intended to store configuration information of each of the RedisServer instances that belong to the MonitoredShard

NLBLoadBalancerSpec

NLBLoadBalancerSpec configures the AWS NLB load balancer for the component

Field Description

proxyProtocol boolean

Enables/disbles use of proxy protocol in the load balancer

crossZoneLoadBalancingEnabled boolean

Enables/disables cross zone load balancing

eipAllocations string array

The list of optional Elastic IPs allocations

PodDisruptionBudgetSpec

PodDisruptionBudgetSpec defines the PDB for the component

Field Description

minAvailable IntOrString

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%".

maxUnavailable IntOrString

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

ProbeSpec

ProbeSpec specifies configuration for a probe

Field Description

initialDelaySeconds integer

Number of seconds after the container has started before liveness probes are initiated

timeoutSeconds integer

Number of seconds after which the probe times out

periodSeconds integer

How often (in seconds) to perform the probe

successThreshold integer

Minimum consecutive successes for the probe to be considered successful after having failed

failureThreshold integer

Minimum consecutive failures for the probe to be considered failed after having succeeded

QueSpec

QueSpec is the configuration for Zync que

Appears In:
Field Description

Pod Disruption Budget for the component

Horizontal Pod Autoscaler for the component

replicas integer

Number of replicas (ignored if hpa is enabled) for the component

Resource requirements for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

RateLimitOptions

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

Appears In:
Field Description

domain string

The rate limit domain

failureModeDeny bool

Whether to allow requests or not if the rate limit service is unavailable

timeout Duration

Max time to wait for a response from the rate limit service

rateLimitCluster string

Location of the rate limit service. Must point to one of the defined clusters.

RawConfig

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

Appears In:
Field Description

type string

Type is the type url for the protobuf message

value RawExtension

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.

RedHatCustomerPortalSpec

RedHatCustomerPortalSpec has configuration for integration with Red Hat Customer Portal

Appears In:
Field Description

clientID SecretReference

Client ID

clientSecret SecretReference

Client secret

realm string

Realm

RedisServerDetails

Appears In:
Field Description

role Role

address string

config object (keys:string, values:string)

info object (keys:string, values:string)

RedisShard

RedisShard is the Schema for the redisshards API

Field Description

apiVersion string

saas.3scale.net/v1alpha1

kind string

RedisShard

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

RedisShardNodes

Appears In:
Field Description

master object (keys:string, values:string)

Master is the node that acts as master role in the redis shard

slaves object (keys:string, values:string)

Slaves are the nodes that act as master role in the redis shard

RedisShardSpec

RedisShardSpec defines the desired state of RedisShard

Appears In:
Field Description

image ImageSpec

Image specification for the component

masterIndex integer

MasterIndex is the StatefulSet Pod index of the redis server with the master role. The other Pods are slaves of the master one.

slaveCount integer

SlaveCount is the number of redis slaves

command string

Command overrides the redis container command

RedisShardStatus

RedisShardStatus defines the observed state of RedisShard

Appears In:
Field Description

shardNodes RedisShardNodes

ShardNodes describes the nodes in the redis shard

RedisSpec

RedisSpec holds redis configuration

Appears In:
Field Description

queuesDSN string

Data source name

ResourceRequirementsSpec

ResourceRequirementsSpec defines the resource requirements for the component

Field Description

claims ResourceClaim array

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.

RouteConfiguration

RouteConfiguration contains options for an Envoy route_configuration protobuffer message

Appears In:
Field Description

virtualHosts RawExtension array

The virtual_hosts definitions for this route configuration. Virtual hosts must be specified using directly Envoy’s API

Runtime

Runtime contains options for an Envoy runtime protobuffer message

Appears In:
Field Description

listenerNames string array

The list of listeners to apply overload protection limits to

S3Options

Field Description

bucket string

S3 bucket name

path string

S3 path where backups should be uploaded

region string

AWS region

credentialsSecretRef LocalObjectReference

Reference to a Secret tha contains credentials to access S3 API. The credentials must have the following permissions: s3:GetObject, s3:PutObject, and s3:ListBucket, s3:ListObjects, s3:PutObjectTagging.

serviceEndpoint string

Optionally use a custom s3 service endpoint. Useful for testing with Minio.

SMTPSpec

SMTPSpec has options to configure system’s SMTP

Appears In:
Field Description

address string

Address

User

password SecretReference

Password

port integer

Port

authProtocol string

Authentication protocol

opensslVerifyMode string

OpenSSL verify mode

starttls boolean

Enable/disable STARTTLS

starttlsAuto boolean

Enable/disable auto STARTTLS

SSHOptions

Field Description

user string

SSH user

privateKeySecretRef LocalObjectReference

Reference to a Secret that contains the SSH private key

port integer

SSH port (default is 22)

sudo boolean

Use sudo to execute commands agains the remote host

SearchServerSpec

Appears In:
Field Description

AddressSpec AddressSpec

batchSize integer

Defines the batch size

SearchdConfig

SearchdConfig has configuration options for System’s searchd

Appears In:
Field Description

serviceName string

Allows setting the service name for Searchd

port integer

The TCP port Searchd will run its daemon on

databasePath string

Searchd database path

databaseStorageSize Quantity

Searchd database storage size

databaseStorageClass string

Searchd database storage type

SecretReference

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

Field Description

FromVault is a reference to a secret key/value stored in a Hashicorp Vault

override string

Override allows to directly specify a string value.

FromSeed will try to retrieve the secret value from the default seed Secret.

SeedSecretReference

SeedSecretReference represents options to retrieve the secret value from the default seed Secret. There are no configurable options at this point.

Appears In:

SegmentSpec

SegmentSpec has configuration for Segment integration

Appears In:
Field Description

deletionWorkspace string

Deletion workspace

deletionToken SecretReference

Deletion token

writeKey SecretReference

Write key

Sentinel

Sentinel is the Schema for the sentinels API

Field Description

apiVersion string

saas.3scale.net/v1alpha1

kind string

Sentinel

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

SentinelConfig

SentinelConfig defines configuration options for the component

Appears In:
Field Description

monitoredShards object (keys:string, values:string array)

Monitored shards indicates the redis servers that form part of each shard monitored by sentinel

clusterTopology object (keys:string, values:object)

ClusterTopology indicates the redis servers that form part of each shard monitored by sentinel

storageClass string

StorageClass is the storage class to be used for the persistent sentinel config file where the shards state is stored

storageSize Quantity

StorageSize is the storage size to provision for the persistent sentinel config file where the shards state is stored

metricsRefreshInterval Duration

MetricsRefreshInterval determines the refresh interval for gahtering metrics from sentinel

SentinelSpec

SentinelSpec defines the desired state of Sentinel

Appears In:
Field Description

image ImageSpec

Image specification for the component

replicas integer

Number of replicas (ignored if hpa is enabled) for the component

Pod Disruption Budget for the component

Resource requirements for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

grafanaDashboard GrafanaDashboardSpec

Configures the Grafana Dashboard for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

Config configures the sentinel process

SentinelStatus

SentinelStatus defines the observed state of Sentinel

Appears In:
Field Description

sentinels string array

Addresses of the sentinel instances currently running

monitoredShards MonitoredShard array

MonitoredShards is the list of shards that the Sentinel resource is currently monitoring

ShardedRedisBackup

ShardedRedisBackup is the Schema for the shardedredisbackups API

Field Description

apiVersion string

saas.3scale.net/v1alpha1

kind string

ShardedRedisBackup

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ShardedRedisBackupSpec

ShardedRedisBackupSpec defines the desired state of ShardedRedisBackup

Appears In:
Field Description

sentinelRef string

Reference to a sentinel instance

schedule string

Cron-like schedule specification

dbFile string

Name of the dbfile in the redis instances

sshOptions SSHOptions

SSH connection options

s3Options S3Options

S3 storage options

timeout Duration

Max allowed time for a backup to complete

historyLimit integer

Max number of backup history to keep

pollInterval Duration

How frequently redis is polled for the BGSave status

pause boolean

If true, backup execution is stopped

ShardedRedisBackupStatus

ShardedRedisBackupStatus defines the observed state of ShardedRedisBackup

Appears In:

ShardedRedisTopology

Appears In:
Field Description

shardName string

The name of the locigal shard

physicalShard string

The physical shard where the logical one is stored. This name should match the shard names monitored by Sentinel.

SidecarPort

SidecarPort defines port for the Marin3r sidecar container

Appears In:
Field Description

name string

Port name

port integer

Port value

SidekiqConfig

SidekiqConfig configures app behavior for System Sidekiq

Appears In:
Field Description

queues string array

List of queues to be consumed by sidekiq. Format: queue[,Priority]

maxThreads integer

Number of rails max threads per sidekiq pod

System

System is the Schema for the systems API

Field Description

apiVersion string

saas.3scale.net/v1alpha1

kind string

System

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec SystemSpec

status SystemStatus

SystemApicastEndpointsSpec

ApicastSpec holds properties to configure Apicast endpoints

Appears In:
Field Description

stagingDomain string

Apicast Staging endpoint

productionDomain string

Apicast Production endpoint

cloudHostedRegistryURL string

Policies registry URL for Apicast Cloud Hosteed

selfManagedRegistryURL string

Policies registry URL for Apicast Self Managed (on-prem)

SystemAppSpec

SystemAppSpec configures the App component of System

Appears In:
Field Description

deploymentStrategy DeploymentStrategySpec

The deployment strategy to use to replace existing pods with new ones.

Pod Disruption Budget for the component

Horizontal Pod Autoscaler for the component

replicas integer

Number of replicas (ignored if hpa is enabled) for the component

Resource requirements for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

canary Canary

Canary defines spec changes for the canary Deployment. If left unset the canary Deployment wil not be created.

terminationGracePeriodSeconds integer

Configures the TerminationGracePeriodSeconds

SystemBackendSpec

SystemBackendSpec has configuration options for backend

Appears In:
Field Description

externalEndpoint string

External endpoint

internalEndpoint string

Internal endpoint

internalAPIUser SecretReference

Internal API user

internalAPIPassword SecretReference

Internal API password

redisDSN string

Redis data source name

SystemConfig

SystemConfig holds configuration for SystemApp component

Appears In:
Field Description

Rails configuration options for system components

sandboxProxyOpensslVerifyMode string

OpenSSL verification mode for sandbox proxy

forceSSL boolean

Enable (true) or disable (false) enforcing SSL

sslCertsDir string

SSL certificates path

searchServer SearchServerSpec

Search service options

threescaleProviderPlan string

3scale provider plan

threescaleSuperdomain string

3scale superdomain

configFilesSecret string

Secret containging system configuration files to be mounted in the pods

externalSecret ExternalSecret

External Secret common configuration

databaseDSN SecretReference

DSN of system’s main database

eventsSharedSecret SecretReference

EventsSharedSecret is a password that protects System’s event hooks endpoint.

Holds recaptcha configuration options

secretKeyBase SecretReference

SecretKeyBase: https://api.rubyonrails.org/classes/Rails/Application.html#method-i-secret_key_base You can generate one random key using 'bundle exec rake secret'

accessCode SecretReference

AccessCode to protect admin urls

segment SegmentSpec

Options for Segment integration

github GithubSpec

Options for Github integration

redhatCustomerPortal RedHatCustomerPortalSpec

Options for configuring RH Customer Portal integration

bugsnag BugsnagSpec

Options for configuring Bugsnag integration

databaseSecret SecretReference

DatabaseSecret is a site key stored off-database for improved more secure password hashing See https://github.com/3scale/porta/blob/ae498814cef3d856613f60d29330882fa870271d/config/initializers/site_keys.rb#L2-L19

memcachedServers string

Memcached servers

redis RedisSpec

Redis configuration options

smtp SMTPSpec

SMTP configuration options

mappingServiceAccessToken SecretReference

Mapping Service access token

Zync has configuration options for system to contact zync

Backend has configuration options for system to contact backend

assets AssetsSpec

Assets has configuration to access assets in AWS s3

Apicast can be used to pass down apicast endpoints configuration

SystemRailsConsoleSpec

SystemRailsConsoleSpec configures the App component of System

Appears In:
Field Description

image ImageSpec

Image specification for the Console component. Defaults to system image if not defined.

Resource requirements for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

SystemRailsSpec

SystemRailsSpec configures rails for system components

Appears In:
Field Description

console boolean

Rails Console

environment string

Rails environment

logLevel string

Rails log level (debug, info, warn, error, fatal or unknown)

SystemRecaptchaSpec

SystemRecaptchaSpec holds recaptcha configurations

Appears In:
Field Description

publicKey SecretReference

Public key

privateKey SecretReference

Private key

SystemSearchdSpec

SystemSearchdSpec configures the App component of System

Appears In:
Field Description

enabled boolean

Deploy searchd instance

image ImageSpec

Image specification for the Searchd component. Defaults to system image if not defined.

config SearchdConfig

Configuration options for System’s Searchd

Resource requirements for the Searchd component

livenessProbe ProbeSpec

Liveness probe for the Searchd component

readinessProbe ProbeSpec

Readiness probe for the Searchd component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the Searchd pod

tolerations Toleration array

If specified, the Searchd pod’s tolerations.

terminationGracePeriodSeconds integer

Configures the TerminationGracePeriodSeconds for Searchd

SystemSidekiqSpec

SystemSidekiqSpec configures the Sidekiq component of System

Appears In:
Field Description

deploymentStrategy DeploymentStrategySpec

The deployment strategy to use to replace existing pods with new ones.

config SidekiqConfig

Sidekiq specific configuration options for the component element

Pod Disruption Budget for the component

Horizontal Pod Autoscaler for the component

replicas integer

Number of replicas (ignored if hpa is enabled) for the component

Resource requirements for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

canary Canary

Canary defines spec changes for the canary Deployment. If left unset the canary Deployment wil not be created.

terminationGracePeriodSeconds integer

Configures the TerminationGracePeriodSeconds

SystemSpec

SystemSpec defines the desired state of System

Appears In:
Field Description

config SystemConfig

Application specific configuration options for System components

image ImageSpec

Image specification for the component

Application specific configuration options

sidekiqDefault SystemSidekiqSpec

Sidekiq Default specific configuration options

sidekiqBilling SystemSidekiqSpec

Sidekiq Billing specific configuration options

sidekiqLow SystemSidekiqSpec

Sidekiq Low specific configuration options

Searchd specific configuration options

Console specific configuration options

tasks SystemTektonTaskSpec array

Configures the Tekton Tasks for the component

grafanaDashboard GrafanaDashboardSpec

Configures the Grafana Dashboard for the component

twemproxy TwemproxySpec

Configures twemproxy

SystemTektonTaskConfig

SystemTektonTaskConfig configures app behavior for System SystemTektonTask

Appears In:
Field Description

image ImageSpec

Image specification for the Console component. Defaults to system image if not defined.

command string array

List of commands to be consumed by the task.

args string array

List of args to be consumed by the task.

extraEnv EnvVar array

List of extra evironment variables to be consumed by the task.

timeout Duration

Timeout for the Tekton task

SystemTektonTaskSpec

SystemTektonTaskSpec configures the Sidekiq component of System

Appears In:
Field Description

enabled boolean

Deploy task instance

name string

Name for the Tekton task and pipeline

description string

Description for the Tekton task and pipeline

System Tekton Task specific configuration options for the component element

Pod Disruption Budget for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

terminationGracePeriodSeconds integer

Configures the TerminationGracePeriodSeconds

SystemZyncSpec

SystemZyncSpec has configuration options for zync

Appears In:
Field Description

authToken SecretReference

Zync authentication token

endpoint string

Zync endpoint

TargetRedisServers (string)

Appears In:

TargetServer

Defines a server targeted by one of the TwemproxyConfig server pools

Appears In:
Field Description

serverAlias string

serverAddress string

TwemproxyConfig

TwemproxyConfig is the Schema for the twemproxyconfigs API

Field Description

apiVersion string

saas.3scale.net/v1alpha1

kind string

TwemproxyConfig

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

TwemproxyConfigSpec

TwemproxyConfigSpec defines the desired state of TwemproxyConfig

Appears In:
Field Description

sentinelURIs string array

SentinelURI is the redis URI of sentinel. If not set, the controller will try to autodiscover Sentinel within the namespace. TODO: remove, unused

serverPools TwemproxyServerPool array

ServerPools is the list of Twemproxy server pools WARNING: only 1 pool is supported at this time

reconcileServerPools boolean

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

grafanaDashboard GrafanaDashboardSpec

Configures the Grafana Dashboard for the component

TwemproxyConfigStatus

TwemproxyConfigStatus defines the observed state of TwemproxyConfig

Appears In:
Field Description

targets object (keys:string, values:TargetServer)

The list of serves currently targeted by this TwemproxyConfig

TwemproxyOptions

Appears In:
Field Description

logLevel integer

Set logging level to N. (default: 5, min: 0, max: 11)

metricsAddress integer

Set stats monitoring port to port. (default: 22222)

statsInterval Duration

Set stats aggregation interval in msec to interval. (default: 30s)

TwemproxyServerPool

Appears In:
Field Description

name string

The name of the server pool

topology ShardedRedisTopology array

The topology of the servers within the server pool. This field describes the association of logical shards to physical shards.

bindAddress string

The address to bind to. Format is ip:port

timeout integer

Timeout to stablish connection with the servers in the server pool

tcpBacklog integer

Max number of pending connections in the queue

preConnect boolean

Connect to all servers in the pool during startup

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.

TwemproxySpec

TwemproxySpec configures twemproxy sidecars to access a sharded redis

Appears In:
Field Description

image ImageSpec

Image specification for the component

Resource requirements for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

twemproxyConfigRef string

TwemproxyConfigRef is a reference to a TwemproxyConfig resource in the same Namespace

Options

VaultSecretReference

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

Appears In:
Field Description

path string

The Vault path where the secret is located

key string

The Vault key of the secret

WorkerConfig

WorkerConfig configures app behavior for Backend Worker

Appears In:
Field Description

logFormat string

Worker log format

redisAsync boolean

Enable (true) or disable (false) worker redis async mode

WorkerSpec

WorkerSpec is the configuration for Backend Worker

Appears In:
Field Description

config WorkerConfig

Listener specific configuration options for the component element

Pod Disruption Budget for the component

Horizontal Pod Autoscaler for the component

replicas integer

Number of replicas (ignored if hpa is enabled) for the component

Resource requirements for the component

livenessProbe ProbeSpec

Liveness probe for the component

readinessProbe ProbeSpec

Readiness probe for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

canary Canary

Canary defines spec changes for the canary Deployment. If left unset the canary Deployment wil not be created.

Zync

Zync is the Schema for the zyncs API

Field Description

apiVersion string

saas.3scale.net/v1alpha1

kind string

Zync

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec ZyncSpec

status ZyncStatus

ZyncConfig

ZyncConfig configures app behavior for Zync

Appears In:
Field Description

Rails configuration options for zync components

externalSecret ExternalSecret

External Secret common configuration

databaseDSN SecretReference

A reference to the secret holding the database DSN

secretKeyBase SecretReference

A reference to the secret holding the secret-key-base

zyncAuthToken SecretReference

A reference to the secret holding the zync authentication token

bugsnag BugsnagSpec

Options for configuring Bugsnag integration

ZyncRailsConsoleSpec

ZyncRailsConsoleSpec configures the Console component of Zync

Appears In:
Field Description

enabled boolean

Enables or disables the Zync Console statefulset

image ImageSpec

Defaults to zync image if not defined.

Resource requirements for the component

nodeAffinity NodeAffinity

Describes node affinity scheduling rules for the pod.

tolerations Toleration array

If specified, the pod’s tolerations.

ZyncRailsSpec

ZyncRailsSpec configures rails for system components

Appears In:
Field Description

environment string

Rails environment

logLevel string

Rails log level (debug, info, warn, error, fatal or unknown)

maxThreads integer

Rails max threads (only applies to api)

ZyncSpec

ZyncSpec defines the desired state of Zync

Appears In:
Field Description

image ImageSpec

Image specification for the component

config ZyncConfig

Application specific configuration options for the component

grafanaDashboard GrafanaDashboardSpec

Configures the Grafana Dashboard for the component

api APISpec

Configures the main zync api component

que QueSpec

Configures the zync que component

Console specific configuration options