component

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2024 License: Apache-2.0 Imports: 24 Imported by: 4

Documentation

Index

Constants

View Source
const (
	ApicastStagingName    = "apicast-staging"
	ApicastProductionName = "apicast-production"

	CustomPoliciesMountBasePath               = "/opt/app-root/src/policies"
	CustomPoliciesAnnotationNameSegmentPrefix = "apicast-policy-volume"
	CustomPoliciesAnnotationPartialKey        = "apps.3scale.net/" + CustomPoliciesAnnotationNameSegmentPrefix

	CustomEnvironmentsMountBasePath               = "/opt/app-root/src/environments"
	CustomEnvironmentsAnnotationNameSegmentPrefix = "apicast-env-volume"
	CustomEnvironmentsAnnotationPartialKey        = "apps.3scale.net/" + CustomEnvironmentsAnnotationNameSegmentPrefix

	HTTPSCertificatesMountPath  = "/var/run/secrets/tls"
	HTTPSCertificatesVolumeName = "https-certificates"

	APIcastEnvironmentConfigMapName = "apicast-environment"
)
View Source
const (
	APIcastTracingConfigSecretKey                   = "config"
	APIcastTracingConfigMountBasePath               = "/opt/app-root/src/tracing-configs"
	APIcastTracingConfigAnnotationNameSegmentPrefix = "apicast-tracing-config-volume"
	APIcastTracingConfigAnnotationPartialKey        = "apps.3scale.net/" + APIcastTracingConfigAnnotationNameSegmentPrefix
)
View Source
const (
	BackendListenerName = "backend-listener"
	BackendWorkerName   = "backend-worker"
	BackendCronName     = "backend-cron"
)
View Source
const (
	BackendSecretBackendRedisSecretName                    = "backend-redis"
	BackendSecretBackendRedisStorageURLFieldName           = "REDIS_STORAGE_URL"
	BackendSecretBackendRedisQueuesURLFieldName            = "REDIS_QUEUES_URL"
	BackendSecretBackendRedisStorageSentinelHostsFieldName = "REDIS_STORAGE_SENTINEL_HOSTS"
	BackendSecretBackendRedisStorageSentinelRoleFieldName  = "REDIS_STORAGE_SENTINEL_ROLE"
	BackendSecretBackendRedisQueuesSentinelHostsFieldName  = "REDIS_QUEUES_SENTINEL_HOSTS"
	BackendSecretBackendRedisQueuesSentinelRoleFieldName   = "REDIS_QUEUES_SENTINEL_ROLE"
)
View Source
const (
	BackendSecretInternalApiSecretName        = "backend-internal-api"
	BackendSecretInternalApiUsernameFieldName = "username"
	BackendSecretInternalApiPasswordFieldName = "password"
)
View Source
const (
	BackendSecretBackendListenerSecretName               = "backend-listener"
	BackendSecretBackendListenerServiceEndpointFieldName = "service_endpoint"
	BackendSecretBackendListenerRouteEndpointFieldName   = "route_endpoint"
)
View Source
const (
	BackendWorkerMetricsPort   = 9421
	BackendListenerMetricsPort = 9394
)
View Source
const (
	ThreescalePrometheusJobDownURL                     = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/prometheus_job_down.adoc"
	ThreescalePodNotReadyURL                           = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/pod_not_ready.adoc"
	ThreescaleZync5XXRequestsHighURL                   = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/zync_5xx_requests_high.adoc"
	ThreescaleZyncQueScheduledJobCountHighURL          = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/zync_que_scheduled_job_count_high.adoc"
	ThreescaleZyncQueFailedJobCountHighURL             = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/zync_que_failed_job_count_high.adoc"
	ThreescaleZyncQueReadyJobCountHighURL              = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/zync_que_ready_job_count_high.adoc"
	ThreescaleBackendWorkerJobsCountRunningHighURL     = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/backend_worker_jobs_count_running_high.adoc"
	ThreescaleBackendListener5XXRequestsHighURL        = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/backend_listener_5xx_requests_high.adoc"
	ThreescalePodCrashLoopingURL                       = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/pod_crash_looping.adoc"
	ThreescaleReplicationControllerReplicasMismatchURL = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/replication_controller_replicas_mismatch.adoc"
	ThreescaleContainerWaitingURL                      = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/container_waiting.adoc"
	ThreescaleContainerCPUHighURL                      = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/container_cpu_high.adoc"
	ThreescaleContainerMemoryHighURL                   = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/container_memory_high.adoc"
	ThreescaleContainerCPUThrottlingHighURL            = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/container_cpu_throttling_high.adoc"
	ThreescaleApicastRequestTimeURL                    = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/apicast_request_time.adoc"
	ThreescaleApicastHttp4xxErrorRateURL               = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/apicast_http_4xx_error_rate.adoc"
	ThreescaleApicastLatencyHighURL                    = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/apicast_apicast_latency.adoc"
	ThreescaleApicastWorkerRestartURL                  = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/apicast_worker_restart.adoc"
	ThreescaleSystemApp5XXRequestsHighURL              = "https://github.com/3scale/3scale-Operations/blob/master/sops/alerts/system_app_5xx_requests_high.adoc"
)

Add alert sop urls here

View Source
const (
	BackendRedisDeploymentName = "backend-redis"
	SystemRedisDeploymentName  = "system-redis"
)
View Source
const (
	SystemSecretSystemDatabaseSecretName            = "system-database"
	SystemSecretSystemDatabaseURLFieldName          = "URL"
	SystemSecretSystemDatabaseDatabaseNameFieldName = "DB_NAME"
	SystemSecretSystemDatabaseUserFieldName         = "DB_USER"
	SystemSecretSystemDatabasePasswordFieldName     = "DB_PASSWORD"
	SystemSecretSystemDatabaseRootPasswordFieldName = "DB_ROOT_PASSWORD"
)
View Source
const (
	SystemSecretSystemMemcachedSecretName       = "system-memcache"
	SystemSecretSystemMemcachedServersFieldName = "SERVERS"
)
View Source
const (
	SystemSecretSystemRecaptchaSecretName          = "system-recaptcha"
	SystemSecretSystemRecaptchaPublicKeyFieldName  = "PUBLIC_KEY"
	SystemSecretSystemRecaptchaPrivateKeyFieldName = "PRIVATE_KEY"
)
View Source
const (
	SystemSecretSystemEventsHookSecretName        = "system-events-hook"
	SystemSecretSystemEventsHookURLFieldName      = "URL"
	SystemSecretSystemEventsHookPasswordFieldName = "PASSWORD"
)
View Source
const (
	SystemSecretSystemRedisSecretName    = "system-redis"
	SystemSecretSystemRedisURLFieldName  = "URL"
	SystemSecretSystemRedisNamespace     = "NAMESPACE"
	SystemSecretSystemRedisSentinelHosts = "SENTINEL_HOSTS"
	SystemSecretSystemRedisSentinelRole  = "SENTINEL_ROLE"
)
View Source
const (
	SystemSecretSystemAppSecretName              = "system-app"
	SystemSecretSystemAppSecretKeyBaseFieldName  = "SECRET_KEY_BASE"
	SystemSecretSystemAppUserSessionTTLFieldName = "USER_SESSION_TTL"
)
View Source
const (
	SystemSecretSystemSeedSecretName                 = "system-seed"
	SystemSecretSystemSeedMasterDomainFieldName      = "MASTER_DOMAIN"
	SystemSecretSystemSeedMasterAccessTokenFieldName = "MASTER_ACCESS_TOKEN"
	SystemSecretSystemSeedMasterUserFieldName        = "MASTER_USER"
	SystemSecretSystemSeedMasterPasswordFieldName    = "MASTER_PASSWORD"
	SystemSecretSystemSeedAdminAccessTokenFieldName  = "ADMIN_ACCESS_TOKEN"
	SystemSecretSystemSeedAdminUserFieldName         = "ADMIN_USER"
	SystemSecretSystemSeedAdminPasswordFieldName     = "ADMIN_PASSWORD"
	SystemSecretSystemSeedAdminEmailFieldName        = "ADMIN_EMAIL"
	SystemSecretSystemSeedTenantNameFieldName        = "TENANT_NAME"
)
View Source
const (
	SystemSecretSystemMasterApicastSecretName                    = "system-master-apicast"
	SystemSecretSystemMasterApicastProxyConfigsEndpointFieldName = "PROXY_CONFIGS_ENDPOINT"
	SystemSecretSystemMasterApicastAccessToken                   = "ACCESS_TOKEN"
)
View Source
const (
	SystemSecretSystemSMTPSecretName                 = "system-smtp"
	SystemSecretSystemSMTPAddressFieldName           = "address"
	SystemSecretSystemSMTPUserNameFieldName          = "username"
	SystemSecretSystemSMTPPasswordFieldName          = "password"
	SystemSecretSystemSMTPDomainFieldName            = "domain"
	SystemSecretSystemSMTPPortFieldName              = "port"
	SystemSecretSystemSMTPAuthenticationFieldName    = "authentication"
	SystemSecretSystemSMTPOpenSSLVerifyModeFieldName = "openssl.verify.mode"
	SystemSecretSystemSMTPFromAddressFieldName       = "from_address"
)
View Source
const (
	SystemSidekiqName       = "system-sidekiq"
	SystemAppDeploymentName = "system-app"

	SystemAppMasterContainerName    = "system-master"
	SystemAppProviderContainerName  = "system-provider"
	SystemAppDeveloperContainerName = "system-developer"
)
View Source
const (
	SystemAppPrometheusExporterPortEnvVarName     = "PROMETHEUS_EXPORTER_PORT"
	SystemSidekiqPrometheusExporterPortEnvVarName = "PROMETHEUS_EXPORTER_PORT"
	SystemSidekiqMetricsPort                      = 9394
	SystemAppMasterContainerPrometheusPort        = 9395
	SystemAppProviderContainerPrometheusPort      = 9396
	SystemAppDeveloperContainerPrometheusPort     = 9394
	SystemAppMasterContainerMetricsPortName       = "master-metrics"
	SystemAppProviderContainerMetricsPortName     = "prov-metrics"
	SystemAppDeveloperContainerMetricsPortName    = "dev-metrics"
)
View Source
const (
	SystemSearchdDeploymentName = "system-searchd"
	SystemSearchdPVCName        = "system-searchd"
	SystemSearchdServiceName    = "system-searchd"
	SystemSearchdDBVolumeName   = "system-searchd-database"
)
View Source
const (
	ZyncName                   = "zync"
	ZyncQueDeploymentName      = "zync-que"
	ZyncDatabaseDeploymentName = "zync-database"
)
View Source
const (
	ZyncSecretName                         = "zync"
	ZyncSecretKeyBaseFieldName             = "SECRET_KEY_BASE"
	ZyncSecretDatabaseURLFieldName         = "DATABASE_URL"
	ZyncSecretDatabasePasswordFieldName    = "ZYNC_DATABASE_PASSWORD"
	ZyncSecretAuthenticationTokenFieldName = "ZYNC_AUTHENTICATION_TOKEN"
)
View Source
const (
	ZyncMetricsPort    = 9393
	ZyncQueMetricsPort = 9394
)
View Source
const (
	InsecureImportPolicy = false
)
View Source
const (
	PDB_MAX_UNAVAILABLE_POD_NUMBER = 1
)
View Source
const (
	S3StsCredentialsSecretName = "s3-credentials"
)
View Source
const (
	SystemFileStoragePVCName = "system-storage"
)
View Source
const (
	SystemMemcachedDeploymentName = "system-memcache"
)
View Source
const (
	SystemMySQLDeploymentName = "system-mysql"
)
View Source
const (
	SystemPostgreSQLDeploymentName = "system-postgresql"
)

Variables

View Source
var (
	BackendWorkerMetricsPortStr   = strconv.FormatInt(BackendWorkerMetricsPort, 10)
	BackendListenerMetricsPortStr = strconv.FormatInt(BackendListenerMetricsPort, 10)
)
View Source
var HighlyAvailableExternalDatabases = map[string]bool{
	"backend-redis": true,
	"system-redis":  true,
	"system-mysql":  true,
}

Functions

func AmpImagesDefaultImagePullSecrets added in v0.7.0

func AmpImagesDefaultImagePullSecrets() []v1.LocalObjectReference

func AnnotationsValuesWithAnnotationKeyPrefix added in v0.8.0

func AnnotationsValuesWithAnnotationKeyPrefix(annotations map[string]string, keyPrefix string) []string

AnnotationsValuesWithAnnotationKeyPrefix returns the annotation values from annotations whose keys have the prefix keyPrefix

func ApicastEnvVolumeNamesFromAnnotations added in v0.8.0

func ApicastEnvVolumeNamesFromAnnotations(annotations map[string]string) []string

func ApicastImageURL added in v0.4.0

func ApicastImageURL() string

func ApicastPolicyVolumeNamesFromAnnotations added in v0.8.0

func ApicastPolicyVolumeNamesFromAnnotations(annotations map[string]string) []string

func ApicastTracingConfigVolumeNamesFromAnnotations added in v0.8.0

func ApicastTracingConfigVolumeNamesFromAnnotations(annotations map[string]string) []string

func BackendImageURL added in v0.4.0

func BackendImageURL() string

func BackendRedisImageURL added in v0.4.0

func BackendRedisImageURL() string

func DefaultApicastSystemMasterProxyConfigEndpoint added in v0.6.0

func DefaultApicastSystemMasterProxyConfigEndpoint(token string) string

func DefaultAppDeveloperContainerResourceRequirements added in v0.6.0

func DefaultAppDeveloperContainerResourceRequirements() *v1.ResourceRequirements

func DefaultAppMasterContainerResourceRequirements added in v0.6.0

func DefaultAppMasterContainerResourceRequirements() *v1.ResourceRequirements

func DefaultAppProviderContainerResourceRequirements added in v0.6.0

func DefaultAppProviderContainerResourceRequirements() *v1.ResourceRequirements

func DefaultAppReplicas added in v0.6.0

func DefaultAppReplicas() *int32

func DefaultBackendListenerResourceRequirements added in v0.6.0

func DefaultBackendListenerResourceRequirements() v1.ResourceRequirements

func DefaultBackendQueuesSentinelHosts added in v0.6.0

func DefaultBackendQueuesSentinelHosts() string

func DefaultBackendQueuesSentinelRole added in v0.6.0

func DefaultBackendQueuesSentinelRole() string

func DefaultBackendRedisContainerResourceRequirements added in v0.6.0

func DefaultBackendRedisContainerResourceRequirements() *v1.ResourceRequirements

func DefaultBackendRedisQueuesURL added in v0.6.0

func DefaultBackendRedisQueuesURL() string

func DefaultBackendRedisStorageURL added in v0.6.0

func DefaultBackendRedisStorageURL() string

func DefaultBackendServiceEndpoint added in v0.6.0

func DefaultBackendServiceEndpoint() string

func DefaultBackendSharedSecret added in v0.6.0

func DefaultBackendSharedSecret() string

func DefaultBackendStorageSentinelHosts added in v0.6.0

func DefaultBackendStorageSentinelHosts() string

func DefaultBackendStorageSentinelRole added in v0.6.0

func DefaultBackendStorageSentinelRole() string

func DefaultBackendWorkerResourceRequirements added in v0.6.0

func DefaultBackendWorkerResourceRequirements() v1.ResourceRequirements

func DefaultCronResourceRequirements added in v0.6.0

func DefaultCronResourceRequirements() v1.ResourceRequirements

func DefaultEventHooksURL added in v0.6.0

func DefaultEventHooksURL() string

func DefaultMemcachedResourceRequirements added in v0.6.0

func DefaultMemcachedResourceRequirements() v1.ResourceRequirements

func DefaultMemcachedServers added in v0.6.0

func DefaultMemcachedServers() string

func DefaultProductionResourceRequirements added in v0.6.0

func DefaultProductionResourceRequirements() v1.ResourceRequirements

func DefaultRecaptchaPrivatekey added in v0.6.0

func DefaultRecaptchaPrivatekey() string

func DefaultRecaptchaPublickey added in v0.6.0

func DefaultRecaptchaPublickey() string

func DefaultSearchdContainerResourceRequirements added in v0.11.0

func DefaultSearchdContainerResourceRequirements() v1.ResourceRequirements

func DefaultSharedStorageResources added in v0.7.0

func DefaultSharedStorageResources() resource.Quantity

func DefaultSidekiqContainerResourceRequirements added in v0.6.0

func DefaultSidekiqContainerResourceRequirements() *v1.ResourceRequirements

func DefaultSidekiqReplicas added in v0.6.0

func DefaultSidekiqReplicas() *int32

func DefaultStagingResourceRequirements added in v0.6.0

func DefaultStagingResourceRequirements() v1.ResourceRequirements

func DefaultSystemAdminAccessToken added in v0.6.0

func DefaultSystemAdminAccessToken() string

func DefaultSystemAdminEmail added in v0.6.0

func DefaultSystemAdminEmail() string

func DefaultSystemAdminPassword added in v0.6.0

func DefaultSystemAdminPassword() string

func DefaultSystemAdminUsername added in v0.6.0

func DefaultSystemAdminUsername() string

func DefaultSystemAppSecretKeyBase added in v0.6.0

func DefaultSystemAppSecretKeyBase() string

func DefaultSystemBackendPassword added in v0.6.0

func DefaultSystemBackendPassword() string

func DefaultSystemBackendUsername added in v0.6.0

func DefaultSystemBackendUsername() string

func DefaultSystemMasterAccessToken added in v0.6.0

func DefaultSystemMasterAccessToken() string

func DefaultSystemMasterApicastAccessToken added in v0.6.0

func DefaultSystemMasterApicastAccessToken() string

func DefaultSystemMasterName added in v0.6.0

func DefaultSystemMasterName() string

func DefaultSystemMasterPassword added in v0.6.0

func DefaultSystemMasterPassword() string

func DefaultSystemMasterUsername added in v0.6.0

func DefaultSystemMasterUsername() string

func DefaultSystemMysqlDatabaseName added in v0.6.0

func DefaultSystemMysqlDatabaseName() string

func DefaultSystemMysqlDatabaseURL added in v0.6.0

func DefaultSystemMysqlDatabaseURL(password, name string) string

func DefaultSystemMysqlPassword added in v0.6.0

func DefaultSystemMysqlPassword() string

func DefaultSystemMysqlResourceRequirements added in v0.6.0

func DefaultSystemMysqlResourceRequirements() v1.ResourceRequirements

func DefaultSystemMysqlRootPassword added in v0.6.0

func DefaultSystemMysqlRootPassword() string

func DefaultSystemMysqlStorageResources added in v0.7.0

func DefaultSystemMysqlStorageResources() resource.Quantity

func DefaultSystemMysqlUser added in v0.6.0

func DefaultSystemMysqlUser() string

func DefaultSystemPostgresqlDatabaseName added in v0.6.0

func DefaultSystemPostgresqlDatabaseName() string

func DefaultSystemPostgresqlDatabaseURL added in v0.6.0

func DefaultSystemPostgresqlDatabaseURL(username, password, databasename string) string

func DefaultSystemPostgresqlPassword added in v0.6.0

func DefaultSystemPostgresqlPassword() string

func DefaultSystemPostgresqlResourceRequirements added in v0.6.0

func DefaultSystemPostgresqlResourceRequirements() v1.ResourceRequirements

func DefaultSystemPostgresqlStorageResources added in v0.7.0

func DefaultSystemPostgresqlStorageResources() resource.Quantity

func DefaultSystemPostgresqlUser added in v0.6.0

func DefaultSystemPostgresqlUser() string

func DefaultSystemRedisContainerResourceRequirements added in v0.6.0

func DefaultSystemRedisContainerResourceRequirements() *v1.ResourceRequirements

func DefaultSystemRedisNamespace added in v0.6.0

func DefaultSystemRedisNamespace() string

func DefaultSystemRedisSentinelHosts added in v0.6.0

func DefaultSystemRedisSentinelHosts() string

func DefaultSystemRedisSentinelRole added in v0.6.0

func DefaultSystemRedisSentinelRole() string

func DefaultSystemRedisURL added in v0.6.0

func DefaultSystemRedisURL() string

func DefaultSystemSMTPAddress added in v0.6.0

func DefaultSystemSMTPAddress() string

func DefaultSystemSMTPAuthentication added in v0.6.0

func DefaultSystemSMTPAuthentication() string

func DefaultSystemSMTPDomain added in v0.6.0

func DefaultSystemSMTPDomain() string

func DefaultSystemSMTPFromAddress added in v0.8.0

func DefaultSystemSMTPFromAddress() string

func DefaultSystemSMTPOpenSSLVerifyMode added in v0.6.0

func DefaultSystemSMTPOpenSSLVerifyMode() string

func DefaultSystemSMTPPassword added in v0.6.0

func DefaultSystemSMTPPassword() string

func DefaultSystemSMTPPort added in v0.6.0

func DefaultSystemSMTPPort() string

func DefaultSystemSMTPUsername added in v0.6.0

func DefaultSystemSMTPUsername() string

func DefaultUserSessionTTL added in v0.8.0

func DefaultUserSessionTTL() string

func DefaultZyncAuthenticationToken added in v0.6.0

func DefaultZyncAuthenticationToken() string

func DefaultZyncContainerResourceRequirements added in v0.6.0

func DefaultZyncContainerResourceRequirements() v1.ResourceRequirements

func DefaultZyncDatabaseContainerResourceRequirements added in v0.6.0

func DefaultZyncDatabaseContainerResourceRequirements() v1.ResourceRequirements

func DefaultZyncDatabasePassword added in v0.6.0

func DefaultZyncDatabasePassword() string

func DefaultZyncDatabaseURL added in v0.6.0

func DefaultZyncDatabaseURL(password string) string

func DefaultZyncQueContainerResourceRequirements added in v0.6.0

func DefaultZyncQueContainerResourceRequirements() v1.ResourceRequirements

func DefaultZyncQueServiceAccountImagePullSecrets added in v0.7.0

func DefaultZyncQueServiceAccountImagePullSecrets() []v1.LocalObjectReference

func DefaultZyncSecretKeyBase added in v0.6.0

func DefaultZyncSecretKeyBase() string

func KubeStateMetricsPrometheusRules added in v0.6.0

func KubeStateMetricsPrometheusRules(sumRate, ns, appLabel string) *monitoringv1.PrometheusRule

func KubernetesResourcesByNamespaceGrafanaDashboard added in v0.6.0

func KubernetesResourcesByNamespaceGrafanaDashboard(sumRate, ns, appLabel string) *grafanav1alpha1.GrafanaDashboard

func KubernetesResourcesByPodGrafanaDashboard added in v0.6.0

func KubernetesResourcesByPodGrafanaDashboard(sumRate, ns, appLabel string) *grafanav1alpha1.GrafanaDashboard

func OCCLIImageURL added in v0.6.0

func OCCLIImageURL() string

func SystemImageURL added in v0.4.0

func SystemImageURL() string

func SystemMemcachedImageURL added in v0.4.0

func SystemMemcachedImageURL() string

func SystemMySQLImageURL added in v0.4.0

func SystemMySQLImageURL() string

func SystemPostgreSQLImageURL added in v0.4.0

func SystemPostgreSQLImageURL() string

func SystemRedisImageURL added in v0.4.0

func SystemRedisImageURL() string

func SystemSearchdImageURL added in v0.11.0

func SystemSearchdImageURL() string

func ZyncImageURL added in v0.4.0

func ZyncImageURL() string

func ZyncPostgreSQLImageURL added in v0.4.0

func ZyncPostgreSQLImageURL() string

Types

type APIcastTracingConfig added in v0.8.0

type APIcastTracingConfig struct {
	Enabled                 bool
	TracingLibrary          string `validate:"required"`
	TracingConfigSecretName *string
}

func (APIcastTracingConfig) AnnotationKey added in v0.8.0

func (c APIcastTracingConfig) AnnotationKey() string

AnnotationKey returns the annotation key associated to the tracing config volume name. It should only be used when c.TracingConfigSecretName is not nil

func (APIcastTracingConfig) AnnotationValue added in v0.8.0

func (c APIcastTracingConfig) AnnotationValue() string

func (APIcastTracingConfig) VolumeName added in v0.8.0

func (c APIcastTracingConfig) VolumeName() string

VolumeName returns the volume name. It should only be used when c.TracingConfigSecretName is not nil

type AmpImages

type AmpImages struct {
	Options *AmpImagesOptions
}

func NewAmpImages

func NewAmpImages(options *AmpImagesOptions) *AmpImages

func (*AmpImages) APICastImageStream added in v0.4.0

func (ampImages *AmpImages) APICastImageStream() *imagev1.ImageStream

func (*AmpImages) BackendImageStream added in v0.4.0

func (ampImages *AmpImages) BackendImageStream() *imagev1.ImageStream

func (*AmpImages) DeploymentsServiceAccount added in v0.4.0

func (ampImages *AmpImages) DeploymentsServiceAccount() *v1.ServiceAccount

func (*AmpImages) SystemImageStream added in v0.4.0

func (ampImages *AmpImages) SystemImageStream() *imagev1.ImageStream

func (*AmpImages) SystemMemcachedImageStream added in v0.4.0

func (ampImages *AmpImages) SystemMemcachedImageStream() *imagev1.ImageStream

func (*AmpImages) SystemSearchdImageStream added in v0.11.0

func (ampImages *AmpImages) SystemSearchdImageStream() *imagev1.ImageStream

func (*AmpImages) ZyncDatabasePostgreSQLImageStream added in v0.4.0

func (ampImages *AmpImages) ZyncDatabasePostgreSQLImageStream() *imagev1.ImageStream

func (*AmpImages) ZyncImageStream added in v0.4.0

func (ampImages *AmpImages) ZyncImageStream() *imagev1.ImageStream

type AmpImagesOptions

type AmpImagesOptions struct {
	AppLabel                    string `validate:"required"`
	AmpRelease                  string `validate:"required"`
	ApicastImage                string `validate:"required"`
	BackendImage                string `validate:"required"`
	SystemImage                 string `validate:"required"`
	ZyncImage                   string `validate:"required"`
	ZyncDatabasePostgreSQLImage string `validate:"required"`
	SystemMemcachedImage        string `validate:"required"`
	SystemSearchdImage          string `validate:"required"`
	InsecureImportPolicy        bool
	ImagePullSecrets            []v1.LocalObjectReference `validate:"required"`
}

AmpImagesOptions container object with all required to create components

func NewAmpImagesOptions added in v0.6.0

func NewAmpImagesOptions() *AmpImagesOptions

func (*AmpImagesOptions) Validate added in v0.6.0

func (a *AmpImagesOptions) Validate() error

type Apicast

type Apicast struct {
	Options *ApicastOptions
}

func NewApicast

func NewApicast(options *ApicastOptions) *Apicast

func (*Apicast) ApicastMainAppGrafanaDashboard added in v0.7.0

func (apicast *Apicast) ApicastMainAppGrafanaDashboard(sumRate string) *grafanav1alpha1.GrafanaDashboard

func (*Apicast) ApicastProductionPodMonitor added in v0.6.0

func (apicast *Apicast) ApicastProductionPodMonitor() *monitoringv1.PodMonitor

func (*Apicast) ApicastPrometheusRules added in v0.7.0

func (apicast *Apicast) ApicastPrometheusRules() *monitoringv1.PrometheusRule

func (*Apicast) ApicastServicesGrafanaDashboard added in v0.7.0

func (apicast *Apicast) ApicastServicesGrafanaDashboard(sumRate string) *grafanav1alpha1.GrafanaDashboard

func (*Apicast) ApicastStagingPodMonitor added in v0.6.0

func (apicast *Apicast) ApicastStagingPodMonitor() *monitoringv1.PodMonitor

func (*Apicast) EnvironmentConfigMap added in v0.4.0

func (apicast *Apicast) EnvironmentConfigMap() *v1.ConfigMap

func (*Apicast) ProductionDeploymentConfig added in v0.4.0

func (apicast *Apicast) ProductionDeploymentConfig() *appsv1.DeploymentConfig

func (*Apicast) ProductionPodDisruptionBudget added in v0.5.0

func (apicast *Apicast) ProductionPodDisruptionBudget() *policyv1.PodDisruptionBudget

func (*Apicast) ProductionService added in v0.4.0

func (apicast *Apicast) ProductionService() *v1.Service

func (*Apicast) StagingDeploymentConfig added in v0.4.0

func (apicast *Apicast) StagingDeploymentConfig() *appsv1.DeploymentConfig

func (*Apicast) StagingPodDisruptionBudget added in v0.5.0

func (apicast *Apicast) StagingPodDisruptionBudget() *policyv1.PodDisruptionBudget

func (*Apicast) StagingService added in v0.4.0

func (apicast *Apicast) StagingService() *v1.Service

type ApicastOptions

type ApicastOptions struct {
	ManagementAPI                       string `validate:"required"`
	OpenSSLVerify                       string `validate:"required"`
	ResponseCodes                       string `validate:"required"`
	ImageTag                            string `validate:"required"`
	ExtendedMetrics                     bool
	ProductionResourceRequirements      v1.ResourceRequirements `validate:"-"`
	StagingResourceRequirements         v1.ResourceRequirements `validate:"-"`
	ProductionReplicas                  int32
	StagingReplicas                     int32
	CommonLabels                        map[string]string             `validate:"required"`
	CommonStagingLabels                 map[string]string             `validate:"required"`
	CommonProductionLabels              map[string]string             `validate:"required"`
	StagingPodTemplateLabels            map[string]string             `validate:"required"`
	ProductionPodTemplateLabels         map[string]string             `validate:"required"`
	ProductionAffinity                  *v1.Affinity                  `validate:"-"`
	ProductionTolerations               []v1.Toleration               `validate:"-"`
	StagingAffinity                     *v1.Affinity                  `validate:"-"`
	StagingTolerations                  []v1.Toleration               `validate:"-"`
	ProductionWorkers                   *int32                        `validate:"-"`
	PriorityClassNameStaging            string                        `validate:"-"`
	PriorityClassNameProduction         string                        `validate:"-"`
	TopologySpreadConstraintsStaging    []v1.TopologySpreadConstraint `validate:"-"`
	TopologySpreadConstraintsProduction []v1.TopologySpreadConstraint `validate:"-"`
	StagingPodTemplateAnnotations       map[string]string             `validate:"-"`
	ProductionPodTemplateAnnotations    map[string]string             `validate:"-"`

	// Used for monitoring objects
	// Those objects are namespaced. However, objects includes labels, rules and expressions
	// that need namespace filtering because they are "global" once imported
	// to the prometheus or grafana services.
	Namespace string `validate:"required"`

	ProductionLogLevel *string `validate:"-"`
	StagingLogLevel    *string `validate:"-"`

	ProductionCustomPolicies []CustomPolicy `validate:"-"`
	StagingCustomPolicies    []CustomPolicy `validate:"-"`

	ProductionTracingConfig *APIcastTracingConfig `validate:"required"`
	StagingTracingConfig    *APIcastTracingConfig `validate:"required"`

	ProductionCustomEnvironments []*v1.Secret `validate:"-"`
	StagingCustomEnvironments    []*v1.Secret `validate:"-"`

	ProductionHTTPSPort                  *int32  `validate:"-"`
	ProductionHTTPSVerifyDepth           *int64  `validate:"-"`
	ProductionHTTPSCertificateSecretName *string `validate:"-"`
	StagingHTTPSPort                     *int32  `validate:"-"`
	StagingHTTPSVerifyDepth              *int64  `validate:"-"`
	StagingHTTPSCertificateSecretName    *string `validate:"-"`

	ProductionAllProxy   *string
	ProductionHTTPProxy  *string
	ProductionHTTPSProxy *string
	ProductionNoProxy    *string
	StagingAllProxy      *string
	StagingHTTPProxy     *string
	StagingHTTPSProxy    *string
	StagingNoProxy       *string

	ProductionServiceCacheSize *int32
	StagingServiceCacheSize    *int32

	StagingAdditionalPodAnnotations    map[string]string `validate:"required"`
	ProductionAdditionalPodAnnotations map[string]string `validate:"required"`
}

func NewApicastOptions added in v0.6.0

func NewApicastOptions() *ApicastOptions

func (*ApicastOptions) Validate added in v0.6.0

func (a *ApicastOptions) Validate() error

type Backend

type Backend struct {
	Options *BackendOptions
}

func NewBackend

func NewBackend(options *BackendOptions) *Backend

func (*Backend) BackendGrafanaDashboard added in v0.7.0

func (backend *Backend) BackendGrafanaDashboard(sumRate string) *grafanav1alpha1.GrafanaDashboard

func (*Backend) BackendListenerPodMonitor added in v0.6.0

func (backend *Backend) BackendListenerPodMonitor() *monitoringv1.PodMonitor

func (*Backend) BackendListenerPrometheusRules added in v0.7.0

func (backend *Backend) BackendListenerPrometheusRules() *monitoringv1.PrometheusRule

func (*Backend) BackendWorkerPodMonitor added in v0.6.0

func (backend *Backend) BackendWorkerPodMonitor() *monitoringv1.PodMonitor

func (*Backend) BackendWorkerPrometheusRules added in v0.7.0

func (backend *Backend) BackendWorkerPrometheusRules() *monitoringv1.PrometheusRule

func (*Backend) CronDeploymentConfig added in v0.4.0

func (backend *Backend) CronDeploymentConfig() *appsv1.DeploymentConfig

func (*Backend) CronPodDisruptionBudget added in v0.5.0

func (backend *Backend) CronPodDisruptionBudget() *policyv1.PodDisruptionBudget

func (*Backend) EnvironmentConfigMap added in v0.4.0

func (backend *Backend) EnvironmentConfigMap() *v1.ConfigMap

func (*Backend) InternalAPISecretForSystem added in v0.4.0

func (backend *Backend) InternalAPISecretForSystem() *v1.Secret

func (*Backend) ListenerDeploymentConfig added in v0.4.0

func (backend *Backend) ListenerDeploymentConfig() *appsv1.DeploymentConfig

func (*Backend) ListenerPodDisruptionBudget added in v0.5.0

func (backend *Backend) ListenerPodDisruptionBudget() *policyv1.PodDisruptionBudget

func (*Backend) ListenerRoute added in v0.4.0

func (backend *Backend) ListenerRoute() *routev1.Route

func (*Backend) ListenerSecret added in v0.4.0

func (backend *Backend) ListenerSecret() *v1.Secret

func (*Backend) ListenerService added in v0.4.0

func (backend *Backend) ListenerService() *v1.Service

func (*Backend) WorkerDeploymentConfig added in v0.4.0

func (backend *Backend) WorkerDeploymentConfig() *appsv1.DeploymentConfig

func (*Backend) WorkerPodDisruptionBudget added in v0.5.0

func (backend *Backend) WorkerPodDisruptionBudget() *policyv1.PodDisruptionBudget

type BackendOptions

type BackendOptions struct {
	ServiceEndpoint              string                  `validate:"required"`
	RouteEndpoint                string                  `validate:"required"`
	ImageTag                     string                  `validate:"required"`
	ListenerResourceRequirements v1.ResourceRequirements `validate:"-"`
	WorkerResourceRequirements   v1.ResourceRequirements `validate:"-"`
	CronResourceRequirements     v1.ResourceRequirements `validate:"-"`
	ListenerReplicas             int32
	WorkerReplicas               int32
	CronReplicas                 int32
	SystemBackendUsername        string            `validate:"required"`
	SystemBackendPassword        string            `validate:"required"`
	TenantName                   string            `validate:"required"`
	WildcardDomain               string            `validate:"required"`
	ListenerAffinity             *v1.Affinity      `validate:"-"`
	ListenerTolerations          []v1.Toleration   `validate:"-"`
	WorkerAffinity               *v1.Affinity      `validate:"-"`
	WorkerTolerations            []v1.Toleration   `validate:"-"`
	CronAffinity                 *v1.Affinity      `validate:"-"`
	CronTolerations              []v1.Toleration   `validate:"-"`
	CommonLabels                 map[string]string `validate:"required"`
	CommonListenerLabels         map[string]string `validate:"required"`
	CommonWorkerLabels           map[string]string `validate:"required"`
	CommonCronLabels             map[string]string `validate:"required"`
	ListenerPodTemplateLabels    map[string]string `validate:"required"`
	WorkerPodTemplateLabels      map[string]string `validate:"required"`
	CronPodTemplateLabels        map[string]string `validate:"required"`
	WorkerMetrics                bool
	ListenerMetrics              bool

	PriorityClassNameListener string `validate:"-"`
	PriorityClassNameWorker   string `validate:"-"`
	PriorityClassNameCron     string `validate:"-"`

	TopologySpreadConstraintsListener []v1.TopologySpreadConstraint `validate:"-"`
	TopologySpreadConstraintsWorker   []v1.TopologySpreadConstraint `validate:"-"`
	TopologySpreadConstraintsCron     []v1.TopologySpreadConstraint `validate:"-"`

	ListenerPodTemplateAnnotations map[string]string `validate:"-"`
	WorkerPodTemplateAnnotations   map[string]string `validate:"-"`
	CronPodTemplateAnnotations     map[string]string `validate:"-"`

	// Used for monitoring objects
	// Those objects are namespaced. However, objects includes labels, rules and expressions
	// that need namespace filtering because they are "global" once imported
	// to the prometheus or grafana services.
	Namespace string `validate:"required"`
}

func NewBackendOptions added in v0.6.0

func NewBackendOptions() *BackendOptions

func (*BackendOptions) Validate added in v0.6.0

func (b *BackendOptions) Validate() error

type CustomPolicy added in v0.8.0

type CustomPolicy struct {
	Name    string
	Version string
	Secret  *v1.Secret
}

func (CustomPolicy) AnnotationKey added in v0.8.0

func (c CustomPolicy) AnnotationKey() string

func (CustomPolicy) AnnotationValue added in v0.8.0

func (c CustomPolicy) AnnotationValue() string

func (CustomPolicy) VolumeName added in v0.8.0

func (c CustomPolicy) VolumeName() string

type DeploymentsLister added in v0.8.0

type DeploymentsLister struct {
	SystemDatabaseType     SystemDatabaseType
	ExternalRedisDatabases bool
	ExternalZyncDatabase   bool
}

func (*DeploymentsLister) DeploymentNames added in v0.8.0

func (d *DeploymentsLister) DeploymentNames() []string

type Evaluation

type Evaluation struct {
}

func NewEvaluation

func NewEvaluation() *Evaluation

func (*Evaluation) RemoveContainersResourceRequestsAndLimits added in v0.3.0

func (evaluation *Evaluation) RemoveContainersResourceRequestsAndLimits(objects []common.KubernetesObject)

type HighAvailability

type HighAvailability struct {
	Options *HighAvailabilityOptions
}

func NewHighAvailability

func NewHighAvailability(options *HighAvailabilityOptions) *HighAvailability

func (*HighAvailability) BackendRedisSecret added in v0.7.0

func (ha *HighAvailability) BackendRedisSecret() *v1.Secret

func (*HighAvailability) SystemDatabaseSecret added in v0.4.0

func (ha *HighAvailability) SystemDatabaseSecret() *v1.Secret

func (*HighAvailability) SystemRedisSecret added in v0.7.0

func (ha *HighAvailability) SystemRedisSecret() *v1.Secret

type HighAvailabilityOptions

type HighAvailabilityOptions struct {
	BackendRedisQueuesEndpoint       string
	BackendRedisQueuesSentinelHosts  string
	BackendRedisQueuesSentinelRole   string
	BackendRedisStorageEndpoint      string
	BackendRedisStorageSentinelHosts string
	BackendRedisStorageSentinelRole  string
	SystemDatabaseURL                string
	SystemRedisURL                   string
	SystemRedisSentinelsHosts        string
	SystemRedisSentinelsRole         string
	SystemRedisNamespace             string

	BackendRedisLabels   map[string]string `validate:"required"`
	SystemRedisLabels    map[string]string `validate:"required"`
	SystemDatabaseLabels map[string]string `validate:"required"`
}

func NewHighAvailabilityOptions added in v0.6.0

func NewHighAvailabilityOptions() *HighAvailabilityOptions

func (*HighAvailabilityOptions) Validate added in v0.6.0

func (h *HighAvailabilityOptions) Validate() error

type Memcached

type Memcached struct {
	Options *MemcachedOptions
}

func NewMemcached

func NewMemcached(options *MemcachedOptions) *Memcached

func (*Memcached) DeploymentConfig added in v0.4.0

func (m *Memcached) DeploymentConfig() *appsv1.DeploymentConfig

type MemcachedOptions

type MemcachedOptions struct {
	ImageTag             string                  `validate:"required"`
	ResourceRequirements v1.ResourceRequirements `validate:"-"`

	Affinity    *v1.Affinity    `validate:"-"`
	Tolerations []v1.Toleration `validate:"-"`

	DeploymentLabels  map[string]string `validate:"required"`
	PodTemplateLabels map[string]string `validate:"required"`

	PriorityClassName         string                        `validate:"-"`
	TopologySpreadConstraints []v1.TopologySpreadConstraint `validate:"-"`
	PodTemplateAnnotations    map[string]string             `validate:"-"`
}

func NewMemcachedOptions added in v0.6.0

func NewMemcachedOptions() *MemcachedOptions

func (*MemcachedOptions) Validate added in v0.6.0

func (m *MemcachedOptions) Validate() error

type PVCFileStorageOptions added in v0.4.0

type PVCFileStorageOptions struct {
	StorageClass    *string
	VolumeName      *string
	StorageRequests resource.Quantity `validate:"required"`
}

type Redis

type Redis struct {
	Options *RedisOptions
}

func NewRedis

func NewRedis(options *RedisOptions) *Redis

func (*Redis) BackendDeploymentConfig added in v0.4.0

func (redis *Redis) BackendDeploymentConfig() *appsv1.DeploymentConfig

func (*Redis) BackendImageStream added in v0.4.0

func (redis *Redis) BackendImageStream() *imagev1.ImageStream

func (*Redis) BackendPVC added in v0.4.0

func (redis *Redis) BackendPVC() *v1.PersistentVolumeClaim

func (*Redis) BackendRedisSecret added in v0.7.0

func (redis *Redis) BackendRedisSecret() *v1.Secret

func (*Redis) BackendService added in v0.4.0

func (redis *Redis) BackendService() *v1.Service

func (*Redis) ConfigMap added in v0.9.0

func (redis *Redis) ConfigMap() *v1.ConfigMap

func (*Redis) SystemDeploymentConfig added in v0.4.0

func (redis *Redis) SystemDeploymentConfig() *appsv1.DeploymentConfig

func (*Redis) SystemImageStream added in v0.4.0

func (redis *Redis) SystemImageStream() *imagev1.ImageStream

func (*Redis) SystemPVC added in v0.4.0

func (redis *Redis) SystemPVC() *v1.PersistentVolumeClaim

func (*Redis) SystemRedisSecret added in v0.7.0

func (redis *Redis) SystemRedisSecret() *v1.Secret

func (*Redis) SystemService added in v0.4.0

func (redis *Redis) SystemService() *v1.Service

type RedisOptions

type RedisOptions struct {
	AmpRelease                                string                   `validate:"required"`
	BackendImage                              string                   `validate:"required"`
	BackendImageTag                           string                   `validate:"required"`
	SystemImage                               string                   `validate:"required"`
	SystemImageTag                            string                   `validate:"required"`
	BackendRedisContainerResourceRequirements *v1.ResourceRequirements `validate:"required"`
	SystemRedisContainerResourceRequirements  *v1.ResourceRequirements `validate:"required"`
	InsecureImportPolicy                      *bool                    `validate:"required"`
	BackendRedisPVCStorageClass               *string
	SystemRedisPVCStorageClass                *string

	BackendRedisAffinity    *v1.Affinity    `validate:"-"`
	BackendRedisTolerations []v1.Toleration `validate:"-"`
	SystemRedisAffinity     *v1.Affinity    `validate:"-"`
	SystemRedisTolerations  []v1.Toleration `validate:"-"`

	SystemCommonLabels            map[string]string `validate:"required"`
	SystemRedisLabels             map[string]string `validate:"required"`
	SystemRedisPodTemplateLabels  map[string]string `validate:"required"`
	BackendCommonLabels           map[string]string `validate:"required"`
	BackendRedisLabels            map[string]string `validate:"required"`
	BackendRedisPodTemplateLabels map[string]string `validate:"required"`

	SystemRedisPriorityClassName          string                        `validate:"-"`
	BackendRedisPriorityClassName         string                        `validate:"-"`
	SystemRedisTopologySpreadConstraints  []v1.TopologySpreadConstraint `validate:"-"`
	BackendRedisTopologySpreadConstraints []v1.TopologySpreadConstraint `validate:"-"`
	SystemRedisPodTemplateAnnotations     map[string]string             `validate:"-"`
	BackendRedisPodTemplateAnnotations    map[string]string             `validate:"-"`

	// secrets
	BackendStorageURL                string `validate:"required"`
	BackendQueuesURL                 string `validate:"required"`
	BackendRedisQueuesSentinelHosts  string
	BackendRedisQueuesSentinelRole   string
	BackendRedisStorageSentinelHosts string
	BackendRedisStorageSentinelRole  string
	SystemRedisURL                   string `validate:"required"`
	SystemRedisSentinelsHosts        string
	SystemRedisSentinelsRole         string
	SystemRedisNamespace             string
}

func NewRedisOptions added in v0.6.0

func NewRedisOptions() *RedisOptions

func (*RedisOptions) Validate added in v0.6.0

func (r *RedisOptions) Validate() error

type S3FileStorageOptions added in v0.4.0

type S3FileStorageOptions struct {
	ConfigurationSecretName   string `validate:"required"`
	STSEnabled                bool
	STSTokenMountRelativePath string
	STSTokenMountPath         string
	STSAudience               string
}

type SearchdPVCOptions added in v0.11.0

type SearchdPVCOptions struct {
	StorageClass    *string
	VolumeName      string
	StorageRequests resource.Quantity `validate:"required"`
}

type System

type System struct {
	Options *SystemOptions
}

func NewSystem

func NewSystem(options *SystemOptions) *System

func (*System) AppDeploymentConfig added in v0.4.0

func (system *System) AppDeploymentConfig() *appsv1.DeploymentConfig

func (*System) AppPodDisruptionBudget added in v0.5.0

func (system *System) AppPodDisruptionBudget() *policyv1.PodDisruptionBudget

func (*System) AppSecret added in v0.4.0

func (system *System) AppSecret() *v1.Secret

func (*System) BackendRedisEnvVars added in v0.3.0

func (system *System) BackendRedisEnvVars() []v1.EnvVar

func (*System) DeveloperService added in v0.4.0

func (system *System) DeveloperService() *v1.Service

func (*System) EnvironmentConfigMap added in v0.4.0

func (system *System) EnvironmentConfigMap() *v1.ConfigMap

func (*System) EventsHookSecret added in v0.4.0

func (system *System) EventsHookSecret() *v1.Secret

func (*System) FileStorageVolume added in v0.4.0

func (system *System) FileStorageVolume() v1.Volume

func (*System) MasterApicastSecret added in v0.4.0

func (system *System) MasterApicastSecret() *v1.Secret

func (*System) MasterService added in v0.4.0

func (system *System) MasterService() *v1.Service

func (*System) MemcachedSecret added in v0.4.0

func (system *System) MemcachedSecret() *v1.Secret

func (*System) MemcachedService added in v0.4.0

func (system *System) MemcachedService() *v1.Service

func (*System) ProviderService added in v0.4.0

func (system *System) ProviderService() *v1.Service

func (*System) RecaptchaSecret added in v0.4.0

func (system *System) RecaptchaSecret() *v1.Secret

func (*System) SMTPSecret added in v0.5.0

func (system *System) SMTPSecret() *v1.Secret

func (*System) SeedSecret added in v0.4.0

func (system *System) SeedSecret() *v1.Secret

func (*System) SharedStorage added in v0.4.0

func (system *System) SharedStorage() *v1.PersistentVolumeClaim

func (*System) SidekiqDeploymentConfig added in v0.4.0

func (system *System) SidekiqDeploymentConfig() *appsv1.DeploymentConfig

func (*System) SidekiqPodDisruptionBudget added in v0.5.0

func (system *System) SidekiqPodDisruptionBudget() *policyv1.PodDisruptionBudget

func (*System) SidekiqPodVolumes added in v0.4.0

func (system *System) SidekiqPodVolumes() []v1.Volume

func (*System) SystemAppPodMonitor added in v0.7.0

func (system *System) SystemAppPodMonitor() *monitoringv1.PodMonitor

func (*System) SystemAppPrometheusRules added in v0.7.0

func (system *System) SystemAppPrometheusRules() *monitoringv1.PrometheusRule

func (*System) SystemConfigMap added in v0.4.0

func (system *System) SystemConfigMap() *v1.ConfigMap

func (*System) SystemGrafanaDashboard added in v0.7.0

func (system *System) SystemGrafanaDashboard(sumRate string) *grafanav1alpha1.GrafanaDashboard

func (*System) SystemRedisEnvVars added in v0.3.0

func (system *System) SystemRedisEnvVars() []v1.EnvVar

func (*System) SystemSidekiqPodMonitor added in v0.6.0

func (system *System) SystemSidekiqPodMonitor() *monitoringv1.PodMonitor

func (*System) SystemSidekiqPrometheusRules added in v0.7.0

func (system *System) SystemSidekiqPrometheusRules() *monitoringv1.PrometheusRule

type SystemDatabaseType added in v0.8.0

type SystemDatabaseType string
const (
	SystemDatabaseTypeInternalMySQL      SystemDatabaseType = "mysql"
	SystemDatabaseTypeInternalPostgreSQL SystemDatabaseType = "postgresql"
	SystemDatabaseTypeExternal           SystemDatabaseType = "external"
)

type SystemMySQLImage added in v0.3.0

type SystemMySQLImage struct {
	Options *SystemMySQLImageOptions
}

func NewSystemMySQLImage added in v0.3.0

func NewSystemMySQLImage(options *SystemMySQLImageOptions) *SystemMySQLImage

func (*SystemMySQLImage) ImageStream added in v0.4.0

func (s *SystemMySQLImage) ImageStream() *imagev1.ImageStream

type SystemMySQLImageOptions added in v0.3.0

type SystemMySQLImageOptions struct {
	AppLabel             string `validate:"required"`
	AmpRelease           string `validate:"required"`
	Image                string `validate:"required"`
	InsecureImportPolicy *bool  `validate:"required"`
}

func NewSystemMySQLImageOptions added in v0.6.0

func NewSystemMySQLImageOptions() *SystemMySQLImageOptions

func (*SystemMySQLImageOptions) Validate added in v0.6.0

func (s *SystemMySQLImageOptions) Validate() error

type SystemMysql added in v0.3.0

type SystemMysql struct {
	Options *SystemMysqlOptions
}

func NewSystemMysql added in v0.3.0

func NewSystemMysql(options *SystemMysqlOptions) *SystemMysql

func (*SystemMysql) DeploymentConfig added in v0.4.0

func (mysql *SystemMysql) DeploymentConfig() *appsv1.DeploymentConfig

func (*SystemMysql) ExtraConfigConfigMap added in v0.4.0

func (mysql *SystemMysql) ExtraConfigConfigMap() *v1.ConfigMap

func (*SystemMysql) MainConfigConfigMap added in v0.4.0

func (mysql *SystemMysql) MainConfigConfigMap() *v1.ConfigMap

func (*SystemMysql) PersistentVolumeClaim added in v0.4.0

func (mysql *SystemMysql) PersistentVolumeClaim() *v1.PersistentVolumeClaim

func (*SystemMysql) Service added in v0.4.0

func (mysql *SystemMysql) Service() *v1.Service

func (*SystemMysql) SystemDatabaseSecret added in v0.4.0

func (mysql *SystemMysql) SystemDatabaseSecret() *v1.Secret

Each database is responsible to create the needed secrets for the other components

type SystemMysqlOptions added in v0.3.0

type SystemMysqlOptions struct {
	ImageTag                      string                  `validate:"required"`
	DatabaseName                  string                  `validate:"required"`
	User                          string                  `validate:"required"`
	Password                      string                  `validate:"required"`
	RootPassword                  string                  `validate:"required"`
	DatabaseURL                   string                  `validate:"required"`
	ContainerResourceRequirements v1.ResourceRequirements `validate:"-"`
	PVCStorageClass               *string
	PVCVolumeName                 *string
	PVCStorageRequests            resource.Quantity             `validate:"required"`
	Affinity                      *v1.Affinity                  `validate:"-"`
	Tolerations                   []v1.Toleration               `validate:"-"`
	CommonLabels                  map[string]string             `validate:"required"`
	DeploymentLabels              map[string]string             `validate:"required"`
	PodTemplateLabels             map[string]string             `validate:"required"`
	PriorityClassName             string                        `validate:"-"`
	TopologySpreadConstraints     []v1.TopologySpreadConstraint `validate:"-"`
	PodTemplateAnnotations        map[string]string             `validate:"-"`
}

func NewSystemMysqlOptions added in v0.6.0

func NewSystemMysqlOptions() *SystemMysqlOptions

func (*SystemMysqlOptions) Validate added in v0.6.0

func (s *SystemMysqlOptions) Validate() error

type SystemOptions

type SystemOptions struct {
	MemcachedServers                       string  `validate:"required"`
	EventHooksURL                          string  `validate:"required"`
	ApicastSystemMasterProxyConfigEndpoint string  `validate:"required"`
	AdminEmail                             *string `validate:"required"`
	UserSessionTTL                         *string `validate:"required"`

	ImageTag string `validate:"required"`

	AppMasterContainerResourceRequirements    *v1.ResourceRequirements `validate:"required"`
	AppProviderContainerResourceRequirements  *v1.ResourceRequirements `validate:"required"`
	AppDeveloperContainerResourceRequirements *v1.ResourceRequirements `validate:"required"`
	SidekiqContainerResourceRequirements      *v1.ResourceRequirements `validate:"required"`

	S3FileStorageOptions  *S3FileStorageOptions  `validate:"required_without=PvcFileStorageOptions"`
	PvcFileStorageOptions *PVCFileStorageOptions `validate:"required_without=S3FileStorageOptions"`

	AppReplicas     int32
	SidekiqReplicas int32

	AdminAccessToken    string  `validate:"required"`
	AdminPassword       string  `validate:"required"`
	AdminUsername       string  `validate:"required"`
	ApicastAccessToken  string  `validate:"required"`
	ApicastRegistryURL  string  `validate:"required"`
	MasterAccessToken   string  `validate:"required"`
	MasterName          string  `validate:"required"`
	MasterUsername      string  `validate:"required"`
	MasterPassword      string  `validate:"required"`
	RecaptchaPublicKey  *string `validate:"required"`
	RecaptchaPrivateKey *string `validate:"required"`
	AppSecretKeyBase    string  `validate:"required"`
	BackendSharedSecret string  `validate:"required"`
	TenantName          string  `validate:"required"`
	WildcardDomain      string  `validate:"required"`
	SmtpSecretOptions   SystemSMTPSecretOptions

	AppAffinity        *v1.Affinity    `validate:"-"`
	AppTolerations     []v1.Toleration `validate:"-"`
	SidekiqAffinity    *v1.Affinity    `validate:"-"`
	SidekiqTolerations []v1.Toleration `validate:"-"`

	CommonLabels             map[string]string `validate:"required"`
	CommonAppLabels          map[string]string `validate:"required"`
	AppPodTemplateLabels     map[string]string `validate:"required"`
	CommonSidekiqLabels      map[string]string `validate:"required"`
	SidekiqPodTemplateLabels map[string]string `validate:"required"`
	ProviderUILabels         map[string]string `validate:"required"`
	MasterUILabels           map[string]string `validate:"required"`
	DeveloperUILabels        map[string]string `validate:"required"`
	MemcachedLabels          map[string]string `validate:"required"`
	SMTPLabels               map[string]string `validate:"required"`
	SideKiqMetrics           bool
	AppMetrics               bool

	IncludeOracleOptionalSettings bool

	AppPriorityClassName     string `validate:"-"`
	SideKiqPriorityClassName string `validate:"-"`

	AppTopologySpreadConstraints     []v1.TopologySpreadConstraint `validate:"-"`
	SideKiqTopologySpreadConstraints []v1.TopologySpreadConstraint `validate:"-"`
	AppPodTemplateAnnotations        map[string]string             `validate:"-"`
	SideKiqPodTemplateAnnotations    map[string]string             `validate:"-"`

	// Used for monitoring objects
	// Those objects are namespaced. However, objects includes labels, rules and expressions
	// that need namespace filtering because they are "global" once imported
	// to the prometheus or grafana services.
	Namespace string `validate:"required"`
}

func NewSystemOptions added in v0.6.0

func NewSystemOptions() *SystemOptions

func (*SystemOptions) Validate added in v0.6.0

func (s *SystemOptions) Validate() error

type SystemPostgreSQL added in v0.3.0

type SystemPostgreSQL struct {
	Options *SystemPostgreSQLOptions
}

func NewSystemPostgreSQL added in v0.3.0

func NewSystemPostgreSQL(options *SystemPostgreSQLOptions) *SystemPostgreSQL

func (*SystemPostgreSQL) DataPersistentVolumeClaim added in v0.3.0

func (p *SystemPostgreSQL) DataPersistentVolumeClaim() *v1.PersistentVolumeClaim

func (*SystemPostgreSQL) DeploymentConfig added in v0.3.0

func (p *SystemPostgreSQL) DeploymentConfig() *appsv1.DeploymentConfig

func (*SystemPostgreSQL) Service added in v0.3.0

func (p *SystemPostgreSQL) Service() *v1.Service

func (*SystemPostgreSQL) SystemDatabaseSecret added in v0.4.0

func (p *SystemPostgreSQL) SystemDatabaseSecret() *v1.Secret

Each database is responsible to create the needed secrets for the other components

type SystemPostgreSQLImage added in v0.3.0

type SystemPostgreSQLImage struct {
	Options *SystemPostgreSQLImageOptions
}

func NewSystemPostgreSQLImage added in v0.3.0

func NewSystemPostgreSQLImage(options *SystemPostgreSQLImageOptions) *SystemPostgreSQLImage

func (*SystemPostgreSQLImage) ImageStream added in v0.4.0

func (s *SystemPostgreSQLImage) ImageStream() *imagev1.ImageStream

type SystemPostgreSQLImageOptions added in v0.3.0

type SystemPostgreSQLImageOptions struct {
	AppLabel             string `validate:"required"`
	AmpRelease           string `validate:"required"`
	Image                string `validate:"required"`
	InsecureImportPolicy *bool  `validate:"required"`
}

func NewSystemPostgreSQLImageOptions added in v0.6.0

func NewSystemPostgreSQLImageOptions() *SystemPostgreSQLImageOptions

func (*SystemPostgreSQLImageOptions) Validate added in v0.6.0

func (s *SystemPostgreSQLImageOptions) Validate() error

type SystemPostgreSQLOptions added in v0.3.0

type SystemPostgreSQLOptions struct {
	ContainerResourceRequirements v1.ResourceRequirements `validate:"-"`
	ImageTag                      string                  `validate:"required"`
	User                          string                  `validate:"required"`
	Password                      string                  `validate:"required"`
	DatabaseName                  string                  `validate:"required"`
	DatabaseURL                   string                  `validate:"required"`
	PVCStorageClass               *string
	PVCVolumeName                 *string
	PVCStorageRequests            resource.Quantity             `validate:"required"`
	Affinity                      *v1.Affinity                  `validate:"-"`
	Tolerations                   []v1.Toleration               `validate:"-"`
	CommonLabels                  map[string]string             `validate:"required"`
	DeploymentLabels              map[string]string             `validate:"required"`
	PodTemplateLabels             map[string]string             `validate:"required"`
	PriorityClassName             string                        `validate:"-"`
	TopologySpreadConstraints     []v1.TopologySpreadConstraint `validate:"-"`
	PodTemplateAnnotations        map[string]string             `validate:"-"`
}

func NewSystemPostgreSQLOptions added in v0.6.0

func NewSystemPostgreSQLOptions() *SystemPostgreSQLOptions

func (*SystemPostgreSQLOptions) Validate added in v0.6.0

func (s *SystemPostgreSQLOptions) Validate() error

type SystemSMTPSecretOptions added in v0.5.0

type SystemSMTPSecretOptions struct {
	Address           *string `validate:"required"`
	Authentication    *string `validate:"required"`
	Domain            *string `validate:"required"`
	OpenSSLVerifyMode *string `validate:"required"`
	Password          *string `validate:"required"`
	Port              *string `validate:"required"`
	Username          *string `validate:"required"`
	FromAddress       *string
}

type SystemSearchd added in v0.11.0

type SystemSearchd struct {
	Options *SystemSearchdOptions
}

func NewSystemSearchd added in v0.11.0

func NewSystemSearchd(options *SystemSearchdOptions) *SystemSearchd

func (*SystemSearchd) DeploymentConfig added in v0.11.0

func (s *SystemSearchd) DeploymentConfig() *appsv1.DeploymentConfig

func (*SystemSearchd) PVC added in v0.11.0

func (*SystemSearchd) Service added in v0.11.0

func (s *SystemSearchd) Service() *v1.Service

type SystemSearchdOptions added in v0.11.0

type SystemSearchdOptions struct {
	ContainerResourceRequirements v1.ResourceRequirements `validate:"required"`
	ImageTag                      string                  `validate:"required"`

	Affinity    *v1.Affinity    `validate:"-"`
	Tolerations []v1.Toleration `validate:"-"`

	Labels            map[string]string `validate:"required"`
	PodTemplateLabels map[string]string `validate:"required"`

	PVCOptions                SearchdPVCOptions             `validate:"required"`
	PriorityClassName         string                        `validate:"-"`
	TopologySpreadConstraints []v1.TopologySpreadConstraint `validate:"-"`
	PodTemplateAnnotations    map[string]string             `validate:"-"`
}

func NewSystemSearchdOptions added in v0.11.0

func NewSystemSearchdOptions() *SystemSearchdOptions

func (*SystemSearchdOptions) Validate added in v0.11.0

func (s *SystemSearchdOptions) Validate() error

type Zync

type Zync struct {
	Options *ZyncOptions
}

func NewZync

func NewZync(options *ZyncOptions) *Zync

func (*Zync) DatabaseDeploymentConfig added in v0.4.0

func (zync *Zync) DatabaseDeploymentConfig() *appsv1.DeploymentConfig

func (*Zync) DatabaseService added in v0.4.0

func (zync *Zync) DatabaseService() *v1.Service

func (*Zync) DeploymentConfig added in v0.4.0

func (zync *Zync) DeploymentConfig() *appsv1.DeploymentConfig

func (*Zync) QueDeploymentConfig added in v0.4.0

func (zync *Zync) QueDeploymentConfig() *appsv1.DeploymentConfig

func (*Zync) QuePodDisruptionBudget added in v0.5.0

func (zync *Zync) QuePodDisruptionBudget() *policyv1.PodDisruptionBudget

func (*Zync) QueRole added in v0.4.0

func (zync *Zync) QueRole() *rbacv1.Role

func (*Zync) QueRoleBinding added in v0.4.0

func (zync *Zync) QueRoleBinding() *rbacv1.RoleBinding

func (*Zync) QueServiceAccount added in v0.4.0

func (zync *Zync) QueServiceAccount() *v1.ServiceAccount

func (*Zync) Secret added in v0.4.0

func (zync *Zync) Secret() *v1.Secret

func (*Zync) Service added in v0.4.0

func (zync *Zync) Service() *v1.Service

func (*Zync) ZyncGrafanaDashboard added in v0.7.0

func (zync *Zync) ZyncGrafanaDashboard(sumRate string) *grafanav1alpha1.GrafanaDashboard

func (*Zync) ZyncPodDisruptionBudget added in v0.5.0

func (zync *Zync) ZyncPodDisruptionBudget() *policyv1.PodDisruptionBudget

func (*Zync) ZyncPodMonitor added in v0.6.0

func (zync *Zync) ZyncPodMonitor() *monitoringv1.PodMonitor

func (*Zync) ZyncPrometheusRules added in v0.7.0

func (zync *Zync) ZyncPrometheusRules() *monitoringv1.PrometheusRule

func (*Zync) ZyncQuePodMonitor added in v0.6.0

func (zync *Zync) ZyncQuePodMonitor() *monitoringv1.PodMonitor

func (*Zync) ZyncQuePrometheusRules added in v0.7.0

func (zync *Zync) ZyncQuePrometheusRules() *monitoringv1.PrometheusRule

type ZyncOptions

type ZyncOptions struct {
	DatabaseURL                           string                  `validate:"required"`
	ImageTag                              string                  `validate:"required"`
	DatabaseImageTag                      string                  `validate:"required"`
	ContainerResourceRequirements         v1.ResourceRequirements `validate:"-"`
	QueContainerResourceRequirements      v1.ResourceRequirements `validate:"-"`
	DatabaseContainerResourceRequirements v1.ResourceRequirements `validate:"-"`
	AuthenticationToken                   string                  `validate:"required"`
	DatabasePassword                      string                  `validate:"required"`
	SecretKeyBase                         string                  `validate:"required"`
	ZyncReplicas                          int32
	ZyncQueReplicas                       int32

	ZyncAffinity            *v1.Affinity    `validate:"-"`
	ZyncTolerations         []v1.Toleration `validate:"-"`
	ZyncQueAffinity         *v1.Affinity    `validate:"-"`
	ZyncQueTolerations      []v1.Toleration `validate:"-"`
	ZyncDatabaseAffinity    *v1.Affinity    `validate:"-"`
	ZyncDatabaseTolerations []v1.Toleration `validate:"-"`

	CommonLabels                  map[string]string `validate:"required"`
	CommonZyncLabels              map[string]string `validate:"required"`
	CommonZyncQueLabels           map[string]string `validate:"required"`
	CommonZyncDatabaseLabels      map[string]string `validate:"required"`
	ZyncPodTemplateLabels         map[string]string `validate:"required"`
	ZyncQuePodTemplateLabels      map[string]string `validate:"required"`
	ZyncDatabasePodTemplateLabels map[string]string `validate:"required"`
	ZyncMetrics                   bool

	ZyncQueServiceAccountImagePullSecrets []v1.LocalObjectReference `validate:"required"`

	ZyncPriorityClassName         string `validate:"-"`
	ZyncQuePriorityClassName      string `validate:"-"`
	ZyncDatabasePriorityClassName string `validate:"-"`

	ZyncTopologySpreadConstraints         []v1.TopologySpreadConstraint `validate:"-"`
	ZyncQueTopologySpreadConstraints      []v1.TopologySpreadConstraint `validate:"-"`
	ZyncDatabaseTopologySpreadConstraints []v1.TopologySpreadConstraint `validate:"-"`

	ZyncPodTemplateAnnotations         map[string]string `validate:"-"`
	ZyncQuePodTemplateAnnotations      map[string]string `validate:"-"`
	ZyncDatabasePodTemplateAnnotations map[string]string `validate:"-"`

	// Used for monitoring objects
	// Those objects are namespaced. However, objects includes labels, rules and expressions
	// that need namespace filtering because they are "global" once imported
	// to the prometheus or grafana services.
	Namespace string `validate:"required"`
}

ZyncOptions container object with all required to create components

func NewZyncOptions added in v0.6.0

func NewZyncOptions() *ZyncOptions

func (*ZyncOptions) Validate added in v0.6.0

func (z *ZyncOptions) Validate() error

Jump to

Keyboard shortcuts

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