trireme-lib: Index | Files | Directories

package processmon

import ""

Package processmon is to manage and monitor remote enforcers.


Package Files

interfaces.go processmon.go

type ProcessManager Uses

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 Uses

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 Uses

type RemoteMonitor struct {

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

    // contains filtered or unexported fields

RemoteMonitor is an instance of processMonitor

func (*RemoteMonitor) KillRemoteEnforcer Uses

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 Uses

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.


mockprocessmonPackage mockprocessmon is a generated GoMock package.

Package processmon imports 21 packages (graph) and is imported by 2 packages. Updated 2020-04-05. Refresh now. Tools for package owners.