common

package
v3.2.5 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2021 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllTerminated

func AllTerminated(containerStatuses []v1.ContainerStatus, containerNames []string) bool

func CopyArchive

func CopyArchive(ctx context.Context, c KubernetesClientInterface, containerName, sourcePath, destPath string) error

CopyArchive downloads files and directories as a tarball and saves it to a specified path.

func GetContainerID

func GetContainerID(container string) string

GetContainerID returns container ID of a ContainerStatus resource

func KillGracefully

func KillGracefully(ctx context.Context, c KubernetesClientInterface, containerNames []string, terminationGracePeriodDuration time.Duration) error

KillGracefully kills a container gracefully.

func TerminatePodWithContainerNames

func TerminatePodWithContainerNames(ctx context.Context, c KubernetesClientInterface, containerNames []string, sig syscall.Signal) error

TerminatePodWithContainerID invoke the given SIG against the PID1 of the container. No-op if the container is on the hostPID

func WaitForTermination

func WaitForTermination(ctx context.Context, c KubernetesClientInterface, containerNames []string, timeout time.Duration) error

WaitForTermination of the given containerName, set the timeout to 0 to discard it

Types

type KubernetesClientInterface

type KubernetesClientInterface interface {
	GetContainerStatuses(ctx context.Context) (*v1.Pod, []v1.ContainerStatus, error)
	KillContainer(pod *v1.Pod, container *v1.ContainerStatus, sig syscall.Signal) error
	CreateArchive(ctx context.Context, containerName, sourcePath string) (*bytes.Buffer, error)
}

KubernetesClientInterface is the interface to implement getContainerStatus method

Jump to

Keyboard shortcuts

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