2023-03-17 11:20:09 +03:00
|
|
|
package liveness
|
|
|
|
|
|
|
|
|
|
import (
|
2023-05-02 09:51:50 +03:00
|
|
|
"github.com/ManyakRus/starter/fiber_connect"
|
2024-03-13 16:24:14 +03:00
|
|
|
"github.com/ManyakRus/starter/log"
|
2023-11-14 13:39:20 +03:00
|
|
|
"github.com/gofiber/fiber/v2"
|
2024-03-13 16:24:14 +03:00
|
|
|
"os"
|
2023-03-17 11:20:09 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
const LIVENESS_URL = "/liveness/"
|
|
|
|
|
|
2024-03-13 16:24:14 +03:00
|
|
|
// Settings хранит все нужные переменные окружения
|
|
|
|
|
var Settings SettingsINI
|
2023-03-17 11:20:09 +03:00
|
|
|
|
2024-03-13 16:24:14 +03:00
|
|
|
// SettingsINI - структура для хранения всех нужных переменных окружения
|
|
|
|
|
type SettingsINI struct {
|
|
|
|
|
LIVENESS_HOST string
|
|
|
|
|
LIVENESS_PORT string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// WEBSERVER_PORT_DEFAULT - порт веб-сервера по умолчанию
|
|
|
|
|
var WEBSERVER_PORT_DEFAULT = "3000"
|
|
|
|
|
|
|
|
|
|
// Start - запуск работы компоненты Liveness
|
2023-03-17 11:20:09 +03:00
|
|
|
func Start() {
|
2024-03-13 16:24:14 +03:00
|
|
|
|
|
|
|
|
FillSettings()
|
|
|
|
|
fiber_connect.Settings.WEBSERVER_HOST = Settings.LIVENESS_HOST
|
|
|
|
|
fiber_connect.Settings.WEBSERVER_PORT = Settings.LIVENESS_PORT
|
|
|
|
|
|
2023-03-17 11:20:09 +03:00
|
|
|
Client := fiber_connect.Client
|
|
|
|
|
if Client == nil {
|
|
|
|
|
fiber_connect.Connect()
|
|
|
|
|
Client = fiber_connect.Client
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Client.Get(LIVENESS_URL, Handlerliveness)
|
|
|
|
|
|
|
|
|
|
fiber_connect.Start()
|
|
|
|
|
|
|
|
|
|
log.Info("Liveness start OK. URL: ", LIVENESS_URL)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func Handlerliveness(c *fiber.Ctx) error {
|
|
|
|
|
return c.SendString("{\"status\":\"ok\"}")
|
|
|
|
|
}
|
2024-03-13 16:24:14 +03:00
|
|
|
|
|
|
|
|
// FillSettings загружает переменные окружения в структуру из переменных окружения
|
|
|
|
|
func FillSettings() {
|
|
|
|
|
Settings = SettingsINI{}
|
|
|
|
|
Settings.LIVENESS_HOST = os.Getenv("LIVENESS_HOST")
|
|
|
|
|
Settings.LIVENESS_PORT = os.Getenv("LIVENESS_PORT")
|
|
|
|
|
if Settings.LIVENESS_HOST == "" {
|
|
|
|
|
log.Debug("Need fill LIVENESS_HOST ! in OS Environment ")
|
|
|
|
|
Settings.LIVENESS_HOST = os.Getenv("WEB_SERVER_HOST")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if Settings.LIVENESS_PORT == "" {
|
|
|
|
|
log.Warn("Need fill LIVENESS_PORT ! in OS Environment. Use default: ", WEBSERVER_PORT_DEFAULT)
|
|
|
|
|
Settings.LIVENESS_PORT = WEBSERVER_PORT_DEFAULT
|
|
|
|
|
}
|
|
|
|
|
}
|