Back to godoc.org

Package processmon

v10.286.1+incompatible
Latest Go to latest

The latest major version is .

Published: Jul 8, 2020 | License: Apache-2.0 | Module: go.aporeto.io/trireme-lib

Overview

Package processmon is to manage and monitor remote enforcers.

Index

type ProcessManager

type ProcessManager interface {
	KillRemoteEnforcer(contextID string, force bool) error
	LaunchRemoteEnforcer(contextID string, refPid int, refNsPath string, arg string, statssecret string, procMountPoint string, enforcerType policy.EnforcerType) (bool, error)
}

ProcessManager interface exposes methods implemented by a processmon

func New

func New(ctx context.Context, p *env.RemoteParameters, c chan *policy.RuntimeError, r rpcwrapper.RPCClient) ProcessManager

New is a method to create a new remote process monitor.

type RemoteMonitor

type RemoteMonitor struct {

	// DisableLogWrite flag tells if we are running in kubernetes.
	DisableLogWrite bool

	sync.Mutex
	// contains filtered or unexported fields
}

RemoteMonitor is an instance of processMonitor

func (*RemoteMonitor) KillRemoteEnforcer

func (p *RemoteMonitor) KillRemoteEnforcer(contextID string, force bool) error

KillRemoteEnforcer sends a rpc to the process to exit failing which it will kill the process

func (*RemoteMonitor) LaunchRemoteEnforcer

func (p *RemoteMonitor) LaunchRemoteEnforcer(
	contextID string,
	refPid int,
	refNSPath string,
	arg string,
	statsServerSecret string,
	procMountPoint string,
	enforcerType policy.EnforcerType,
) (bool, error)

LaunchRemoteEnforcer prepares the environment and launches the process. If the process is already launched, it will notify the caller, so that it can avoid any new initialization.

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier