In our environment processes run in isolated process namespaces and cannot send signals to each other.
We need to implement correct log rotation for envoy, and possible solution is to expose /reopen_logs admin handler which triggers AccessLogManager's reopen() similar to SIGUSR1 handler.
Implementation might be pretty straightforward:
Http::Code AdminImpl::handlerReopenLogs(absl::string_view, Http::HeaderMap&,
Buffer::Instance& response, AdminStream&) {
server_.accessLogManager().reopen();
response.add("OK\n");
return Http::Code::OK;
}
In our environment processes run in isolated process namespaces and cannot send signals to each other.
We need to implement correct log rotation for envoy, and possible solution is to expose /reopen_logs admin handler which triggers AccessLogManager's reopen() similar to SIGUSR1 handler.
Implementation might be pretty straightforward: