mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
init-bare/zeek-setup: Groundwork for instantiating cluster backends
This commit is contained in:
parent
fdde1e9841
commit
b3080f2652
2 changed files with 35 additions and 3 deletions
|
@ -5756,6 +5756,16 @@ export {
|
|||
|
||||
## Cluster backend to use. Default is the broker backend.
|
||||
const backend = Cluster::CLUSTER_BACKEND_BROKER &redef;
|
||||
|
||||
## The event serializer to use by the cluster backend.
|
||||
##
|
||||
## This currently has no effect for backend BROKER.
|
||||
const event_serializer = Cluster::EVENT_SERIALIZER_BROKER_BIN_V1 &redef;
|
||||
|
||||
## The log serializer to use by the backend.
|
||||
##
|
||||
## This currently has no effect for backend BROKER.
|
||||
const log_serializer = Cluster::LOG_SERIALIZER_ZEEK_BIN_V1 &redef;
|
||||
}
|
||||
|
||||
module Weird;
|
||||
|
|
|
@ -831,9 +831,31 @@ SetupResult setup(int argc, char** argv, Options* zopts) {
|
|||
cluster::backend = broker_mgr;
|
||||
}
|
||||
else {
|
||||
reporter->Error("Unsupported cluster backend configured: %s",
|
||||
zeek::obj_desc_short(cluster_backend_val.get()).c_str());
|
||||
exit(1);
|
||||
const auto& event_serializer_val = id::find_val<zeek::EnumVal>("Cluster::event_serializer");
|
||||
auto event_serializer = cluster::manager->InstantiateEventSerializer(event_serializer_val);
|
||||
if ( ! event_serializer ) {
|
||||
reporter->Error("Failed to instantiate event serializer: %s",
|
||||
zeek::obj_desc(event_serializer_val.get()).c_str());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
const auto& log_serializer_val = id::find_val<zeek::EnumVal>("Cluster::log_serializer");
|
||||
auto log_serializer = cluster::manager->InstantiateLogSerializer(log_serializer_val);
|
||||
if ( ! log_serializer ) {
|
||||
reporter->Error("Failed to instantiate log serializer: %s",
|
||||
zeek::obj_desc(log_serializer_val.get()).c_str());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
auto backend = cluster::manager->InstantiateBackend(cluster_backend_val, std::move(event_serializer),
|
||||
std::move(log_serializer));
|
||||
if ( ! backend ) {
|
||||
reporter->Error("Failed to instantiate cluster backend: %s",
|
||||
zeek::obj_desc_short(cluster_backend_val.get()).c_str());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
cluster::backend = backend.release();
|
||||
}
|
||||
|
||||
broker_mgr->InitPostScript();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue