zeek/scripts/policy/frameworks/management/controller
Christian Kreibich 46db4a0e71 Management framework: introduce state machine for configs and persist them
The controller now knows three states that a cluster configuration can be in:

- STAGED: as uploaded by the client
- READY: with needed tweaks applied, e.g. to fill in ports
- DEPLOYED: as sent off to agents for deployment

These states aren't exclusive, they represent checkpoints that a config goes
through from upload through deployment. A deployed configuration will also exist
in its STAGED and READY versions, unless a client has uploaded a new
configuration, which will overwrite the STAGED and READY ones.

The controller saves all of these in a table, which lets us use Broker to
persist all states to disk. We use &broker_allow_complex_type, since we only
ever store entire configurations.
2022-06-21 17:22:45 -07:00
..
__load__.zeek Management framework: distinguish supervisor/supervisee when loading agent/controller 2022-05-25 13:56:23 -07:00
api.zeek Management framework: introduce deployment API in controller 2022-06-21 17:22:45 -07:00
boot.zeek Management framework: enable stdout/stderr reporting 2022-05-31 12:55:21 -07:00
config.zeek Management framework: introduce state machine for configs and persist them 2022-06-21 17:22:45 -07:00
main.zeek Management framework: introduce state machine for configs and persist them 2022-06-21 17:22:45 -07:00