policy/frameworks/management/agent/main.zeek

Management::Agent::Runtime

This is the main “runtime” of a cluster agent. Zeek does not load this directly; rather, the agent’s bootstrapping module (in ./boot.zeek) specifies it as the script to run in the node newly created via Zeek’s supervisor.

Namespace

Management::Agent::Runtime

Imports

base/frameworks/broker, base/utils/paths.zeek, policy/frameworks/management, policy/frameworks/management/agent/api.zeek, policy/frameworks/management/agent/config.zeek, policy/frameworks/management/node/api.zeek, policy/frameworks/management/node/config.zeek, policy/frameworks/management/supervisor/api.zeek, policy/frameworks/management/supervisor/config.zeek

Summary

Types

Management::Agent::Runtime::DeployState: record

Request state for deploy requests.

Management::Agent::Runtime::NodeDispatchState: record

Request state for node dispatches, tracking the requested action as well as received responses.

Management::Agent::Runtime::RestartState: record

Request state for restart requests, tracking received responses.

Management::Agent::Runtime::SupervisorState: record

Request state specific to the agent’s Supervisor interactions.

Redefinitions

Management::Request::Request: record

New Fields

Management::Request::Request

supervisor_state_agent: Management::Agent::Runtime::SupervisorState &optional

deploy_state_agent: Management::Agent::Runtime::DeployState &optional

node_dispatch_state_agent: Management::Agent::Runtime::NodeDispatchState &optional

restart_state_agent: Management::Agent::Runtime::RestartState &optional

Management::Request::timeout_interval: interval &redef

Management::role: Management::Role &redef

table_expire_interval: interval &redef

Events

Management::Agent::Runtime::trigger_log_archival: event

Detailed Interface

Types

Management::Agent::Runtime::DeployState
Type

record

nodes_pending: set [string]

Zeek cluster nodes the provided configuration requested and which have not yet checked in with the agent.

Request state for deploy requests.

Management::Agent::Runtime::NodeDispatchState
Type

record

action: vector of string

The dispatched action. The first string is a command, any remaining strings its arguments.

requests: set [string] &default = {  } &optional

Request state for every node managed by this agent.

Request state for node dispatches, tracking the requested action as well as received responses.

Management::Agent::Runtime::RestartState
Type

record

requests: set [string] &default = {  } &optional

Request state for every node the agent asks the Supervisor to restart.

Request state for restart requests, tracking received responses.

Management::Agent::Runtime::SupervisorState
Type

record

node: string &default = "" &optional

Name of the node the Supervisor is acting on, if applicable.

status: Supervisor::Status &optional

The result of a status request.

restart_result: bool &optional

The result of a restart request.

Request state specific to the agent’s Supervisor interactions.

Events

Management::Agent::Runtime::trigger_log_archival
Type

event (run_archival: bool &default = T &optional)