builder

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	HTTPGetProbHandler2PortNames = []string{"http", "ui", "metrics", "health"}
	TCPProbHandler2PortNames     = []string{"master"}
)
View Source
var (
	DefaultReplicas = int32(1)
)
View Source
var (
	MatchingLabelsNames = []string{
		"app.kubernetes.io/name",
		"app.kubernetes.io/instance",
		"app.kubernetes.io/role-group",
		"app.kubernetes.io/component",
	}
)

Functions

func ContainerPort2ServicePort

func ContainerPort2ServicePort(port corev1.ContainerPort) *corev1.ServicePort

Types

type BaseConfigBuilder

type BaseConfigBuilder struct {
	BaseResourceBuilder
	// contains filtered or unexported fields
}

func NewBaseConfigBuilder

func NewBaseConfigBuilder(
	client *client.Client,
	options Options,
) *BaseConfigBuilder

func (*BaseConfigBuilder) AddData

func (b *BaseConfigBuilder) AddData(data map[string]string) ConfigBuilder

func (*BaseConfigBuilder) AddDecodeData

func (b *BaseConfigBuilder) AddDecodeData(data map[string][]byte) ConfigBuilder

func (*BaseConfigBuilder) ClearData

func (b *BaseConfigBuilder) ClearData() ConfigBuilder

func (*BaseConfigBuilder) GetData

func (b *BaseConfigBuilder) GetData() map[string]string

func (*BaseConfigBuilder) GetEncodeData

func (b *BaseConfigBuilder) GetEncodeData() map[string][]byte

func (*BaseConfigBuilder) SetData

func (b *BaseConfigBuilder) SetData(data map[string]string) ConfigBuilder

type BaseResourceBuilder

type BaseResourceBuilder struct {
	Client  *client.Client
	Options Options
	// contains filtered or unexported fields
}

func (*BaseResourceBuilder) Build

func (*BaseResourceBuilder) GetClient

func (b *BaseResourceBuilder) GetClient() *client.Client

func (*BaseResourceBuilder) GetName

func (b *BaseResourceBuilder) GetName() string

func (*BaseResourceBuilder) GetObjectMeta

func (b *BaseResourceBuilder) GetObjectMeta() metav1.ObjectMeta

func (*BaseResourceBuilder) GetObjectMetaWithClusterScope

func (b *BaseResourceBuilder) GetObjectMetaWithClusterScope() metav1.ObjectMeta

GetObjectMetaWithClusterScope returns the object meta with cluster scope

func (*BaseResourceBuilder) SetName

func (b *BaseResourceBuilder) SetName(name string)

type BaseServiceBuilder

type BaseServiceBuilder struct {
	BaseResourceBuilder
	// contains filtered or unexported fields
}

func NewServiceBuilder

func NewServiceBuilder(
	client *client.Client,
	options Options,
) *BaseServiceBuilder

func (*BaseServiceBuilder) AddPort

func (b *BaseServiceBuilder) AddPort(port *corev1.ContainerPort)

func (*BaseServiceBuilder) Build

func (*BaseServiceBuilder) GetObject

func (b *BaseServiceBuilder) GetObject() *corev1.Service

func (*BaseServiceBuilder) GetPorts

func (b *BaseServiceBuilder) GetPorts() []corev1.ServicePort

func (*BaseServiceBuilder) GetServiceType

func (b *BaseServiceBuilder) GetServiceType() corev1.ServiceType

type Builder

type Builder interface {
	Build(ctx context.Context) (ctrlclient.Object, error)
	GetObjectMeta() metav1.ObjectMeta
	GetClient() *client.Client
	SetName(name string)
	GetName() string
}

type ClusterOptions

type ClusterOptions struct {
	Name             string
	Namespace        string
	Labels           map[string]string
	Annotations      map[string]string
	ClusterOperation *apiv1alpha1.ClusterOperationSpec
	Image            *util.Image
	Ports            []corev1.ContainerPort
}

func (*ClusterOptions) AddLabels

func (o *ClusterOptions) AddLabels(labels map[string]string)

func (*ClusterOptions) GetAnnotations

func (o *ClusterOptions) GetAnnotations() map[string]string

func (*ClusterOptions) GetClusterName

func (o *ClusterOptions) GetClusterName() string

func (*ClusterOptions) GetClusterOperation

func (o *ClusterOptions) GetClusterOperation() *apiv1alpha1.ClusterOperationSpec

func (*ClusterOptions) GetFullName

func (o *ClusterOptions) GetFullName() string

func (*ClusterOptions) GetImage

func (o *ClusterOptions) GetImage() *util.Image

func (*ClusterOptions) GetLabels

func (o *ClusterOptions) GetLabels() map[string]string

func (*ClusterOptions) GetMatchingLabels

func (o *ClusterOptions) GetMatchingLabels() map[string]string

func (*ClusterOptions) GetName

func (o *ClusterOptions) GetName() string

func (*ClusterOptions) GetNamespace

func (o *ClusterOptions) GetNamespace() string

func (*ClusterOptions) GetPorts

func (o *ClusterOptions) GetPorts() []corev1.ContainerPort

func (*ClusterOptions) SetPorts

func (o *ClusterOptions) SetPorts(ports []corev1.ContainerPort)

type ClusterRoleBindingBuilder

type ClusterRoleBindingBuilder interface {
	Builder
	GetObject() *rbacv1.ClusterRoleBinding
}

type ClusterRoleBuilder

type ClusterRoleBuilder interface {
	Builder
	GetObject() *rbacv1.ClusterRole
}

type ConfigBuilder

type ConfigBuilder interface {
	Builder
	AddData(data map[string]string) ConfigBuilder
	AddDecodeData(data map[string][]byte) ConfigBuilder
	SetData(data map[string]string) ConfigBuilder
	ClearData() ConfigBuilder
	GetData() map[string]string
	GetEncodeData() map[string][]byte
}

type ConfigMapBuilder

type ConfigMapBuilder struct {
	BaseConfigBuilder
}

func NewConfigMapBuilder

func NewConfigMapBuilder(
	client *client.Client,
	options Options,
) *ConfigMapBuilder

func (*ConfigMapBuilder) Build

func (*ConfigMapBuilder) GetObject

func (b *ConfigMapBuilder) GetObject() *corev1.ConfigMap

type ContainerBuilder

type ContainerBuilder interface {
	Build() *corev1.Container

	AddVolumeMounts(mounts []corev1.VolumeMount)
	AddVolumeMount(mount corev1.VolumeMount)
	ResetVolumeMounts(mounts []corev1.VolumeMount)
	GetVolumeMounts() []corev1.VolumeMount

	AddEnvVars(envVars []corev1.EnvVar)
	ResetEnvVars(envVars []corev1.EnvVar)
	GetEnvVars() []corev1.EnvVar

	AddEnvs(envs map[string]string)
	AddEnv(key, value string)

	AddEnvFrom(envs []corev1.EnvFromSource)
	AddEnvFromSecret(secretName string)
	AddEnvFromConfigMap(configMapName string)
	ResetEnvFrom(envs []corev1.EnvFromSource)
	GetEnvFrom() []corev1.EnvFromSource

	AddPorts(ports []corev1.ContainerPort)
	AddPort(port corev1.ContainerPort)
	ResetPorts(ports []corev1.ContainerPort)
	GetPorts() []corev1.ContainerPort

	SetResources(resources apiv1alpha1.ResourcesSpec)

	SetLiveProbe(probe *corev1.Probe)
	SetReadinessProbe(probe *corev1.Probe)
	SetStartupProbe(probe *corev1.Probe)

	SetSecurityContext(user int64, group int64, nonRoot bool)
	// SetCommand sets the command for the container and clears the args.
	SetCommand(command []string)
	SetArgs(args []string)

	OverrideEnv(envs map[string]string)
	// OverrideCommand sets the command for the container and clears the command.
	OverrideCommand(command []string)

	AutomaticSetProbe()
	SetProbeWithHealth()
}

type DeploymentBuilder

type DeploymentBuilder interface {
	Builder

	GetObject() *appv1.Deployment
	SetReplicas(replicas *int32)

	AddContainer(*corev1.Container)
	AddContainers([]corev1.Container)
	ResetContainers(containers []corev1.Container)

	AddInitContainer(*corev1.Container)
	AddInitContainers([]corev1.Container)
	ResetInitContainers(containers []corev1.Container)

	AddVolume(*corev1.Volume)
	AddVolumes([]corev1.Volume)
	ResetVolumes(volumes []corev1.Volume)

	AddTerminationGracePeriodSeconds(seconds *int64)
	AddAffinity(*corev1.Affinity)
}

type GenericClusterRoleBindingBuilder

type GenericClusterRoleBindingBuilder struct {
	BaseResourceBuilder
	// contains filtered or unexported fields
}

func NewGenericClusterRoleBindingBuilder

func NewGenericClusterRoleBindingBuilder(
	client *resourceClient.Client,
	options Options,
) *GenericClusterRoleBindingBuilder

func (*GenericClusterRoleBindingBuilder) Build

func (*GenericClusterRoleBindingBuilder) GetObject

type GenericClusterRoleBuilder

type GenericClusterRoleBuilder struct {
	BaseResourceBuilder
	// contains filtered or unexported fields
}

func NewGenericClusterRoleBuilder

func NewGenericClusterRoleBuilder(
	client *resourceClient.Client,
	options Options,
) *GenericClusterRoleBuilder

func (*GenericClusterRoleBuilder) Build

func (*GenericClusterRoleBuilder) GetObject

type GenericContainerBuilder

type GenericContainerBuilder struct {
	Name       string
	Image      string
	PullPolicy corev1.PullPolicy
	// contains filtered or unexported fields
}

func NewGenericContainerBuilder

func NewGenericContainerBuilder(
	name, image string,
	pullPolicy corev1.PullPolicy,
) *GenericContainerBuilder

func (*GenericContainerBuilder) AddEnv

func (b *GenericContainerBuilder) AddEnv(key, value string)

func (*GenericContainerBuilder) AddEnvFrom

func (b *GenericContainerBuilder) AddEnvFrom(envs []corev1.EnvFromSource)

func (*GenericContainerBuilder) AddEnvFromConfigMap

func (b *GenericContainerBuilder) AddEnvFromConfigMap(configMapName string)

func (*GenericContainerBuilder) AddEnvFromSecret

func (b *GenericContainerBuilder) AddEnvFromSecret(secretName string)

func (*GenericContainerBuilder) AddEnvVar

func (b *GenericContainerBuilder) AddEnvVar(env corev1.EnvVar)

func (*GenericContainerBuilder) AddEnvVars

func (b *GenericContainerBuilder) AddEnvVars(envVars []corev1.EnvVar)

func (*GenericContainerBuilder) AddEnvs

func (b *GenericContainerBuilder) AddEnvs(envs map[string]string)

func (*GenericContainerBuilder) AddPort

func (b *GenericContainerBuilder) AddPort(port corev1.ContainerPort)

func (*GenericContainerBuilder) AddPorts

func (b *GenericContainerBuilder) AddPorts(ports []corev1.ContainerPort)

func (*GenericContainerBuilder) AddVolumeMount

func (b *GenericContainerBuilder) AddVolumeMount(mount corev1.VolumeMount)

func (*GenericContainerBuilder) AddVolumeMounts

func (b *GenericContainerBuilder) AddVolumeMounts(mounts []corev1.VolumeMount)

func (*GenericContainerBuilder) AutomaticSetProbe

func (b *GenericContainerBuilder) AutomaticSetProbe()

AutomaticSetProbe sets the liveness, readiness and startup probes policy: - handle policy:

  • if name of ports contains "http", "ui", "metrics" or "health", use httpGet
  • if name of ports contains "master", use tcpSocket
  • todo: add more rules

- startupProbe:

  • failureThreshold: 30
  • initialDelaySeconds: 4
  • periodSeconds: 6
  • successThreshold: 1
  • timeoutSeconds: 3

- livenessProbe:

  • failureThreshold: 3
  • periodSeconds: 10
  • successThreshold: 1
  • timeoutSeconds: 3

- readinessProbe:

  • failureThreshold: 3
  • periodSeconds: 10
  • successThreshold: 1
  • timeoutSeconds: 3

func (*GenericContainerBuilder) Build

func (*GenericContainerBuilder) GetEnvFrom

func (b *GenericContainerBuilder) GetEnvFrom() []corev1.EnvFromSource

func (*GenericContainerBuilder) GetEnvVars

func (b *GenericContainerBuilder) GetEnvVars() []corev1.EnvVar

func (*GenericContainerBuilder) GetPorts

func (*GenericContainerBuilder) GetVolumeMounts

func (b *GenericContainerBuilder) GetVolumeMounts() []corev1.VolumeMount

func (*GenericContainerBuilder) OverrideCommand

func (b *GenericContainerBuilder) OverrideCommand(command []string)

func (*GenericContainerBuilder) OverrideEnv

func (b *GenericContainerBuilder) OverrideEnv(envs map[string]string)

func (*GenericContainerBuilder) ResetEnvFrom

func (b *GenericContainerBuilder) ResetEnvFrom(envs []corev1.EnvFromSource)

func (*GenericContainerBuilder) ResetEnvVars

func (b *GenericContainerBuilder) ResetEnvVars(envVars []corev1.EnvVar)

func (*GenericContainerBuilder) ResetPorts

func (b *GenericContainerBuilder) ResetPorts(ports []corev1.ContainerPort)

func (*GenericContainerBuilder) ResetVolumeMounts

func (b *GenericContainerBuilder) ResetVolumeMounts(mounts []corev1.VolumeMount)

func (*GenericContainerBuilder) SetArgs

func (b *GenericContainerBuilder) SetArgs(args []string)

func (*GenericContainerBuilder) SetCommand

func (b *GenericContainerBuilder) SetCommand(command []string)

func (*GenericContainerBuilder) SetLiveProbe

func (b *GenericContainerBuilder) SetLiveProbe(probe *corev1.Probe)

func (*GenericContainerBuilder) SetProbeWithHealth

func (b *GenericContainerBuilder) SetProbeWithHealth()

func (*GenericContainerBuilder) SetReadinessProbe

func (b *GenericContainerBuilder) SetReadinessProbe(probe *corev1.Probe)

func (*GenericContainerBuilder) SetResources

func (b *GenericContainerBuilder) SetResources(resources apiv1alpha1.ResourcesSpec)

func (*GenericContainerBuilder) SetSecurityContext

func (b *GenericContainerBuilder) SetSecurityContext(user int64, group int64, nonRoot bool)

func (*GenericContainerBuilder) SetStartupProbe

func (b *GenericContainerBuilder) SetStartupProbe(probe *corev1.Probe)

type GenericDeploymentBuilder

type GenericDeploymentBuilder struct {
	BaseResourceBuilder
	Options *RoleGroupOptions
	// contains filtered or unexported fields
}

func NewGenericDeploymentBuilder

func NewGenericDeploymentBuilder(
	client *client.Client,
	options *RoleGroupOptions,
) *GenericDeploymentBuilder

func (*GenericDeploymentBuilder) AddAffinity

func (b *GenericDeploymentBuilder) AddAffinity(affinity *corev1.Affinity)

func (*GenericDeploymentBuilder) AddContainer

func (b *GenericDeploymentBuilder) AddContainer(container *corev1.Container)

func (*GenericDeploymentBuilder) AddContainers

func (b *GenericDeploymentBuilder) AddContainers(containers []corev1.Container)

func (*GenericDeploymentBuilder) AddInitContainer

func (b *GenericDeploymentBuilder) AddInitContainer(container *corev1.Container)

func (*GenericDeploymentBuilder) AddInitContainers

func (b *GenericDeploymentBuilder) AddInitContainers(containers []corev1.Container)

func (*GenericDeploymentBuilder) AddTerminationGracePeriodSeconds

func (b *GenericDeploymentBuilder) AddTerminationGracePeriodSeconds(seconds *int64)

func (*GenericDeploymentBuilder) AddVolume

func (b *GenericDeploymentBuilder) AddVolume(volume *corev1.Volume)

func (*GenericDeploymentBuilder) AddVolumes

func (b *GenericDeploymentBuilder) AddVolumes(volumes []corev1.Volume)

func (*GenericDeploymentBuilder) Build

func (*GenericDeploymentBuilder) GetObject

func (b *GenericDeploymentBuilder) GetObject() *appv1.Deployment

func (*GenericDeploymentBuilder) ResetContainers

func (b *GenericDeploymentBuilder) ResetContainers(containers []corev1.Container)

func (*GenericDeploymentBuilder) ResetInitContainers

func (b *GenericDeploymentBuilder) ResetInitContainers(containers []corev1.Container)

func (*GenericDeploymentBuilder) ResetVolumes

func (b *GenericDeploymentBuilder) ResetVolumes(volumes []corev1.Volume)

func (*GenericDeploymentBuilder) SetReplicas

func (b *GenericDeploymentBuilder) SetReplicas(replicas *int32)

type GenericJobBuilder

type GenericJobBuilder struct {
	BaseResourceBuilder
	// contains filtered or unexported fields
}

func NewGenericJobBuilder

func NewGenericJobBuilder(
	client *resourceClient.Client,
	options Options,
) *GenericJobBuilder

func (*GenericJobBuilder) AddContainer

func (b *GenericJobBuilder) AddContainer(container corev1.Container)

func (*GenericJobBuilder) AddContainers

func (b *GenericJobBuilder) AddContainers(containers []corev1.Container)

func (*GenericJobBuilder) AddInitContainer

func (b *GenericJobBuilder) AddInitContainer(container corev1.Container)

func (*GenericJobBuilder) AddInitContainers

func (b *GenericJobBuilder) AddInitContainers(containers []corev1.Container)

func (*GenericJobBuilder) AddVolume

func (b *GenericJobBuilder) AddVolume(volume corev1.Volume)

func (*GenericJobBuilder) AddVolumes

func (b *GenericJobBuilder) AddVolumes(volumes []corev1.Volume)

func (*GenericJobBuilder) Build

func (*GenericJobBuilder) GetContainers

func (b *GenericJobBuilder) GetContainers() []corev1.Container

func (*GenericJobBuilder) GetInitContainers

func (b *GenericJobBuilder) GetInitContainers() []corev1.Container

func (*GenericJobBuilder) GetObject

func (b *GenericJobBuilder) GetObject() *batchv1.Job

func (*GenericJobBuilder) GetVolumes

func (b *GenericJobBuilder) GetVolumes() []corev1.Volume

func (*GenericJobBuilder) ResetContainers

func (b *GenericJobBuilder) ResetContainers(containers []corev1.Container)

func (*GenericJobBuilder) ResetInitContainers

func (b *GenericJobBuilder) ResetInitContainers(containers []corev1.Container)

func (*GenericJobBuilder) ResetVolumes

func (b *GenericJobBuilder) ResetVolumes(volumes []corev1.Volume)

func (*GenericJobBuilder) SetRestPolicy

func (b *GenericJobBuilder) SetRestPolicy(policy corev1.RestartPolicy)

type GenericRoleBindingBuilder

type GenericRoleBindingBuilder struct {
	BaseResourceBuilder
	// contains filtered or unexported fields
}

func NewGenericRoleBindingBuilder

func NewGenericRoleBindingBuilder(
	client *resourceClient.Client,
	options Options,
) *GenericRoleBindingBuilder

func (*GenericRoleBindingBuilder) Build

func (*GenericRoleBindingBuilder) GetObject

type GenericRoleBuilder

type GenericRoleBuilder struct {
	BaseResourceBuilder
	// contains filtered or unexported fields
}

func NewGenericRoleBuilder

func NewGenericRoleBuilder(
	client *resourceClient.Client,
	options Options,
) *GenericRoleBuilder

func (*GenericRoleBuilder) Build

func (*GenericRoleBuilder) GetObject

func (b *GenericRoleBuilder) GetObject() *rbacv1.Role

type GenericServiceAccountBuilder

type GenericServiceAccountBuilder struct {
	BaseResourceBuilder
	// contains filtered or unexported fields
}

func NewGenericServiceAccountBuilder

func NewGenericServiceAccountBuilder(
	client *resourceClient.Client,
	options Options,
) *GenericServiceAccountBuilder

func (*GenericServiceAccountBuilder) Build

func (*GenericServiceAccountBuilder) GetObject

type GenericStatefulSetBuilder

type GenericStatefulSetBuilder struct {
	BaseResourceBuilder
	Options *RoleGroupOptions
	// contains filtered or unexported fields
}

func NewGenericStatefulSetBuilder

func NewGenericStatefulSetBuilder(
	client *client.Client,
	options *RoleGroupOptions,
) *GenericStatefulSetBuilder

func (*GenericStatefulSetBuilder) AddAffinity

func (b *GenericStatefulSetBuilder) AddAffinity(affinity corev1.Affinity)

func (*GenericStatefulSetBuilder) AddContainer

func (b *GenericStatefulSetBuilder) AddContainer(container corev1.Container)

func (*GenericStatefulSetBuilder) AddContainers

func (b *GenericStatefulSetBuilder) AddContainers(containers []corev1.Container)

func (*GenericStatefulSetBuilder) AddInitContainer

func (b *GenericStatefulSetBuilder) AddInitContainer(container corev1.Container)

func (*GenericStatefulSetBuilder) AddInitContainers

func (b *GenericStatefulSetBuilder) AddInitContainers(containers []corev1.Container)

func (*GenericStatefulSetBuilder) AddTerminationGracePeriodSeconds

func (b *GenericStatefulSetBuilder) AddTerminationGracePeriodSeconds(i int64)

func (*GenericStatefulSetBuilder) AddVolume

func (b *GenericStatefulSetBuilder) AddVolume(volume corev1.Volume)

func (*GenericStatefulSetBuilder) AddVolumeClaimTemplate

func (b *GenericStatefulSetBuilder) AddVolumeClaimTemplate(claim corev1.PersistentVolumeClaim)

func (*GenericStatefulSetBuilder) AddVolumeClaimTemplates

func (b *GenericStatefulSetBuilder) AddVolumeClaimTemplates(claims []corev1.PersistentVolumeClaim)

func (*GenericStatefulSetBuilder) AddVolumes

func (b *GenericStatefulSetBuilder) AddVolumes(volumes []corev1.Volume)

func (*GenericStatefulSetBuilder) Build

func (*GenericStatefulSetBuilder) GetAffinity

func (b *GenericStatefulSetBuilder) GetAffinity() *corev1.Affinity

func (*GenericStatefulSetBuilder) GetContainers

func (b *GenericStatefulSetBuilder) GetContainers() []corev1.Container

func (*GenericStatefulSetBuilder) GetInitContainers

func (b *GenericStatefulSetBuilder) GetInitContainers() []corev1.Container

func (*GenericStatefulSetBuilder) GetObject

func (*GenericStatefulSetBuilder) GetReplicas

func (b *GenericStatefulSetBuilder) GetReplicas() *int32

func (*GenericStatefulSetBuilder) GetTerminationGracePeriodSeconds

func (b *GenericStatefulSetBuilder) GetTerminationGracePeriodSeconds() *int64

func (*GenericStatefulSetBuilder) GetVolumeClaimTemplates

func (b *GenericStatefulSetBuilder) GetVolumeClaimTemplates() []corev1.PersistentVolumeClaim

func (*GenericStatefulSetBuilder) GetVolumes

func (b *GenericStatefulSetBuilder) GetVolumes() []corev1.Volume

func (*GenericStatefulSetBuilder) ResetContainers

func (b *GenericStatefulSetBuilder) ResetContainers(containers []corev1.Container)

func (*GenericStatefulSetBuilder) ResetInitContainers

func (b *GenericStatefulSetBuilder) ResetInitContainers(containers []corev1.Container)

func (*GenericStatefulSetBuilder) ResetVolumeClaimTemplates

func (b *GenericStatefulSetBuilder) ResetVolumeClaimTemplates(claims []corev1.PersistentVolumeClaim)

func (*GenericStatefulSetBuilder) ResetVolumes

func (b *GenericStatefulSetBuilder) ResetVolumes(volumes []corev1.Volume)

func (*GenericStatefulSetBuilder) SetReplicas

func (b *GenericStatefulSetBuilder) SetReplicas(replicas *int32)

type JobBuilder

type JobBuilder interface {
	Builder
	GetObject() *batchv1.Job

	AddContainers([]corev1.Container)
	AddContainer(corev1.Container)
	ResetContainers([]corev1.Container)
	GetContainers() []corev1.Container

	AddInitContainers([]corev1.Container)
	AddInitContainer(corev1.Container)
	ResetInitContainers([]corev1.Container)
	GetInitContainers() []corev1.Container

	AddVolumes([]corev1.Volume)
	AddVolume(corev1.Volume)
	ResetVolumes([]corev1.Volume)
	GetVolumes() []corev1.Volume

	SetRestPolicy(corev1.RestartPolicy)
}

type Options

type Options interface {
	GetClusterName() string
	GetName() string
	GetNamespace() string
	GetFullName() string
	GetLabels() map[string]string
	AddLabels(labels map[string]string)
	GetMatchingLabels() map[string]string
	GetAnnotations() map[string]string

	GetClusterOperation() *apiv1alpha1.ClusterOperationSpec
	GetImage() *util.Image
	GetPorts() []corev1.ContainerPort
	SetPorts(ports []corev1.ContainerPort)
}

type RoleBindingBuilder

type RoleBindingBuilder interface {
	Builder
	GetObject() *rbacv1.RoleBinding
}

type RoleBuilder

type RoleBuilder interface {
	Builder
	GetObject() *rbacv1.Role
}

type RoleGroupOptions

type RoleGroupOptions struct {
	RoleOptions
	Name     string
	Replicas *int32

	PodDisruptionBudget *apiv1alpha1.PodDisruptionBudgetSpec

	CommandOverrides []string
	EnvOverrides     map[string]string
	PodOverrides     *corev1.PodTemplateSpec
}

func (*RoleGroupOptions) GetFullName

func (o *RoleGroupOptions) GetFullName() string

func (*RoleGroupOptions) GetLabels

func (o *RoleGroupOptions) GetLabels() map[string]string

func (*RoleGroupOptions) GetMatchingLabels

func (o *RoleGroupOptions) GetMatchingLabels() map[string]string

func (*RoleGroupOptions) GetName

func (o *RoleGroupOptions) GetName() string

type RoleOptions

type RoleOptions struct {
	ClusterOptions
	Name string
}

func (*RoleOptions) GetFullName

func (o *RoleOptions) GetFullName() string

func (*RoleOptions) GetLabels

func (o *RoleOptions) GetLabels() map[string]string

func (*RoleOptions) GetMatchingLabels

func (o *RoleOptions) GetMatchingLabels() map[string]string

func (*RoleOptions) GetName

func (o *RoleOptions) GetName() string

type SecretBuilder

type SecretBuilder struct {
	BaseConfigBuilder
}

func NewSecretBuilder

func NewSecretBuilder(
	client *client.Client,
	options Options,
) *SecretBuilder

func (*SecretBuilder) Build

func (*SecretBuilder) GetObject

func (b *SecretBuilder) GetObject() *corev1.Secret

type ServiceAccountBuilder

type ServiceAccountBuilder interface {
	Builder
	GetObject() *corev1.ServiceAccount
}

type ServiceBuilder

type ServiceBuilder interface {
	Builder
	GetObject() *corev1.Service
	AddPort(port *corev1.ContainerPort)
	GetPorts() []corev1.ServicePort
	GetServiceType() corev1.ServiceType
}

type StatefulSetBuilder

type StatefulSetBuilder interface {
	Builder
	GetObject() *appv1.StatefulSet
	SetReplicas(replicas *int32)
	GetReplicas() *int32

	AddContainers(containers []corev1.Container)
	AddContainer(container corev1.Container)
	ResetContainers(containers []corev1.Container)
	GetContainers() []corev1.Container

	AddInitContainers(containers []corev1.Container)
	AddInitContainer(container corev1.Container)
	ResetInitContainers(containers []corev1.Container)
	GetInitContainers() []corev1.Container

	AddVolumes(volumes []corev1.Volume)
	AddVolume(volume corev1.Volume)
	ResetVolumes(volumes []corev1.Volume)
	GetVolumes() []corev1.Volume

	AddVolumeClaimTemplates(claims []corev1.PersistentVolumeClaim)
	AddVolumeClaimTemplate(claim corev1.PersistentVolumeClaim)
	ResetVolumeClaimTemplates(claims []corev1.PersistentVolumeClaim)
	GetVolumeClaimTemplates() []corev1.PersistentVolumeClaim

	AddTerminationGracePeriodSeconds(i int64)
	GetTerminationGracePeriodSeconds() *int64

	AddAffinity(affinity corev1.Affinity)
	GetAffinity() *corev1.Affinity
}

Jump to

Keyboard shortcuts

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