| #include <memory> |
| |
| #include "absl/base/log_severity.h" |
| #include "absl/flags/declare.h" |
| #include "absl/flags/flag.h" |
| #include "absl/flags/parse.h" |
| #include "absl/log/globals.h" |
| #include "absl/time/time.h" |
| #include "tlbmc/pacemaker/pacemaker.h" |
| #include "tlbmc/redfish/app.h" |
| #include "server.h" |
| |
| ABSL_DECLARE_FLAG(int, stderrthreshold); |
| ABSL_DECLARE_FLAG(int, minloglevel); |
| ABSL_FLAG(int, port, 2998, "The port to listen on."); |
| ABSL_FLAG(absl::Duration, pacemaker_interval, absl::Minutes(5), |
| "The interval between pacemaker checks."); |
| |
| int main(int argc, char* argv[]) { |
| absl::ParseCommandLine(argc, argv); |
| absl::SetMinLogLevel( |
| static_cast<absl::LogSeverityAtLeast>(absl::GetFlag(FLAGS_minloglevel))); |
| absl::SetStderrThreshold(static_cast<absl::LogSeverityAtLeast>( |
| absl::GetFlag(FLAGS_stderrthreshold))); |
| |
| auto app = std::make_unique<milotic_tlbmc::RedfishApp>( |
| milotic_tlbmc::Pacemaker::Create( |
| absl::GetFlag(FLAGS_pacemaker_interval), |
| std::make_unique<milotic_tlbmc::ShellCommandExecutor>())); |
| |
| // TODO(rahulkpr): Add routes for pacemaker. |
| |
| milotic::RedfishServiceConfig service_config{ |
| .port = absl::GetFlag(FLAGS_port), |
| .enable_pacemaker = true, |
| }; |
| milotic::GrpcRedfishService grpc_service(*app, service_config); |
| grpc_service.Wait(); |
| return 0; |
| } |