Documentation
¶
Index ¶
- Constants
- Variables
- func ContainerPorts2ServicePorts(port []corev1.ContainerPort) []corev1.ServicePortdeprecated
- func ListenerClass2ServiceType(listenerClass constants.ListenerClass) corev1.ServiceType
- func LogProviderCommand(entrypointScript string) ([]string, error)
- func PortsConverter(port []corev1.ContainerPort) []corev1.ServicePort
- func VectorCommand() []string
- func VectorCommandArgs() []string
- func VectorVolumeMount(vectorConfigVolumeName string, vectorLogVolumeName string) []corev1.VolumeMount
- type BaseConfigBuilder
- func (b *BaseConfigBuilder) AddData(data map[string]string) ConfigBuilder
- func (b *BaseConfigBuilder) AddItem(key, value string) ConfigBuilder
- func (b *BaseConfigBuilder) Build(_ context.Context) (ctrlclient.Object, error)
- func (b *BaseConfigBuilder) ClearData() ConfigBuilder
- func (b *BaseConfigBuilder) GetData() map[string]string
- func (b *BaseConfigBuilder) SetData(data map[string]string) ConfigBuilder
- type BaseServiceBuilder
- type BaseWorkloadBuilder
- func (b *BaseWorkloadBuilder) AddContainer(container *corev1.Container)
- func (b *BaseWorkloadBuilder) AddContainers(containers []corev1.Container)
- func (b *BaseWorkloadBuilder) AddInitContainer(container *corev1.Container)
- func (b *BaseWorkloadBuilder) AddInitContainers(containers []corev1.Container)
- func (b *BaseWorkloadBuilder) AddVolume(volume *corev1.Volume)
- func (b *BaseWorkloadBuilder) AddVolumes(volumes []corev1.Volume)
- func (b *BaseWorkloadBuilder) Build(ctx context.Context) (ctrlclient.Object, error)
- func (b *BaseWorkloadBuilder) GetAffinity() (*corev1.Affinity, error)
- func (b *BaseWorkloadBuilder) GetContainer(name string) *corev1.Container
- func (b *BaseWorkloadBuilder) GetContainers() []corev1.Container
- func (b *BaseWorkloadBuilder) GetImage() *util.Image
- func (b *BaseWorkloadBuilder) GetImagePullSecrets() []corev1.LocalObjectReference
- func (b *BaseWorkloadBuilder) GetImageWithTag() (string, error)
- func (b *BaseWorkloadBuilder) GetInitContainer(name string) *corev1.Container
- func (b *BaseWorkloadBuilder) GetInitContainers() []corev1.Container
- func (b *BaseWorkloadBuilder) GetPodTemplate() (*corev1.PodTemplateSpec, error)
- func (b *BaseWorkloadBuilder) GetResources() *commonsv1alpha1.ResourcesSpec
- func (b *BaseWorkloadBuilder) GetSecurityContext() *corev1.PodSecurityContext
- func (b *BaseWorkloadBuilder) GetTerminationGracePeriod() (*time.Duration, error)
- func (b *BaseWorkloadBuilder) GetTerminationGracePeriodSeconds() (*int64, error)
- func (b *BaseWorkloadBuilder) GetVolumes() []corev1.Volume
- func (b *BaseWorkloadBuilder) OverrideContainer()
- func (b *BaseWorkloadBuilder) ResetContainers(containers []corev1.Container)
- func (b *BaseWorkloadBuilder) ResetInitContainers(containers []corev1.Container)
- func (b *BaseWorkloadBuilder) ResetVolumes(volumes []corev1.Volume)
- func (b *BaseWorkloadBuilder) SetAffinity(affinity *corev1.Affinity)
- func (b *BaseWorkloadBuilder) SetImage(image *util.Image)
- func (b *BaseWorkloadBuilder) SetResources(resources *commonsv1alpha1.ResourcesSpec)
- func (b *BaseWorkloadBuilder) SetSecurityContext(user int64, group int64, nonRoot bool)
- type BaseWorkloadReplicasBuilder
- type Clienter
- type ClusterRoleBindingBuilder
- type ClusterRoleBuilder
- type ConfigBuilder
- type ConfigMapBuilder
- type Container
- func (b *Container) AddEnv(key, value string) ContainerBuilder
- func (b *Container) AddEnvFromConfigMap(configMapName string) ContainerBuilder
- func (b *Container) AddEnvFromSecret(secretName string) ContainerBuilder
- func (b *Container) AddEnvSource(envs []corev1.EnvFromSource) ContainerBuilder
- func (b *Container) AddEnvVar(env *corev1.EnvVar) ContainerBuilder
- func (b *Container) AddEnvVars(envVars []corev1.EnvVar) ContainerBuilder
- func (b *Container) AddEnvs(envs map[string]string) ContainerBuilder
- func (b *Container) AddPort(port corev1.ContainerPort)
- func (b *Container) AddPorts(ports []corev1.ContainerPort) ContainerBuilder
- func (b *Container) AddVolumeMount(mount *corev1.VolumeMount) ContainerBuilder
- func (b *Container) AddVolumeMounts(mounts []corev1.VolumeMount) ContainerBuilder
- func (b *Container) AutomaticSetProbe()
- func (b *Container) Build() *corev1.Container
- func (b *Container) GetEnvFrom() []corev1.EnvFromSource
- func (b *Container) GetEnvVars() []corev1.EnvVar
- func (b *Container) GetPorts() []corev1.ContainerPort
- func (b *Container) GetVolumeMounts() []corev1.VolumeMount
- func (b *Container) OverrideCommand(command []string) ContainerBuilder
- func (b *Container) OverrideEnv(envs map[string]string)
- func (b *Container) ResetEnvFrom(envs []corev1.EnvFromSource)
- func (b *Container) ResetEnvVars(envVars []corev1.EnvVar)
- func (b *Container) ResetPorts(ports []corev1.ContainerPort)
- func (b *Container) ResetVolumeMounts(mounts []corev1.VolumeMount)
- func (b *Container) SetArgs(args []string) ContainerBuilder
- func (b *Container) SetCommand(command []string) ContainerBuilder
- func (b *Container) SetImagePullPolicy(policy corev1.PullPolicy) ContainerBuilder
- func (b *Container) SetLivenessProbe(probe *corev1.Probe) ContainerBuilder
- func (b *Container) SetProbeWithHealth()
- func (b *Container) SetReadinessProbe(probe *corev1.Probe) ContainerBuilder
- func (b *Container) SetResources(resources *commonsv1alpha1.ResourcesSpec) ContainerBuilder
- func (b *Container) SetSecurityContext(user int64, group int64, nonRoot bool) ContainerBuilder
- func (b *Container) SetStartupProbe(probe *corev1.Probe) ContainerBuilder
- type ContainerBuilder
- type DefaultPDBBuilder
- type Deployment
- type DeploymentBuilder
- type GenericClusterRoleBindingBuilder
- func (b *GenericClusterRoleBindingBuilder) AddSubject(saName string) ClusterRoleBindingBuilder
- func (b *GenericClusterRoleBindingBuilder) Build(ctx context.Context) (ctrlclient.Object, error)
- func (b *GenericClusterRoleBindingBuilder) GetObject() *rbacv1.ClusterRoleBinding
- func (b *GenericClusterRoleBindingBuilder) SetClusterRoleBinding(obj *rbacv1.ClusterRoleBinding) ClusterRoleBindingBuilder
- func (b *GenericClusterRoleBindingBuilder) SetRoleRef(roleRefName string) ClusterRoleBindingBuilder
- func (b *GenericClusterRoleBindingBuilder) SetSubjects(saNames []string) ClusterRoleBindingBuilder
- type GenericClusterRoleBuilder
- type GenericRoleBindingBuilder
- func (b *GenericRoleBindingBuilder) AddSubject(saName string) RoleBindingBuilder
- func (b *GenericRoleBindingBuilder) Build(ctx context.Context) (ctrlclient.Object, error)
- func (b *GenericRoleBindingBuilder) GetObject() *rbacv1.RoleBinding
- func (b *GenericRoleBindingBuilder) SetRoleRef(roleRefName string, isCluster bool) RoleBindingBuilder
- func (b *GenericRoleBindingBuilder) SetSubjects(saNames []string) RoleBindingBuilder
- type GenericRoleBuilder
- func (b *GenericRoleBuilder) AddPolicyRule(rule rbacv1.PolicyRule)
- func (b *GenericRoleBuilder) AddPolicyRules(rules []rbacv1.PolicyRule)
- func (b *GenericRoleBuilder) Build(ctx context.Context) (ctrlclient.Object, error)
- func (b *GenericRoleBuilder) GetObject() *rbacv1.Role
- func (b *GenericRoleBuilder) ResetPolicyRules(rules []rbacv1.PolicyRule)
- func (b *GenericRoleBuilder) SetObject(obj *rbacv1.Role)
- type GenericServiceAccountBuilder
- type Job
- type JobBuilder
- type ListenerOperatorVolume
- type ObjectBuilder
- type ObjectMeta
- func (b *ObjectMeta) AddAnnotations(annotations map[string]string)
- func (b *ObjectMeta) AddLabels(labels map[string]string)
- func (b *ObjectMeta) GetAnnotations() map[string]string
- func (b *ObjectMeta) GetClient() *client.Client
- func (b *ObjectMeta) GetLabelSelector() *metav1.LabelSelector
- func (b *ObjectMeta) GetLabels() map[string]string
- func (b *ObjectMeta) GetMatchingLabels() map[string]string
- func (b *ObjectMeta) GetName() string
- func (b *ObjectMeta) GetObjectMeta() metav1.ObjectMeta
- func (b *ObjectMeta) GetObjectMetaWithClusterScope() metav1.ObjectMeta
- func (b *ObjectMeta) SetName(name string)
- type ObjectMetaBuilder
- type Option
- type Optioner
- type Options
- type PDBBuilderOption
- type PDBBuilderOptions
- type PodDisruptionBudgetBuilder
- type RoleBindingBuilder
- type RoleBuilder
- type SecretBuilder
- type SecretOperatorVolume
- func (s *SecretOperatorVolume) Builde() *corev1.Volume
- func (s *SecretOperatorVolume) SetCertJitterFactor(factor string)
- func (s *SecretOperatorVolume) SetCertLifeTime(lifetime string)
- func (s *SecretOperatorVolume) SetFormatName(format constants.SecretFormat)
- func (s *SecretOperatorVolume) SetKerberosServiceNames(service string, services ...string)
- func (s *SecretOperatorVolume) SetPKCS12Password(password string)
- func (s *SecretOperatorVolume) SetScope(pod, node bool, service, listenerVolume string)
- type ServiceAccountBuilder
- type ServiceBuilder
- type ServiceBuilderOption
- type ServiceBuilderOptions
- type StatefulSet
- func (b *StatefulSet) AddVolumeClaimTemplate(pvc *corev1.PersistentVolumeClaim)
- func (b *StatefulSet) AddVolumeClaimTemplates(claims []corev1.PersistentVolumeClaim)
- func (b *StatefulSet) Build(ctx context.Context) (ctrlclient.Object, error)
- func (b *StatefulSet) GetObject() (*appv1.StatefulSet, error)
- func (b *StatefulSet) GetVolumeClaimTemplates() []corev1.PersistentVolumeClaim
- func (b *StatefulSet) ResetVolumeClaimTemplates(claims []corev1.PersistentVolumeClaim)
- type StatefulSetBuilder
- type VectorDecorator
- type VolumeBuilder
- type WorkloadBuilder
- type WorkloadContainers
- type WorkloadDecorator
- type WorkloadReplicas
- type WorkloadVolumes
Constants ¶
const ( VectorContainerName = "vector" VectorConfigVolumeName = "config" VectorLogVolumeName = "log" VectorConfigFileName = "vector.yaml" )
Variables ¶
var ( HTTPGetProbHandler2PortNames = []string{"http", "ui", "metrics", "health"} TCPProbHandler2PortNames = []string{"master"} )
var ( VectorConfigFile = path.Join(constants.KubedoopConfigDir, VectorConfigFileName) VectorWatcherDir = path.Join(constants.KubedoopLogDir, "_vector") VectorShutdownFile = path.Join(VectorWatcherDir, "shutdown") )
var (
DefaultReplicas = int32(1)
)
var ErrNoContainers = errors.New("no containers defined")
Functions ¶
func ContainerPorts2ServicePorts
deprecated
added in
v0.8.0
func ContainerPorts2ServicePorts(port []corev1.ContainerPort) []corev1.ServicePort
Deprecated: Use PortsConverter instead
func ListenerClass2ServiceType ¶ added in v0.10.0
func ListenerClass2ServiceType(listenerClass constants.ListenerClass) corev1.ServiceType
ListenerClass2ServiceType converts listener class to k8s service type
ClusterInternal --> ClusterIP ExternalUnstable --> NodePort ExternalStable --> LoadBalancer Default --> ClusterIP
func LogProviderCommand ¶ added in v0.8.0
func PortsConverter ¶ added in v0.12.0
func PortsConverter(port []corev1.ContainerPort) []corev1.ServicePort
func VectorCommand ¶ added in v0.8.0
func VectorCommand() []string
func VectorCommandArgs ¶ added in v0.8.0
func VectorCommandArgs() []string
func VectorVolumeMount ¶ added in v0.8.0
func VectorVolumeMount(vectorConfigVolumeName string, vectorLogVolumeName string) []corev1.VolumeMount
Types ¶
type BaseConfigBuilder ¶
type BaseConfigBuilder struct { ObjectMeta // contains filtered or unexported fields }
func NewBaseConfigBuilder ¶
func NewBaseConfigBuilder( client *client.Client, name string, options ...Option, ) *BaseConfigBuilder
func (*BaseConfigBuilder) AddData ¶
func (b *BaseConfigBuilder) AddData(data map[string]string) ConfigBuilder
func (*BaseConfigBuilder) AddItem ¶ added in v0.10.0
func (b *BaseConfigBuilder) AddItem(key, value string) ConfigBuilder
func (*BaseConfigBuilder) Build ¶ added in v0.12.0
func (b *BaseConfigBuilder) Build(_ context.Context) (ctrlclient.Object, error)
func (*BaseConfigBuilder) ClearData ¶
func (b *BaseConfigBuilder) ClearData() ConfigBuilder
func (*BaseConfigBuilder) GetData ¶
func (b *BaseConfigBuilder) GetData() map[string]string
func (*BaseConfigBuilder) SetData ¶
func (b *BaseConfigBuilder) SetData(data map[string]string) ConfigBuilder
type BaseServiceBuilder ¶
type BaseServiceBuilder struct { ObjectMeta // contains filtered or unexported fields }
func NewServiceBuilder ¶
func NewServiceBuilder( client *client.Client, name string, ports []corev1.ContainerPort, options ...ServiceBuilderOption, ) *BaseServiceBuilder
func (*BaseServiceBuilder) AddPort ¶
func (b *BaseServiceBuilder) AddPort(port *corev1.ServicePort)
func (*BaseServiceBuilder) Build ¶
func (b *BaseServiceBuilder) Build(_ context.Context) (ctrlclient.Object, error)
func (*BaseServiceBuilder) GetObject ¶
func (b *BaseServiceBuilder) GetObject() *corev1.Service
func (*BaseServiceBuilder) GetPorts ¶
func (b *BaseServiceBuilder) GetPorts() []corev1.ServicePort
type BaseWorkloadBuilder ¶ added in v0.8.0
type BaseWorkloadBuilder struct { ObjectMeta Image *util.Image Overrides *commonsv1alpha1.OverridesSpec RoleGroupConfig *commonsv1alpha1.RoleGroupConfigSpec // contains filtered or unexported fields }
WorkloadOptions is a struct to hold the options for a workload
Note: The values of envOverrides and cliOverrides will only be overridden on the container with the same name as roleGroupInfo.RoleName, if roleGroupInfo exists and roleGroupInfo.RoleName has a value.
func NewBaseWorkloadBuilder ¶ added in v0.8.0
func NewBaseWorkloadBuilder( client *client.Client, name string, image *util.Image, overrides *commonsv1alpha1.OverridesSpec, roleGroupConfig *commonsv1alpha1.RoleGroupConfigSpec, options ...Option, ) *BaseWorkloadBuilder
func (*BaseWorkloadBuilder) AddContainer ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) AddContainer(container *corev1.Container)
func (*BaseWorkloadBuilder) AddContainers ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) AddContainers(containers []corev1.Container)
func (*BaseWorkloadBuilder) AddInitContainer ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) AddInitContainer(container *corev1.Container)
func (*BaseWorkloadBuilder) AddInitContainers ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) AddInitContainers(containers []corev1.Container)
func (*BaseWorkloadBuilder) AddVolume ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) AddVolume(volume *corev1.Volume)
func (*BaseWorkloadBuilder) AddVolumes ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) AddVolumes(volumes []corev1.Volume)
func (*BaseWorkloadBuilder) Build ¶ added in v0.12.0
func (b *BaseWorkloadBuilder) Build(ctx context.Context) (ctrlclient.Object, error)
func (*BaseWorkloadBuilder) GetAffinity ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) GetAffinity() (*corev1.Affinity, error)
func (*BaseWorkloadBuilder) GetContainer ¶ added in v0.12.0
func (b *BaseWorkloadBuilder) GetContainer(name string) *corev1.Container
func (*BaseWorkloadBuilder) GetContainers ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) GetContainers() []corev1.Container
func (*BaseWorkloadBuilder) GetImage ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) GetImage() *util.Image
func (*BaseWorkloadBuilder) GetImagePullSecrets ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) GetImagePullSecrets() []corev1.LocalObjectReference
func (*BaseWorkloadBuilder) GetImageWithTag ¶ added in v0.8.4
func (b *BaseWorkloadBuilder) GetImageWithTag() (string, error)
func (*BaseWorkloadBuilder) GetInitContainer ¶ added in v0.12.0
func (b *BaseWorkloadBuilder) GetInitContainer(name string) *corev1.Container
func (*BaseWorkloadBuilder) GetInitContainers ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) GetInitContainers() []corev1.Container
func (*BaseWorkloadBuilder) GetPodTemplate ¶ added in v0.12.0
func (b *BaseWorkloadBuilder) GetPodTemplate() (*corev1.PodTemplateSpec, error)
GetPodTemplate returns the pod template for the workload with overrides applied. All the overrides are applied to the pod template.
func (*BaseWorkloadBuilder) GetResources ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) GetResources() *commonsv1alpha1.ResourcesSpec
func (*BaseWorkloadBuilder) GetSecurityContext ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) GetSecurityContext() *corev1.PodSecurityContext
func (*BaseWorkloadBuilder) GetTerminationGracePeriod ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) GetTerminationGracePeriod() (*time.Duration, error)
func (*BaseWorkloadBuilder) GetTerminationGracePeriodSeconds ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) GetTerminationGracePeriodSeconds() (*int64, error)
func (*BaseWorkloadBuilder) GetVolumes ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) GetVolumes() []corev1.Volume
func (*BaseWorkloadBuilder) OverrideContainer ¶ added in v0.12.0
func (b *BaseWorkloadBuilder) OverrideContainer()
func (*BaseWorkloadBuilder) ResetContainers ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) ResetContainers(containers []corev1.Container)
func (*BaseWorkloadBuilder) ResetInitContainers ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) ResetInitContainers(containers []corev1.Container)
func (*BaseWorkloadBuilder) ResetVolumes ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) ResetVolumes(volumes []corev1.Volume)
func (*BaseWorkloadBuilder) SetAffinity ¶ added in v0.8.4
func (b *BaseWorkloadBuilder) SetAffinity(affinity *corev1.Affinity)
func (*BaseWorkloadBuilder) SetImage ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) SetImage(image *util.Image)
func (*BaseWorkloadBuilder) SetResources ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) SetResources(resources *commonsv1alpha1.ResourcesSpec)
func (*BaseWorkloadBuilder) SetSecurityContext ¶ added in v0.8.0
func (b *BaseWorkloadBuilder) SetSecurityContext(user int64, group int64, nonRoot bool)
type BaseWorkloadReplicasBuilder ¶ added in v0.8.0
type BaseWorkloadReplicasBuilder struct { BaseWorkloadBuilder // contains filtered or unexported fields }
func NewBaseWorkloadReplicasBuilder ¶ added in v0.8.0
func NewBaseWorkloadReplicasBuilder( client *client.Client, name string, replicas *int32, image *util.Image, overrides *commonsv1alpha1.OverridesSpec, roleGroupConfig *commonsv1alpha1.RoleGroupConfigSpec, options ...Option, ) *BaseWorkloadReplicasBuilder
func (*BaseWorkloadReplicasBuilder) GetReplicas ¶ added in v0.8.0
func (b *BaseWorkloadReplicasBuilder) GetReplicas() *int32
func (*BaseWorkloadReplicasBuilder) SetReplicas ¶ added in v0.8.0
func (b *BaseWorkloadReplicasBuilder) SetReplicas(replicas *int32)
type ClusterRoleBindingBuilder ¶
type ClusterRoleBindingBuilder interface { ObjectBuilder GetObject() *rbacv1.ClusterRoleBinding }
type ClusterRoleBuilder ¶
type ClusterRoleBuilder interface { ObjectBuilder GetObject() *rbacv1.ClusterRole }
type ConfigBuilder ¶
type ConfigBuilder interface { ObjectBuilder AddData(data map[string]string) ConfigBuilder AddItem(key, value string) ConfigBuilder SetData(data map[string]string) ConfigBuilder ClearData() ConfigBuilder GetData() map[string]string }
type ConfigMapBuilder ¶
type ConfigMapBuilder struct {
BaseConfigBuilder
}
func NewConfigMapBuilder ¶
func NewConfigMapBuilder( client *client.Client, name string, options ...Option, ) *ConfigMapBuilder
func (*ConfigMapBuilder) Build ¶
func (b *ConfigMapBuilder) Build(_ context.Context) (ctrlclient.Object, error)
func (*ConfigMapBuilder) GetObject ¶
func (b *ConfigMapBuilder) GetObject() *corev1.ConfigMap
type Container ¶ added in v0.8.0
func NewContainer ¶ added in v0.8.0
NewContainer returns a new Container
func (*Container) AddEnv ¶ added in v0.8.0
func (b *Container) AddEnv(key, value string) ContainerBuilder
func (*Container) AddEnvFromConfigMap ¶ added in v0.8.0
func (b *Container) AddEnvFromConfigMap(configMapName string) ContainerBuilder
func (*Container) AddEnvFromSecret ¶ added in v0.8.0
func (b *Container) AddEnvFromSecret(secretName string) ContainerBuilder
func (*Container) AddEnvSource ¶ added in v0.8.0
func (b *Container) AddEnvSource(envs []corev1.EnvFromSource) ContainerBuilder
func (*Container) AddEnvVar ¶ added in v0.8.0
func (b *Container) AddEnvVar(env *corev1.EnvVar) ContainerBuilder
func (*Container) AddEnvVars ¶ added in v0.8.0
func (b *Container) AddEnvVars(envVars []corev1.EnvVar) ContainerBuilder
func (*Container) AddEnvs ¶ added in v0.8.0
func (b *Container) AddEnvs(envs map[string]string) ContainerBuilder
func (*Container) AddPort ¶ added in v0.8.0
func (b *Container) AddPort(port corev1.ContainerPort)
func (*Container) AddPorts ¶ added in v0.8.0
func (b *Container) AddPorts(ports []corev1.ContainerPort) ContainerBuilder
func (*Container) AddVolumeMount ¶ added in v0.8.0
func (b *Container) AddVolumeMount(mount *corev1.VolumeMount) ContainerBuilder
func (*Container) AddVolumeMounts ¶ added in v0.8.0
func (b *Container) AddVolumeMounts(mounts []corev1.VolumeMount) ContainerBuilder
func (*Container) AutomaticSetProbe ¶ added in v0.8.0
func (b *Container) 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 (*Container) GetEnvFrom ¶ added in v0.8.0
func (b *Container) GetEnvFrom() []corev1.EnvFromSource
func (*Container) GetEnvVars ¶ added in v0.8.0
func (*Container) GetPorts ¶ added in v0.8.0
func (b *Container) GetPorts() []corev1.ContainerPort
func (*Container) GetVolumeMounts ¶ added in v0.8.0
func (b *Container) GetVolumeMounts() []corev1.VolumeMount
func (*Container) OverrideCommand ¶ added in v0.8.0
func (b *Container) OverrideCommand(command []string) ContainerBuilder
func (*Container) OverrideEnv ¶ added in v0.8.0
func (*Container) ResetEnvFrom ¶ added in v0.8.0
func (b *Container) ResetEnvFrom(envs []corev1.EnvFromSource)
func (*Container) ResetEnvVars ¶ added in v0.8.0
func (*Container) ResetPorts ¶ added in v0.8.0
func (b *Container) ResetPorts(ports []corev1.ContainerPort)
func (*Container) ResetVolumeMounts ¶ added in v0.8.0
func (b *Container) ResetVolumeMounts(mounts []corev1.VolumeMount)
func (*Container) SetArgs ¶ added in v0.8.0
func (b *Container) SetArgs(args []string) ContainerBuilder
func (*Container) SetCommand ¶ added in v0.8.0
func (b *Container) SetCommand(command []string) ContainerBuilder
func (*Container) SetImagePullPolicy ¶ added in v0.8.0
func (b *Container) SetImagePullPolicy(policy corev1.PullPolicy) ContainerBuilder
func (*Container) SetLivenessProbe ¶ added in v0.8.0
func (b *Container) SetLivenessProbe(probe *corev1.Probe) ContainerBuilder
func (*Container) SetProbeWithHealth ¶ added in v0.8.0
func (b *Container) SetProbeWithHealth()
func (*Container) SetReadinessProbe ¶ added in v0.8.0
func (b *Container) SetReadinessProbe(probe *corev1.Probe) ContainerBuilder
func (*Container) SetResources ¶ added in v0.8.0
func (b *Container) SetResources(resources *commonsv1alpha1.ResourcesSpec) ContainerBuilder
func (*Container) SetSecurityContext ¶ added in v0.8.0
func (b *Container) SetSecurityContext(user int64, group int64, nonRoot bool) ContainerBuilder
func (*Container) SetStartupProbe ¶ added in v0.8.0
func (b *Container) SetStartupProbe(probe *corev1.Probe) ContainerBuilder
type ContainerBuilder ¶
type ContainerBuilder interface { Build() *corev1.Container SetImagePullPolicy(policy corev1.PullPolicy) ContainerBuilder AddVolumeMounts(mounts []corev1.VolumeMount) ContainerBuilder AddVolumeMount(mount *corev1.VolumeMount) ContainerBuilder AddEnvVars(envs []corev1.EnvVar) ContainerBuilder AddEnvVar(env *corev1.EnvVar) ContainerBuilder AddEnvs(envs map[string]string) ContainerBuilder AddEnv(name, value string) ContainerBuilder AddEnvSource(envs []corev1.EnvFromSource) ContainerBuilder AddEnvFromSecret(secretName string) ContainerBuilder AddEnvFromConfigMap(configMapName string) ContainerBuilder AddPorts(ports []corev1.ContainerPort) ContainerBuilder SetCommand(command []string) ContainerBuilder SetArgs(args []string) ContainerBuilder OverrideCommand(command []string) ContainerBuilder SetResources(resources *commonsv1alpha1.ResourcesSpec) ContainerBuilder SetLivenessProbe(probe *corev1.Probe) ContainerBuilder SetReadinessProbe(probe *corev1.Probe) ContainerBuilder SetStartupProbe(probe *corev1.Probe) ContainerBuilder SetSecurityContext(user int64, group int64, nonRoot bool) ContainerBuilder }
ContainerBuilder is an interface for building a container implementation with build pattern
func NewContainerBuilder ¶ added in v0.8.0
func NewContainerBuilder( name string, image *util.Image, ) ContainerBuilder
NewContainerBuilder returns a new ContainerBuilder This method return a ContainerBuilder interface Example:
image := util.Image{Custom: "nginx"} fooContainer := builder.NewContainerBuilder("foo", "nginx"). SetImagePullPolicy(corev1.PullAlways). Build()
type DefaultPDBBuilder ¶ added in v0.11.0
type DefaultPDBBuilder struct { ObjectMeta // contains filtered or unexported fields }
func NewDefaultPDBBuilder ¶ added in v0.11.0
func NewDefaultPDBBuilder( client *client.Client, name string, options ...PDBBuilderOption, ) (*DefaultPDBBuilder, error)
func (*DefaultPDBBuilder) Build ¶ added in v0.11.0
func (d *DefaultPDBBuilder) Build(ctx context.Context) (ctrlclient.Object, error)
Build implements PodDisruptionBudgetBuilder. Subtle: this method shadows the method (BaseObjectBuilder).Build of DefaultPodDisruptionBudgetBuilder.BaseObjectBuilder.
func (*DefaultPDBBuilder) GetObject ¶ added in v0.11.0
func (d *DefaultPDBBuilder) GetObject() (*policyv1.PodDisruptionBudget, error)
You can specify only one of maxUnavailable and minAvailable in a single PodDisruptionBudget. maxUnavailable can only be used to control the eviction of pods that have an associated controller managing them.
func (*DefaultPDBBuilder) SetMaxUnavailable ¶ added in v0.11.0
func (d *DefaultPDBBuilder) SetMaxUnavailable(value *int32)
SetMaxUnavailable implements PodDisruptionBudgetBuilder.
func (*DefaultPDBBuilder) SetMinAvailable ¶ added in v0.11.0
func (d *DefaultPDBBuilder) SetMinAvailable(value *int32)
SetMinAvailable implements PodDisruptionBudgetBuilder.
type Deployment ¶ added in v0.8.0
type Deployment struct {
BaseWorkloadReplicasBuilder
}
func NewDeployment ¶ added in v0.8.0
func NewDeployment( client *client.Client, name string, replicas *int32, image *util.Image, overrides *commonsv1alpha1.OverridesSpec, roleGroupConfig *commonsv1alpha1.RoleGroupConfigSpec, options ...Option, ) *Deployment
func (*Deployment) Build ¶ added in v0.8.0
func (b *Deployment) Build(_ context.Context) (ctrlclient.Object, error)
func (*Deployment) GetObject ¶ added in v0.8.0
func (b *Deployment) GetObject() (*appv1.Deployment, error)
type DeploymentBuilder ¶
type DeploymentBuilder interface { WorkloadBuilder WorkloadReplicas GetObject() (*appv1.Deployment, error) }
type GenericClusterRoleBindingBuilder ¶
type GenericClusterRoleBindingBuilder struct { ObjectMeta // contains filtered or unexported fields }
func NewGenericClusterRoleBindingBuilder ¶
func NewGenericClusterRoleBindingBuilder( client *resourceClient.Client, name string, options ...Option, ) *GenericClusterRoleBindingBuilder
func (*GenericClusterRoleBindingBuilder) AddSubject ¶ added in v0.9.1
func (b *GenericClusterRoleBindingBuilder) AddSubject(saName string) ClusterRoleBindingBuilder
add subect
func (*GenericClusterRoleBindingBuilder) Build ¶
func (b *GenericClusterRoleBindingBuilder) Build(ctx context.Context) (ctrlclient.Object, error)
func (*GenericClusterRoleBindingBuilder) GetObject ¶
func (b *GenericClusterRoleBindingBuilder) GetObject() *rbacv1.ClusterRoleBinding
func (*GenericClusterRoleBindingBuilder) SetClusterRoleBinding ¶ added in v0.9.1
func (b *GenericClusterRoleBindingBuilder) SetClusterRoleBinding(obj *rbacv1.ClusterRoleBinding) ClusterRoleBindingBuilder
set clusterRoleBinding
func (*GenericClusterRoleBindingBuilder) SetRoleRef ¶ added in v0.9.1
func (b *GenericClusterRoleBindingBuilder) SetRoleRef(roleRefName string) ClusterRoleBindingBuilder
set roleref when obj not provided, need to set it, after the resource is applied, the roleRef is Immutable
func (*GenericClusterRoleBindingBuilder) SetSubjects ¶ added in v0.9.1
func (b *GenericClusterRoleBindingBuilder) SetSubjects(saNames []string) ClusterRoleBindingBuilder
set subjects after the resource is applied, the subjects can be set continuously
type GenericClusterRoleBuilder ¶
type GenericClusterRoleBuilder struct { ObjectMeta // contains filtered or unexported fields }
func NewGenericClusterRoleBuilder ¶
func NewGenericClusterRoleBuilder( client *resourceClient.Client, name string, options ...Option, ) *GenericClusterRoleBuilder
func (*GenericClusterRoleBuilder) Build ¶
func (b *GenericClusterRoleBuilder) Build(ctx context.Context) (ctrlclient.Object, error)
func (*GenericClusterRoleBuilder) GetObject ¶
func (b *GenericClusterRoleBuilder) GetObject() *rbacv1.ClusterRole
type GenericRoleBindingBuilder ¶
type GenericRoleBindingBuilder struct { ObjectMeta // contains filtered or unexported fields }
func NewGenericRoleBindingBuilder ¶
func NewGenericRoleBindingBuilder( client *resourceClient.Client, name string, options ...Option, ) *GenericRoleBindingBuilder
func (*GenericRoleBindingBuilder) AddSubject ¶ added in v0.9.1
func (b *GenericRoleBindingBuilder) AddSubject(saName string) RoleBindingBuilder
add subect
func (*GenericRoleBindingBuilder) Build ¶
func (b *GenericRoleBindingBuilder) Build(ctx context.Context) (ctrlclient.Object, error)
func (*GenericRoleBindingBuilder) GetObject ¶
func (b *GenericRoleBindingBuilder) GetObject() *rbacv1.RoleBinding
func (*GenericRoleBindingBuilder) SetRoleRef ¶ added in v0.9.1
func (b *GenericRoleBindingBuilder) SetRoleRef(roleRefName string, isCluster bool) RoleBindingBuilder
set roleref when obj not provided, need to set it, after the resource is applied, the roleRef is Immutable
func (*GenericRoleBindingBuilder) SetSubjects ¶ added in v0.9.1
func (b *GenericRoleBindingBuilder) SetSubjects(saNames []string) RoleBindingBuilder
set subjects after the resource is applied, the subjects can be set continuously
type GenericRoleBuilder ¶
type GenericRoleBuilder struct { ObjectMeta // contains filtered or unexported fields }
func NewGenericRoleBuilder ¶
func NewGenericRoleBuilder( client *resourceClient.Client, name string, options ...Option, ) *GenericRoleBuilder
func (*GenericRoleBuilder) AddPolicyRule ¶ added in v0.11.0
func (b *GenericRoleBuilder) AddPolicyRule(rule rbacv1.PolicyRule)
func (*GenericRoleBuilder) AddPolicyRules ¶ added in v0.11.0
func (b *GenericRoleBuilder) AddPolicyRules(rules []rbacv1.PolicyRule)
func (*GenericRoleBuilder) Build ¶
func (b *GenericRoleBuilder) Build(ctx context.Context) (ctrlclient.Object, error)
func (*GenericRoleBuilder) GetObject ¶
func (b *GenericRoleBuilder) GetObject() *rbacv1.Role
func (*GenericRoleBuilder) ResetPolicyRules ¶ added in v0.11.0
func (b *GenericRoleBuilder) ResetPolicyRules(rules []rbacv1.PolicyRule)
func (*GenericRoleBuilder) SetObject ¶ added in v0.11.0
func (b *GenericRoleBuilder) SetObject(obj *rbacv1.Role)
set obj
type GenericServiceAccountBuilder ¶
type GenericServiceAccountBuilder struct { ObjectMeta // contains filtered or unexported fields }
func NewGenericServiceAccountBuilder ¶
func NewGenericServiceAccountBuilder( client *resourceClient.Client, name string, options ...Option, ) *GenericServiceAccountBuilder
func (*GenericServiceAccountBuilder) Build ¶
func (b *GenericServiceAccountBuilder) Build(ctx context.Context) (ctrlclient.Object, error)
func (*GenericServiceAccountBuilder) GetObject ¶
func (b *GenericServiceAccountBuilder) GetObject() *corev1.ServiceAccount
type Job ¶ added in v0.8.4
type Job struct { BaseWorkloadBuilder // contains filtered or unexported fields }
func (*Job) SetRestPolicy ¶ added in v0.8.4
func (b *Job) SetRestPolicy(policy *corev1.RestartPolicy)
type JobBuilder ¶
type JobBuilder interface { WorkloadBuilder GetObject() (*batchv1.Job, error) SetRestPolicy(policy *corev1.RestartPolicy) }
func NewGenericJobBuilder ¶
func NewGenericJobBuilder( client *resourceClient.Client, name string, image *util.Image, overrides *commonsv1alpha1.OverridesSpec, roleGroupConfig *commonsv1alpha1.RoleGroupConfigSpec, options ...Option, ) JobBuilder
type ListenerOperatorVolume ¶ added in v0.8.6
type ListenerOperatorVolume struct { Name string ListenerClass string // contains filtered or unexported fields }
func NewListenerOperatorVolume ¶ added in v0.8.6
func NewListenerOperatorVolume(name, listenerClass string) *ListenerOperatorVolume
func (*ListenerOperatorVolume) Builde ¶ added in v0.8.6
func (l *ListenerOperatorVolume) Builde() *corev1.Volume
func (*ListenerOperatorVolume) SetListenerName ¶ added in v0.8.6
func (l *ListenerOperatorVolume) SetListenerName(name string)
type ObjectBuilder ¶ added in v0.12.0
type ObjectBuilder interface { ObjectMetaBuilder Build(ctx context.Context) (ctrlclient.Object, error) }
type ObjectMeta ¶ added in v0.12.0
type ObjectMeta struct { Client *client.Client Name string // this is resource name when creating ClusterName string RoleName string RoleGroupName string // contains filtered or unexported fields }
func NewObjectMeta ¶ added in v0.12.0
func NewObjectMeta( client *client.Client, name string, options ...Option, ) *ObjectMeta
func (*ObjectMeta) AddAnnotations ¶ added in v0.12.0
func (b *ObjectMeta) AddAnnotations(annotations map[string]string)
func (*ObjectMeta) AddLabels ¶ added in v0.12.0
func (b *ObjectMeta) AddLabels(labels map[string]string)
func (*ObjectMeta) GetAnnotations ¶ added in v0.12.0
func (b *ObjectMeta) GetAnnotations() map[string]string
func (*ObjectMeta) GetClient ¶ added in v0.12.0
func (b *ObjectMeta) GetClient() *client.Client
func (*ObjectMeta) GetLabelSelector ¶ added in v0.12.0
func (b *ObjectMeta) GetLabelSelector() *metav1.LabelSelector
func (*ObjectMeta) GetLabels ¶ added in v0.12.0
func (b *ObjectMeta) GetLabels() map[string]string
func (*ObjectMeta) GetMatchingLabels ¶ added in v0.12.0
func (b *ObjectMeta) GetMatchingLabels() map[string]string
func (*ObjectMeta) GetName ¶ added in v0.12.0
func (b *ObjectMeta) GetName() string
func (*ObjectMeta) GetObjectMeta ¶ added in v0.12.0
func (b *ObjectMeta) GetObjectMeta() metav1.ObjectMeta
func (*ObjectMeta) GetObjectMetaWithClusterScope ¶ added in v0.12.0
func (b *ObjectMeta) GetObjectMetaWithClusterScope() metav1.ObjectMeta
GetObjectMetaWithClusterScope returns the object meta with cluster scope, meaning that the object is not namespaced.
func (*ObjectMeta) SetName ¶ added in v0.12.0
func (b *ObjectMeta) SetName(name string)
type ObjectMetaBuilder ¶ added in v0.12.0
type Options ¶
type PDBBuilderOption ¶ added in v0.11.0
type PDBBuilderOption func(*PDBBuilderOptions)
type PDBBuilderOptions ¶ added in v0.11.0
type PodDisruptionBudgetBuilder ¶ added in v0.11.0
type PodDisruptionBudgetBuilder interface { ObjectBuilder GetObject() (*policyv1.PodDisruptionBudget, error) SetMinAvailable(min *int32) }
type RoleBindingBuilder ¶
type RoleBindingBuilder interface { ObjectBuilder GetObject() *rbacv1.RoleBinding }
type RoleBuilder ¶
type RoleBuilder interface { ObjectBuilder GetObject() *rbacv1.Role }
type SecretBuilder ¶
type SecretBuilder struct {
BaseConfigBuilder
}
func NewSecretBuilder ¶
func NewSecretBuilder( client *client.Client, name string, options ...Option, ) *SecretBuilder
func (*SecretBuilder) Build ¶
func (b *SecretBuilder) Build(_ context.Context) (ctrlclient.Object, error)
func (*SecretBuilder) GetObject ¶
func (b *SecretBuilder) GetObject() *corev1.Secret
type SecretOperatorVolume ¶ added in v0.8.6
type SecretOperatorVolume struct { Name string SecretClass string // contains filtered or unexported fields }
func NewSecretOperatorVolume ¶ added in v0.8.6
func NewSecretOperatorVolume(name, secretClass string) *SecretOperatorVolume
func (*SecretOperatorVolume) Builde ¶ added in v0.8.6
func (s *SecretOperatorVolume) Builde() *corev1.Volume
func (*SecretOperatorVolume) SetCertJitterFactor ¶ added in v0.8.6
func (s *SecretOperatorVolume) SetCertJitterFactor(factor string)
func (*SecretOperatorVolume) SetCertLifeTime ¶ added in v0.8.6
func (s *SecretOperatorVolume) SetCertLifeTime(lifetime string)
func (*SecretOperatorVolume) SetFormatName ¶ added in v0.8.6
func (s *SecretOperatorVolume) SetFormatName(format constants.SecretFormat)
func (*SecretOperatorVolume) SetKerberosServiceNames ¶ added in v0.8.6
func (s *SecretOperatorVolume) SetKerberosServiceNames(service string, services ...string)
func (*SecretOperatorVolume) SetPKCS12Password ¶ added in v0.8.6
func (s *SecretOperatorVolume) SetPKCS12Password(password string)
func (*SecretOperatorVolume) SetScope ¶ added in v0.8.6
func (s *SecretOperatorVolume) SetScope(pod, node bool, service, listenerVolume string)
type ServiceAccountBuilder ¶
type ServiceAccountBuilder interface { ObjectBuilder GetObject() *corev1.ServiceAccount }
type ServiceBuilder ¶
type ServiceBuilder interface { ObjectBuilder GetObject() *corev1.Service AddPort(port *corev1.ServicePort) GetPorts() []corev1.ServicePort }
type ServiceBuilderOption ¶ added in v0.10.0
type ServiceBuilderOption func(*ServiceBuilderOptions)
type ServiceBuilderOptions ¶ added in v0.10.0
type StatefulSet ¶ added in v0.8.0
type StatefulSet struct { BaseWorkloadReplicasBuilder // contains filtered or unexported fields }
func NewStatefulSetBuilder ¶ added in v0.8.0
func NewStatefulSetBuilder( client *client.Client, name string, replicas *int32, image *util.Image, overrides *commonsv1alpha1.OverridesSpec, roleGroupConfig *commonsv1alpha1.RoleGroupConfigSpec, options ...Option, ) *StatefulSet
func (*StatefulSet) AddVolumeClaimTemplate ¶ added in v0.8.0
func (b *StatefulSet) AddVolumeClaimTemplate(pvc *corev1.PersistentVolumeClaim)
func (*StatefulSet) AddVolumeClaimTemplates ¶ added in v0.8.0
func (b *StatefulSet) AddVolumeClaimTemplates(claims []corev1.PersistentVolumeClaim)
func (*StatefulSet) Build ¶ added in v0.8.0
func (b *StatefulSet) Build(ctx context.Context) (ctrlclient.Object, error)
func (*StatefulSet) GetObject ¶ added in v0.8.0
func (b *StatefulSet) GetObject() (*appv1.StatefulSet, error)
func (*StatefulSet) GetVolumeClaimTemplates ¶ added in v0.8.0
func (b *StatefulSet) GetVolumeClaimTemplates() []corev1.PersistentVolumeClaim
func (*StatefulSet) ResetVolumeClaimTemplates ¶ added in v0.8.0
func (b *StatefulSet) ResetVolumeClaimTemplates(claims []corev1.PersistentVolumeClaim)
type StatefulSetBuilder ¶
type StatefulSetBuilder interface { WorkloadBuilder WorkloadReplicas GetObject() (*appv1.StatefulSet, error) AddVolumeClaimTemplates(claims []corev1.PersistentVolumeClaim) AddVolumeClaimTemplate(claim *corev1.PersistentVolumeClaim) ResetVolumeClaimTemplates(claims []corev1.PersistentVolumeClaim) GetVolumeClaimTemplates() []corev1.PersistentVolumeClaim }
type VectorDecorator ¶ added in v0.8.0
type VectorDecorator struct { WorkloadObject ctrlclient.Object Image *util.Image LogVolumeName string VectorConfigVolumeName string VectorConfigMapName string LogProviderContainerName []string // optional }
func NewVectorDecorator ¶ added in v0.9.2
func NewVectorDecorator( workloadObject ctrlclient.Object, image *util.Image, logVolumeName string, vectorConfigVolumeName string, vectorConfigMapName string, ) *VectorDecorator
func (*VectorDecorator) Decorate ¶ added in v0.8.0
func (v *VectorDecorator) Decorate() error
func (*VectorDecorator) NewVectorContainer ¶ added in v0.8.0
func (v *VectorDecorator) NewVectorContainer() *corev1.Container
type VolumeBuilder ¶ added in v0.8.6
type WorkloadBuilder ¶ added in v0.12.0
type WorkloadBuilder interface { ObjectBuilder WorkloadContainers WorkloadVolumes SetImage(image *util.Image) GetImage() *util.Image GetImageWithTag() (string, error) SetSecurityContext(user int64, group int64, nonRoot bool) GetSecurityContext() *corev1.PodSecurityContext SetAffinity(affinity *corev1.Affinity) GetAffinity() (*corev1.Affinity, error) SetResources(resources *commonsv1alpha1.ResourcesSpec) GetResources() *commonsv1alpha1.ResourcesSpec GetTerminationGracePeriod() (*time.Duration, error) GetTerminationGracePeriodSeconds() (*int64, error) }
type WorkloadContainers ¶ added in v0.8.0
type WorkloadContainers interface { 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 }
type WorkloadDecorator ¶ added in v0.8.0
type WorkloadDecorator interface {
Decorate() error
}