component

package
Version: v0.7.0 Latest Latest
Warning

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

Go to latest
Published: May 12, 2021 License: Apache-2.0, Apache-2.0 Imports: 19 Imported by: 4

Documentation

Index

Constants

View Source
const (
	ApicastStagingName    = "apicast-staging"
	ApicastProductionName = "apicast-production"
)
View Source
const (
	BackendListenerName = "backend-listener"
	BackendWorkerName   = "backend-worker"
)
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 (
	AwsAccessKeyID     = "AWS_ACCESS_KEY_ID"
	AwsSecretAccessKey = "AWS_SECRET_ACCESS_KEY"
	AwsBucket          = "AWS_BUCKET"
	AwsRegion          = "AWS_REGION"
	AwsProtocol        = "AWS_PROTOCOL"
	AwsHostname        = "AWS_HOSTNAME"
	AwsPathStyle       = "AWS_PATH_STYLE"
)
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"
	SystemSecretSystemRedisMessageBusRedisURLFieldName = "MESSAGE_BUS_URL"
	SystemSecretSystemRedisNamespace                   = "NAMESPACE"
	SystemSecretSystemRedisMessageBusRedisNamespace    = "MESSAGE_BUS_NAMESPACE"
	SystemSecretSystemRedisSentinelHosts               = "SENTINEL_HOSTS"
	SystemSecretSystemRedisSentinelRole                = "SENTINEL_ROLE"
	SystemSecretSystemRedisMessageBusSentinelHosts     = "MESSAGE_BUS_SENTINEL_HOSTS"
	SystemSecretSystemRedisMessageBusSentinelRole      = "MESSAGE_BUS_SENTINEL_ROLE"
)
View Source
const (
	SystemSecretSystemAppSecretName             = "system-app"
	SystemSecretSystemAppSecretKeyBaseFieldName = "SECRET_KEY_BASE"
)
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"
)
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 (
	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 (
	SystemFileStoragePVCName = "system-storage"
)
View Source
const (
	ZyncName = "zync"
)

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

func ApicastImageURL() 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 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 DefaultSphinxContainerResourceRequirements added in v0.6.0

func DefaultSphinxContainerResourceRequirements() *v1.ResourceRequirements

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

func DefaultSystemMessageBusRedisNamespace() string

func DefaultSystemMessageBusRedisSentinelHosts added in v0.6.0

func DefaultSystemMessageBusRedisSentinelHosts() string

func DefaultSystemMessageBusRedisSentinelRole added in v0.6.0

func DefaultSystemMessageBusRedisSentinelRole() 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 DefaultSystemRedisMessageBusURL added in v0.7.0

func DefaultSystemRedisMessageBusURL() string

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 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 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(ns string, appLabel string) *monitoringv1.PrometheusRule

func KubernetesResourcesByNamespaceGrafanaDashboard added in v0.6.0

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

func KubernetesResourcesByPodGrafanaDashboard added in v0.6.0

func KubernetesResourcesByPodGrafanaDashboard(ns string, 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 ZyncImageURL added in v0.4.0

func ZyncImageURL() string

func ZyncPostgreSQLImageURL added in v0.4.0

func ZyncPostgreSQLImageURL() string

Types

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) 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"`
	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() *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() *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() *v1beta1.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() *v1beta1.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:"-"`

	// 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 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() *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() *v1beta1.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() *v1beta1.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() *v1beta1.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

	// 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 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 `validate:"required"`
	BackendRedisQueuesSentinelHosts     string
	BackendRedisQueuesSentinelRole      string
	BackendRedisStorageEndpoint         string `validate:"required"`
	BackendRedisStorageSentinelHosts    string
	BackendRedisStorageSentinelRole     string
	SystemDatabaseURL                   string `validate:"required"`
	SystemRedisURL                      string `validate:"required"`
	SystemRedisSentinelsHosts           string
	SystemRedisSentinelsRole            string
	SystemRedisNamespace                string
	SystemMessageBusRedisURL            string `validate:"required"`
	SystemMessageBusRedisSentinelsHosts string
	SystemMessageBusRedisSentinelsRole  string
	SystemMessageBusRedisNamespace      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"`
}

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) BackendConfigMap added in v0.4.0

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

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

	// secrets
	BackendStorageURL                   string `validate:"required"`
	BackendQueuesURL                    string `validate:"required"`
	BackendRedisQueuesSentinelHosts     string
	BackendRedisQueuesSentinelRole      string
	BackendRedisStorageSentinelHosts    string
	BackendRedisStorageSentinelRole     string
	SystemRedisURL                      string `validate:"required"`
	SystemRedisMessageBusURL            string
	SystemRedisSentinelsHosts           string
	SystemRedisSentinelsRole            string
	SystemRedisNamespace                string
	SystemMessageBusRedisSentinelsHosts string
	SystemMessageBusRedisSentinelsRole  string
	SystemMessageBusRedisNamespace      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 S3

type S3 struct {
	Options *S3Options
}

func NewS3

func NewS3(options *S3Options) *S3

func (*S3) S3AWSSecret added in v0.4.0

func (s3 *S3) S3AWSSecret() *v1.Secret

TODO Template-only object. Decide what to do with this component. It seems that now only the field names of the secret configuration and the options themselves are needed (to create this secret)

type S3FileStorageOptions added in v0.4.0

type S3FileStorageOptions struct {
	ConfigurationSecretName string `validate:"required"`
}

type S3Options

type S3Options struct {
	AwsAccessKeyId       string `validate:"required"`
	AwsSecretAccessKey   string `validate:"required"`
	AwsRegion            string `validate:"required"`
	AwsBucket            string `validate:"required"`
	AwsProtocol          string `validate:"required"`
	AwsHostname          string `validate:"required"`
	AwsPathStyle         string `validate:"required"`
	AwsCredentialsSecret string `validate:"required"`
}

func NewS3Options added in v0.6.0

func NewS3Options() *S3Options

func (*S3Options) Validate added in v0.6.0

func (s3 *S3Options) Validate() error

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() *v1beta1.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() *v1beta1.PodDisruptionBudget

func (*System) SidekiqPodVolumes added in v0.4.0

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

func (*System) SphinxDeploymentConfig added in v0.4.0

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

func (*System) SphinxService added in v0.4.0

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

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() *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 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"`
}

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

	ImageTag string `validate:"required"`

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

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

	AppReplicas     *int32 `validate:"required"`
	SidekiqReplicas *int32 `validate:"required"`

	AdminAccessToken    string  `validate:"required"`
	AdminPassword       string  `validate:"required"`
	AdminUsername       string  `validate:"required"`
	AmpRelease          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:"-"`
	SphinxAffinity     *v1.Affinity    `validate:"-"`
	SphinxTolerations  []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"`
	SphinxLabels             map[string]string `validate:"required"`
	SphinxPodTemplateLabels  map[string]string `validate:"required"`
	MemcachedLabels          map[string]string `validate:"required"`
	SMTPLabels               map[string]string `validate:"required"`
	SideKiqMetrics           bool
	AppMetrics               bool

	IncludeOracleOptionalSettings bool

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

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

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() *v1beta1.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() *grafanav1alpha1.GrafanaDashboard

func (*Zync) ZyncPodDisruptionBudget added in v0.5.0

func (zync *Zync) ZyncPodDisruptionBudget() *v1beta1.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"`

	// 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
t or T : Toggle theme light dark auto
y or Y : Canonical URL