mutator

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyFluidObjectSpecs

func ApplyFluidObjectSpecs(pod common.FluidObject, specs *MutatingPodSpecs) error

Types

type DefaultMutator

type DefaultMutator struct {
	Specs *MutatingPodSpecs
	// contains filtered or unexported fields
}

TODO: DefaultMutator will be rewritten with polymorphism withe platform-specific mutation logic

func (*DefaultMutator) GetMutatedPodSpecs

func (mutator *DefaultMutator) GetMutatedPodSpecs() *MutatingPodSpecs

func (*DefaultMutator) MutateWithRuntimeInfo

func (mutator *DefaultMutator) MutateWithRuntimeInfo(pvcName string, runtimeInfo base.RuntimeInfoInterface, nameSuffix string) error

func (*DefaultMutator) PostMutate

func (mutator *DefaultMutator) PostMutate() error

type MutatingPodSpecs

type MutatingPodSpecs struct {
	Volumes        []corev1.Volume
	VolumeMounts   []corev1.VolumeMount
	Containers     []corev1.Container
	InitContainers []corev1.Container
	MetaObj        metav1.ObjectMeta
}

func CollectFluidObjectSpecs

func CollectFluidObjectSpecs(pod common.FluidObject) (*MutatingPodSpecs, error)

type Mutator

type Mutator interface {
	MutateWithRuntimeInfo(pvcName string, runtimeInfo base.RuntimeInfoInterface, nameSuffix string) error

	PostMutate() error

	GetMutatedPodSpecs() *MutatingPodSpecs
}

Mutator is the fuse sidecar mutator for platform-specific mutation logic.

func BuildMutator

func BuildMutator(opts MutatorBuildOpts, platform string) (Mutator, error)

func NewDefaultMutator

func NewDefaultMutator(opts MutatorBuildOpts) Mutator

func NewUnprivilegedMutator

func NewUnprivilegedMutator(opts MutatorBuildOpts) Mutator

type MutatorBuildOpts

type MutatorBuildOpts struct {
	Options common.FuseSidecarInjectOption
	Client  client.Client
	Log     logr.Logger
	Specs   *MutatingPodSpecs
}

type UnprivilegedMutator

type UnprivilegedMutator struct {
	// UnprivilegedMutator inherits from DefaultMutator
	DefaultMutator
}

func (*UnprivilegedMutator) GetMutatedPodSpecs

func (mutator *UnprivilegedMutator) GetMutatedPodSpecs() *MutatingPodSpecs

func (*UnprivilegedMutator) MutateWithRuntimeInfo

func (mutator *UnprivilegedMutator) MutateWithRuntimeInfo(pvcName string, runtimeInfo base.RuntimeInfoInterface, nameSuffix string) error

func (*UnprivilegedMutator) PostMutate

func (mutator *UnprivilegedMutator) PostMutate() error

Jump to

Keyboard shortcuts

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