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.
|
## Cluster backend to use. Default is the broker backend.
|
||||||
const backend = Cluster::CLUSTER_BACKEND_BROKER &redef;
|
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;
|
module Weird;
|
||||||
|
|
|
@ -831,11 +831,33 @@ SetupResult setup(int argc, char** argv, Options* zopts) {
|
||||||
cluster::backend = broker_mgr;
|
cluster::backend = broker_mgr;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
reporter->Error("Unsupported cluster backend configured: %s",
|
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());
|
zeek::obj_desc_short(cluster_backend_val.get()).c_str());
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cluster::backend = backend.release();
|
||||||
|
}
|
||||||
|
|
||||||
broker_mgr->InitPostScript();
|
broker_mgr->InitPostScript();
|
||||||
if ( cluster::backend != broker_mgr )
|
if ( cluster::backend != broker_mgr )
|
||||||
cluster::backend->InitPostScript();
|
cluster::backend->InitPostScript();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue