MCPcopy Index your code
hub / github.com/aws/aws-node-termination-handler / main

Function main

cmd/node-termination-handler.go:69–308  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

67}
68
69func main() {
70 // Zerolog uses json formatting by default, so change that to a human-readable format instead
71 log.Logger = log.Output(logging.RoutingLevelWriter{
72 Writer: &zerolog.ConsoleWriter{Out: os.Stdout, TimeFormat: timeFormat, NoColor: true},
73 ErrWriter: &zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: timeFormat, NoColor: true},
74 })
75
76 signalChan := make(chan os.Signal, 1)
77 signal.Notify(signalChan, syscall.SIGTERM)
78 defer signal.Stop(signalChan)
79
80 nthConfig, err := config.ParseCliArgs()
81 if err != nil {
82 log.Fatal().Err(err).Msg("Failed to parse cli args,")
83 }
84
85 if nthConfig.JsonLogging {
86 log.Logger = zerolog.New(os.Stderr).With().Timestamp().Logger()
87 }
88 switch strings.ToLower(nthConfig.LogLevel) {
89 case "info":
90 zerolog.SetGlobalLevel(zerolog.InfoLevel)
91 case "debug":
92 zerolog.SetGlobalLevel(zerolog.DebugLevel)
93 case "error":
94 zerolog.SetGlobalLevel(zerolog.ErrorLevel)
95 }
96
97 klog.SetLogger(zerologr.New(&log.Logger))
98
99 log.Info().Msgf("Using log format version %d", nthConfig.LogFormatVersion)
100 if err = logging.SetFormatVersion(nthConfig.LogFormatVersion); err != nil {
101 log.Warn().Err(err).Send()
102 }
103 if err = observability.SetReasonForKindVersion(nthConfig.LogFormatVersion); err != nil {
104 log.Warn().Err(err).Send()
105 }
106
107 err = webhook.ValidateWebhookConfig(nthConfig)
108 if err != nil {
109 nthConfig.Print()
110 log.Fatal().Err(err).Msg("Webhook validation failed,")
111 }
112
113 clusterConfig, err := rest.InClusterConfig()
114 if err != nil {
115 log.Fatal().Err(err).Msgf("retreiving cluster config")
116 }
117 clientset, err := kubernetes.NewForConfig(clusterConfig)
118 if err != nil {
119 log.Fatal().Err(err).Msgf("creating new clientset with config: %v", err)
120 }
121 node, err := node.New(nthConfig, clientset)
122 if err != nil {
123 nthConfig.Print()
124 log.Fatal().Err(err).Msg("Unable to instantiate a node for various kubernetes node functions,")
125 }
126

Callers

nothing calls this directly

Calls 15

GetNodeMetadataMethod · 0.95
ParseCliArgsFunction · 0.92
SetFormatVersionFunction · 0.92
SetReasonForKindVersionFunction · 0.92
ValidateWebhookConfigFunction · 0.92
NewFunction · 0.92
InitMetricsFunction · 0.92
InitProbesFunction · 0.92
NewFunction · 0.92
NewFunction · 0.92
InitK8sEventRecorderFunction · 0.92

Tested by

no test coverage detected