builder

package
v0.0.27 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2024 License: MIT Imports: 26 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"

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

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

	ServiceAccountVolume    = "serviceaccount"
	ServiceAccountMountPath = "/var/run/secrets/kubernetes.io/serviceaccount"

	MariadbContainerName = "mariadb"
	MariadbPortName      = "mariadb"

	MaxScaleContainerName = "maxscale"
	MaxScaleAdminPortName = "admin"

	InitContainerName  = "init"
	AgentContainerName = "agent"
)
View Source
const (
	MetricsPortName = "metrics"
)

Variables

This section is empty.

Functions

func MariaDBPort added in v0.0.12

func MariaDBPort(svc *corev1.Service) (*v1.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) *Builder

func (*Builder) BuilInitJob added in v0.0.26

func (b *Builder) BuilInitJob(key types.NamespacedName, mariadb *mariadbv1alpha1.MariaDB,
	meta *mariadbv1alpha1.Metadata) (*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) BuildBackupPVC added in v0.0.25

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) 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, key types.NamespacedName) (*appsv1.Deployment, 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) (*appsv1.StatefulSet, error)

func (*Builder) BuildMaxScale added in v0.0.25

func (*Builder) BuildMaxscaleStatefulSet added in v0.0.25

func (b *Builder) BuildMaxscaleStatefulSet(maxscale *mariadbv1alpha1.MaxScale, key types.NamespacedName) (*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,
	opts ServiceAccountOpts) (*corev1.ServiceAccount, error)

func (*Builder) BuildServiceMonitor

func (b *Builder) BuildServiceMonitor(mariadb *mariadbv1alpha1.MariaDB, key types.NamespacedName) (*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 ConfigMapOpts

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

type ConnectionOpts

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

type GrantOpts

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

type PodDisruptionBudgetOpts added in v0.0.12

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

type SecretOpts

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

type ServiceAccountOpts added in v0.0.25

type ServiceAccountOpts struct {
	MariaDB  *mariadbv1alpha1.MariaDB
	Metadata *mariadbv1alpha1.Metadata
}

type ServiceOpts added in v0.0.12

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

type UserOpts

type UserOpts struct {
	Name                 string
	PasswordSecretKeyRef v1.SecretKeySelector
	MaxUserConnections   int32
	MariaDB              *mariadbv1alpha1.MariaDB
	MariaDBRef           mariadbv1alpha1.MariaDBRef
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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