diff --git a/Dockerfile b/Dockerfile index c639138ea5163533c8d81803e10f13f5bfff4373..7436f6b513cc7770fc4782934cfe8fcc1158a44c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,8 @@ COPY ./ ./ RUN CGO_ENABLED=0 GOOS=linux xx-go build -ldflags "-w -s" -o /ems-esp-logger FROM jonasled.dev/infra/images/scratch-rootless@sha256:b29ee9170c65f2825d77f1c8d97c6ae138f76fb3a150454eb6eb87e7767fba4b -ENV UPDATE_INSTALL=false +ENV UPDATE_INSTALL=false \ + EXIT_ON_DISCONNECT=true COPY --from=build /ems-esp-logger /ems-esp-logger ENTRYPOINT ["/ems-esp-logger"] diff --git a/mqttclient/main.go b/mqttclient/main.go index 4ebed07d0fb6f0aca2e31fb13c5952e9ebab3ee8..7f0092f0fdcfd095d8a60e03ecec35bb0ef9a4ba 100644 --- a/mqttclient/main.go +++ b/mqttclient/main.go @@ -43,6 +43,11 @@ var messagePubHandlerBoiler mqtt.MessageHandler = func(client mqtt.Client, msg m var connectHandler mqtt.OnConnectHandler = func(client mqtt.Client) { log.Log.Info("Successfully connected to MQTT broker") + if os.Getenv("EXIT_ON_DISCONNECT") == "true" { + log.Log.Info("Sleeping 10s before exiting") + time.Sleep(10 * time.Second) + os.Exit(1) + } } var connectLostHandler mqtt.ConnectionLostHandler = func(client mqtt.Client, err error) {