mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-06-04 11:25:52 +08:00

* feat: added private http server to handle internal service requests * feat: added private port default to constants
76 lines
1.7 KiB
Go
76 lines
1.7 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
"os/signal"
|
|
"syscall"
|
|
|
|
"go.signoz.io/query-service/app"
|
|
"go.signoz.io/query-service/auth"
|
|
"go.signoz.io/query-service/constants"
|
|
"go.signoz.io/query-service/version"
|
|
|
|
"go.uber.org/zap"
|
|
"go.uber.org/zap/zapcore"
|
|
)
|
|
|
|
func initZapLog() *zap.Logger {
|
|
config := zap.NewDevelopmentConfig()
|
|
config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder
|
|
config.EncoderConfig.TimeKey = "timestamp"
|
|
config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder
|
|
logger, _ := config.Build()
|
|
return logger
|
|
}
|
|
|
|
func main() {
|
|
|
|
loggerMgr := initZapLog()
|
|
zap.ReplaceGlobals(loggerMgr)
|
|
defer loggerMgr.Sync() // flushes buffer, if any
|
|
|
|
logger := loggerMgr.Sugar()
|
|
version.PrintVersion()
|
|
|
|
serverOptions := &app.ServerOptions{
|
|
HTTPHostPort: constants.HTTPHostPort,
|
|
PrivateHostPort: constants.PrivateHostPort,
|
|
}
|
|
|
|
// Read the jwt secret key
|
|
auth.JwtSecret = os.Getenv("SIGNOZ_JWT_SECRET")
|
|
|
|
if len(auth.JwtSecret) == 0 {
|
|
zap.S().Warn("No JWT secret key is specified.")
|
|
} else {
|
|
zap.S().Info("No JWT secret key set successfully.")
|
|
}
|
|
|
|
server, err := app.NewServer(serverOptions)
|
|
if err != nil {
|
|
logger.Fatal("Failed to create server", zap.Error(err))
|
|
}
|
|
|
|
if err := server.Start(); err != nil {
|
|
logger.Fatal("Could not start servers", zap.Error(err))
|
|
}
|
|
|
|
if err := auth.InitAuthCache(context.Background()); err != nil {
|
|
logger.Fatal("Failed to initialize auth cache", zap.Error(err))
|
|
}
|
|
|
|
signalsChannel := make(chan os.Signal, 1)
|
|
signal.Notify(signalsChannel, os.Interrupt, syscall.SIGTERM)
|
|
|
|
for {
|
|
select {
|
|
case status := <-server.HealthCheckStatus():
|
|
logger.Info("Received HealthCheck status: ", zap.Int("status", int(status)))
|
|
case <-signalsChannel:
|
|
logger.Fatal("Received OS Interrupt Signal ... ")
|
|
}
|
|
}
|
|
|
|
}
|