builder

package
v0.38.1 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2025 License: MIT Imports: 36 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StorageVolume            = "storage"
	MariadbStorageMountPath  = "/var/lib/mysql"
	MaxscaleStorageMountPath = "/var/lib/maxscale"
	StorageVolumeRole        = "storage"

	ConfigVolume            = "config"
	MariadbConfigMountPath  = "/etc/mysql/conf.d"
	MaxscaleConfigMountPath = "/etc/config"
	ConfigVolumeRole        = "config"

	RunVolume            = "run"
	MaxScaleRunMountPath = "/var/run/maxscale"

	LogVolume            = "log"
	MaxScaleLogMountPath = "/var/log/maxscale"

	CacheVolume            = "cache"
	MaxScaleCacheMountPath = "/var/cache/maxscale"

	InitVolume        = "init"
	InitConfigPath    = "/init"
	InitLibKey        = "lib.sh"
	InitEntrypointKey = "entrypoint.sh"

	ProbesVolume    = "probes"
	ProbesMountPath = "/etc/probes"

	ServiceAccountVolume    = "serviceaccount"
	ServiceAccountMountPath = "/var/run/secrets/kubernetes.io/serviceaccount"
)
View Source
const (
	MetricsPortName = "metrics"
)

Variables

View Source
var (
	MariadbContainerName = "mariadb"
	MariadbPortName      = "mariadb"

	MaxScaleContainerName = "maxscale"
	MaxScaleAdminPortName = "admin"

	InitContainerName  = "init"
	AgentContainerName = "agent"
)

Functions

func MariaDBPort added in v0.0.12

func MariaDBPort(svc *corev1.Service) (*v1.ServicePort, error)

func ValidateServicePorts added in v0.34.0

func ValidateServicePorts(ports []corev1.ServicePort) error

Types

type Builder

type Builder struct {
	// contains filtered or unexported fields
}

func NewBuilder added in v0.0.16

func NewBuilder(scheme *runtime.Scheme, env *environment.OperatorEnv, discovery *discovery.Discovery) *Builder

func (*Builder) BuilGaleraInitJob added in v0.0.30

func (b *Builder) BuilGaleraInitJob(key types.NamespacedName, mariadb *mariadbv1alpha1.MariaDB) (*batchv1.Job, error)

func (*Builder) BuildBackupCronJob

func (b *Builder) BuildBackupCronJob(key types.NamespacedName, backup *mariadbv1alpha1.Backup,
	mariadb *mariadbv1alpha1.MariaDB) (*batchv1.CronJob, error)

func (*Builder) BuildBackupJob

func (b *Builder) BuildBackupJob(key types.NamespacedName, backup *mariadbv1alpha1.Backup,
	mariadb *mariadbv1alpha1.MariaDB) (*batchv1.Job, error)

func (*Builder) BuildBackupStagingPVC added in v0.35.0

func (*Builder) BuildBackupStoragePVC added in v0.35.0

func (b *Builder) BuildBackupStoragePVC(key types.NamespacedName, backup *mariadbv1alpha1.Backup) (*corev1.PersistentVolumeClaim, error)

func (*Builder) BuildCertificate added in v0.37.0

func (b *Builder) BuildCertificate(certOpts ...CertOpt) (*certmanagerv1.Certificate, error)

func (*Builder) BuildClusterRoleBinding added in v0.0.16

func (b *Builder) BuildClusterRoleBinding(key types.NamespacedName, mariadb *mariadbv1alpha1.MariaDB, sa *corev1.ServiceAccount,
	roleRef rbacv1.RoleRef) (*rbacv1.ClusterRoleBinding, error)

func (*Builder) BuildConfigMap

func (b *Builder) BuildConfigMap(opts ConfigMapOpts, owner metav1.Object) (*corev1.ConfigMap, error)

func (*Builder) BuildConnection

func (b *Builder) BuildConnection(opts ConnectionOpts, owner metav1.Object) (*mariadbv1alpha1.Connection, error)

func (*Builder) BuildDatabase added in v0.0.29

func (b *Builder) BuildDatabase(key types.NamespacedName, owner metav1.Object, opts DatabaseOpts) (*mariadbv1alpha1.Database, error)

func (*Builder) BuildEndpoints added in v0.0.20

func (b *Builder) BuildEndpoints(key types.NamespacedName, mariadb *mariadbv1alpha1.MariaDB,
	subsets []corev1.EndpointSubset) (*corev1.Endpoints, error)

func (*Builder) BuildExporterDeployment added in v0.0.24

func (b *Builder) BuildExporterDeployment(mariadb *mariadbv1alpha1.MariaDB,
	podAnnotations map[string]string) (*appsv1.Deployment, error)

func (*Builder) BuildGaleraRecoveryJob added in v0.0.30

func (b *Builder) BuildGaleraRecoveryJob(key types.NamespacedName, mariadb *mariadbv1alpha1.MariaDB,
	pod *corev1.Pod) (*batchv1.Job, error)

func (*Builder) BuildGrant

func (b *Builder) BuildGrant(key types.NamespacedName, owner metav1.Object, opts GrantOpts) (*mariadbv1alpha1.Grant, error)

func (*Builder) BuildMariadbStatefulSet added in v0.0.25

func (b *Builder) BuildMariadbStatefulSet(mariadb *mariadbv1alpha1.MariaDB, key types.NamespacedName,
	podAnnotations map[string]string) (*appsv1.StatefulSet, error)

func (*Builder) BuildMaxScale added in v0.0.25

func (*Builder) BuildMaxScaleExporterDeployment added in v0.0.28

func (b *Builder) BuildMaxScaleExporterDeployment(mxs *mariadbv1alpha1.MaxScale,
	podAnnotations map[string]string) (*appsv1.Deployment, error)

func (*Builder) BuildMaxScaleServiceMonitor added in v0.0.28

func (b *Builder) BuildMaxScaleServiceMonitor(mxs *mariadbv1alpha1.MaxScale) (*monitoringv1.ServiceMonitor, error)

func (*Builder) BuildMaxscaleStatefulSet added in v0.0.25

func (b *Builder) BuildMaxscaleStatefulSet(maxscale *mariadbv1alpha1.MaxScale, key types.NamespacedName,
	podAnnotations map[string]string) (*appsv1.StatefulSet, error)

func (*Builder) BuildPodDisruptionBudget added in v0.0.12

func (b *Builder) BuildPodDisruptionBudget(opts PodDisruptionBudgetOpts, owner metav1.Object) (*policyv1.PodDisruptionBudget, error)

func (*Builder) BuildRestore

func (b *Builder) BuildRestore(mariadb *mariadbv1alpha1.MariaDB, key types.NamespacedName) (*mariadbv1alpha1.Restore, error)

func (*Builder) BuildRestoreJob

func (b *Builder) BuildRestoreJob(key types.NamespacedName, restore *mariadbv1alpha1.Restore,
	mariadb *mariadbv1alpha1.MariaDB) (*batchv1.Job, error)

func (*Builder) BuildRole added in v0.0.16

func (b *Builder) BuildRole(key types.NamespacedName, mariadb *mariadbv1alpha1.MariaDB, rules []rbacv1.PolicyRule) (*rbacv1.Role, error)

func (*Builder) BuildRoleBinding added in v0.0.16

func (b *Builder) BuildRoleBinding(key types.NamespacedName, mariadb *mariadbv1alpha1.MariaDB, sa *corev1.ServiceAccount,
	roleRef rbacv1.RoleRef) (*rbacv1.RoleBinding, error)

func (*Builder) BuildSecret

func (b *Builder) BuildSecret(opts SecretOpts, owner metav1.Object) (*corev1.Secret, error)

func (*Builder) BuildService

func (b *Builder) BuildService(key types.NamespacedName, owner metav1.Object, opts ServiceOpts) (*corev1.Service, error)

func (*Builder) BuildServiceAccount added in v0.0.16

func (b *Builder) BuildServiceAccount(key types.NamespacedName, owner metav1.Object,
	meta *mariadbv1alpha1.Metadata) (*corev1.ServiceAccount, error)

func (*Builder) BuildServiceMonitor

func (b *Builder) BuildServiceMonitor(mariadb *mariadbv1alpha1.MariaDB) (*monitoringv1.ServiceMonitor, error)

func (*Builder) BuildSqlCronJob added in v0.0.14

func (b *Builder) BuildSqlCronJob(key types.NamespacedName, sqlJob *mariadbv1alpha1.SqlJob,
	mariadb *mariadbv1alpha1.MariaDB) (*batchv1.CronJob, error)

func (*Builder) BuildSqlJob

func (b *Builder) BuildSqlJob(key types.NamespacedName, sqlJob *mariadbv1alpha1.SqlJob,
	mariadb *mariadbv1alpha1.MariaDB) (*batchv1.Job, error)

func (*Builder) BuildStoragePVC added in v0.0.26

func (*Builder) BuildUser

func (b *Builder) BuildUser(key types.NamespacedName, owner metav1.Object, opts UserOpts) (*mariadbv1alpha1.User, error)

type CertOpt added in v0.37.0

type CertOpt func(*CertOpts)

func WithDNSnames added in v0.37.0

func WithDNSnames(names []string) CertOpt

func WithIssuerRef added in v0.37.0

func WithIssuerRef(issuerRef cmmeta.ObjectReference) CertOpt

func WithKey added in v0.37.0

func WithKey(key types.NamespacedName) CertOpt

func WithLifetime added in v0.37.0

func WithLifetime(lifetime time.Duration) CertOpt

func WithOwner added in v0.37.0

func WithOwner(owner metav1.Object) CertOpt

func WithRenewBeforePercentage added in v0.37.0

func WithRenewBeforePercentage(percentage int32) CertOpt

func WithUsages added in v0.37.0

func WithUsages(usages ...certmanagerv1.KeyUsage) CertOpt

type CertOpts added in v0.37.0

type CertOpts struct {
	Key                   *types.NamespacedName
	Owner                 metav1.Object
	DNSNames              []string
	Lifetime              *time.Duration
	RenewBeforePercentage *int32
	Usages                []certmanagerv1.KeyUsage
	IssuerRef             *cmmeta.ObjectReference
}

type ConfigMapOpts

type ConfigMapOpts struct {
	Metadata *mariadbv1alpha1.Metadata
	Key      types.NamespacedName
	Data     map[string]string
}

type ConnectionOpts

type ConnectionOpts struct {
	Metadata             *mariadbv1alpha1.Metadata
	MariaDB              *mariadbv1alpha1.MariaDB
	MaxScale             *mariadbv1alpha1.MaxScale
	Key                  types.NamespacedName
	Username             string
	PasswordSecretKeyRef *mariadbv1alpha1.SecretKeySelector
	Database             *string
	Template             *mariadbv1alpha1.ConnectionTemplate
}

type DatabaseOpts added in v0.0.29

type DatabaseOpts struct {
	Name       string
	Metadata   *mariadbv1alpha1.Metadata
	MariaDBRef mariadbv1alpha1.MariaDBRef
}

type GrantOpts

type GrantOpts struct {
	Privileges    []string
	Database      string
	Table         string
	Username      string
	Host          string
	GrantOption   bool
	CleanupPolicy *mariadbv1alpha1.CleanupPolicy
	Metadata      *mariadbv1alpha1.Metadata
	MariaDBRef    mariadbv1alpha1.MariaDBRef
}

type PodDisruptionBudgetOpts added in v0.0.12

type PodDisruptionBudgetOpts struct {
	Metadata       *mariadbv1alpha1.Metadata
	Key            types.NamespacedName
	MinAvailable   *intstr.IntOrString
	MaxUnavailable *intstr.IntOrString
	SelectorLabels map[string]string
}

type SecretOpts

type SecretOpts struct {
	Metadata []*mariadbv1alpha1.Metadata
	Key      types.NamespacedName
	Data     map[string][]byte
}

type ServiceOpts added in v0.0.12

type ServiceOpts struct {
	mariadbv1alpha1.ServiceTemplate
	SelectorLabels        map[string]string
	ExcludeSelectorLabels bool
	Ports                 []corev1.ServicePort
	Headless              bool
	ExtraMeta             *mariadbv1alpha1.Metadata
}

type UserOpts

type UserOpts struct {
	Name                     string
	Host                     string
	PasswordSecretKeyRef     *mariadbv1alpha1.SecretKeySelector
	PasswordHashSecretKeyRef *mariadbv1alpha1.SecretKeySelector
	PasswordPlugin           *mariadbv1alpha1.PasswordPlugin
	MaxUserConnections       int32
	CleanupPolicy            *mariadbv1alpha1.CleanupPolicy
	Metadata                 *mariadbv1alpha1.Metadata
	MariaDBRef               mariadbv1alpha1.MariaDBRef
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy