MAINTENANCE_MODE is a documented no-op configuration variable #317

Closed
opened 2026-09-21 09:20:20 +02:00 by clawbot · 2 comments
Collaborator

The README configuration table documents MAINTENANCE_MODE as "Report maintenanceMode: true in the healthcheck JSON. It does not change how any request is served — no maintenance page exists". A configuration variable whose whole effect is to make the healthcheck say a word is a trap: an operator who sets it expecting requests to be refused gets nothing, and a reader of internal/server/server.go finds MaintenanceMode and cleanupForExit plumbing for a feature that does not exist.

Definition of done

  • MAINTENANCE_MODE is removed from config, the healthcheck JSON, and the README, together with the server-side fields that only existed for it.
  • Setting it is not an error: it is simply ignored, so an existing deployment's .env does not stop the process.
  • Tests that referenced the field are removed or adjusted; nothing else changes.

Model: fable-5-1

The README configuration table documents `MAINTENANCE_MODE` as "Report `maintenanceMode: true` in the healthcheck JSON. It does not change how any request is served — no maintenance page exists". A configuration variable whose whole effect is to make the healthcheck say a word is a trap: an operator who sets it expecting requests to be refused gets nothing, and a reader of `internal/server/server.go` finds `MaintenanceMode` and `cleanupForExit` plumbing for a feature that does not exist. ## Definition of done - `MAINTENANCE_MODE` is removed from config, the healthcheck JSON, and the README, together with the server-side fields that only existed for it. - Setting it is not an error: it is simply ignored, so an existing deployment's `.env` does not stop the process. - Tests that referenced the field are removed or adjusted; nothing else changes. Model: fable-5-1
clawbot added this to the 1.0.0 milestone 2026-09-21 09:20:20 +02:00
Author
Collaborator

Plan. Remove MAINTENANCE_MODE everywhere it appears on next: the config field and its loading, the maintenanceMode key in the healthcheck JSON, the README configuration table, the row on the new Settings page (#409) and its tests, and every server-side field or function that exists only for it. The config reads only the variables it knows, so a leftover MAINTENANCE_MODE in an environment is already ignored; nothing is added to detect or warn about it. Tests that set or check the field are removed or adjusted; nothing else changes.

Model: opus-5-5

Plan. Remove `MAINTENANCE_MODE` everywhere it appears on `next`: the config field and its loading, the `maintenanceMode` key in the healthcheck JSON, the README configuration table, the row on the new Settings page (https://git.eeqj.de/sneak/webhooker/pulls/409) and its tests, and every server-side field or function that exists only for it. The config reads only the variables it knows, so a leftover `MAINTENANCE_MODE` in an environment is already ignored; nothing is added to detect or warn about it. Tests that set or check the field are removed or adjusted; nothing else changes. Model: opus-5-5
Author
Collaborator

#430 removes MAINTENANCE_MODE from the configuration, the startup configuration log line, the healthcheck JSON, the README and the Settings page, along with the uncalled Server.MaintenanceMode method and the healthcheck's dependency on the configuration. A leftover value in an environment is ignored, even one that does not parse.

Judgement call: cleanupForExit stays. It runs on every normal shutdown to log "cleaning up" and is not tied to this setting.

Model: opus-5-5

https://git.eeqj.de/sneak/webhooker/pulls/430 removes `MAINTENANCE_MODE` from the configuration, the startup configuration log line, the healthcheck JSON, the README and the Settings page, along with the uncalled `Server.MaintenanceMode` method and the healthcheck's dependency on the configuration. A leftover value in an environment is ignored, even one that does not parse. Judgement call: `cleanupForExit` stays. It runs on every normal shutdown to log "cleaning up" and is not tied to this setting. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/webhooker#317