Documentation ¶
Index ¶
- Constants
- func CopyArchive(ctx context.Context, c KubernetesClientInterface, ...) error
- func GetContainerID(container *v1.ContainerStatus) string
- func KillGracefully(ctx context.Context, c KubernetesClientInterface, containerID string) error
- func TerminatePodWithContainerID(ctx context.Context, c KubernetesClientInterface, containerID string, ...) error
- func WaitForTermination(ctx context.Context, c KubernetesClientInterface, containerID string, ...) error
- type KubernetesClientInterface
Constants ¶
View Source
const KillGracePeriod = 30
killGracePeriod is the time in seconds after sending SIGTERM before forcefully killing the sidecar with SIGKILL (value matches k8s)
Variables ¶
This section is empty.
Functions ¶
func CopyArchive ¶
func CopyArchive(ctx context.Context, c KubernetesClientInterface, containerID, sourcePath, destPath string) error
CopyArchive downloads files and directories as a tarball and saves it to a specified path.
func GetContainerID ¶
func GetContainerID(container *v1.ContainerStatus) string
GetContainerID returns container ID of a ContainerStatus resource
func KillGracefully ¶
func KillGracefully(ctx context.Context, c KubernetesClientInterface, containerID string) error
KillGracefully kills a container gracefully.
func TerminatePodWithContainerID ¶
func TerminatePodWithContainerID(ctx context.Context, c KubernetesClientInterface, containerID 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, containerID string, timeout time.Duration) error
WaitForTermination of the given containerID, set the timeout to 0 to discard it
Types ¶
type KubernetesClientInterface ¶
type KubernetesClientInterface interface { GetContainerStatus(ctx context.Context, containerID string) (*v1.Pod, *v1.ContainerStatus, error) KillContainer(pod *v1.Pod, container *v1.ContainerStatus, sig syscall.Signal) error CreateArchive(ctx context.Context, containerID, sourcePath string) (*bytes.Buffer, error) }
KubernetesClientInterface is the interface to implement getContainerStatus method
Click to show internal directories.
Click to hide internal directories.