| 17 | ) |
| 18 | |
| 19 | func main() { |
| 20 | args := &Arguments{} |
| 21 | arg.MustParse(args) |
| 22 | |
| 23 | zerolog.SetGlobalLevel(zerolog.InfoLevel) |
| 24 | l := zerolog.New(os.Stdout).With().Timestamp().Str("node", pcontext.NodeName).Str("version", version).Logger() |
| 25 | ctx := l.WithContext(context.Background()) |
| 26 | |
| 27 | err := run(ctx, args) |
| 28 | if err != nil { |
| 29 | l.Error().Err(err).Msg("error") |
| 30 | os.Exit(1) |
| 31 | } |
| 32 | |
| 33 | l.Info().Msg("shutdown") |
| 34 | } |
| 35 | |
| 36 | func run(ctx context.Context, args *Arguments) error { |
| 37 | ctx, cancel := signal.NotifyContext(ctx, syscall.SIGTERM) |