Documentation ¶
Overview ¶
Package processmon is to manage and monitor remote enforcers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ProcessManager ¶
type ProcessManager interface { KillRemoteEnforcer(contextID string, force bool) error LaunchRemoteEnforcer(contextID string, refPid int, refNsPath string, arg string, statssecret string, procMountPoint string) (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, ) (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.
Directories ¶
Path | Synopsis |
---|---|
Package mockprocessmon is a generated GoMock package.
|
Package mockprocessmon is a generated GoMock package. |
Click to show internal directories.
Click to hide internal directories.