backend: evaluate container-native MQTT recovery

Aperta
#229 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@Aibolit66 ci sta già lavorando.

Dal 23/8/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

backend

Context

The MQTT listener can remain alive while its loop is wedged. The current solution detects this through a heartbeat healthcheck and uses a willfarrell/autoheal sidecar with Docker socket access to restart the unhealthy container.

The ServerSideUp image normally relies on S6 process supervision and container restart policies. However, its built-in checks do not cover the custom mqtt:listen command or detect a process that is alive but wedged.

Scope

  • Evaluate whether recovery should be aligned with the ServerSideUp/S6 model.
  • Preserve detection and recovery of a running but wedged MQTT listener.
  • Consider terminating the container from the healthcheck or using an S6-managed watchdog.
  • Compare the complexity, reliability, and security implications with retaining the current autoheal solution.
  • If container-native recovery is worthwhile, remove autoheal and supersede ADR-0028.
  • If it is not worthwhile, keep autoheal, pin the image version, and document why this is the simpler solution.

Discussion / decision needed

Does implementing container-native recovery provide enough benefit to justify the additional complexity, or is retaining and version-pinning autoheal the simpler and more reliable option for this Docker Compose deployment?

Related: #52 and docs/adr/0028-mqtt-listener-liveness-healthcheck.md.

Lingua principale
PHP
Stelle
26
Fork
2
Merge medio
2g 19h
PR unite (30g)
10

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

  • Nessun Dockerfile né file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Open-Locker/Open-Locker

Tutte le issue di Open-Locker/Open-Locker

Issue simili

Altre issue su PHP

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.