This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+12 more
Affected surfaces
Summary
AI summaryAnonymous telemetry can be disabled via MAINTENANT_DISABLE_TELEMETRY and entrypoint now preserves supplementary GIDs while dropping privileges.
Full changelog
Improvements
Anonymous install telemetry (opt-out)
maintenant now sends an anonymous, opt-out usage snapshot once an hour to https://metrics.kolapsis.com. Each snapshot contains only counts (containers_total, endpoints_total, heartbeats_total, certificates_total, webhooks_total, status_components_total), the edition (community or pro), basic runtime context (OS, arch, CPU cores, Go version, deployment mode, memory, goroutines, uptime), and an opaque installation identifier persisted to /data/shm/shm_identity.json.
Nothing else is transmitted: no hostnames, IPs, container names, endpoint URLs, certificates, webhook targets, status-page component names, license keys, or operator-supplied free-form strings of any kind.
Why opt-out — we collect basic usage data to understand how maintenant is used in the field. That's it. Disable it with one environment variable if you'd rather not contribute.
To disable:
services:
maintenant:
environment:
MAINTENANT_DISABLE_TELEMETRY: "1"
Truthy values: 1, t, true, y, yes, on (case-insensitive). When disabled, exactly one log line is emitted at startup (telemetry disabled reason=opt-out) — no goroutine, no DNS lookup, no outbound packets toward the metrics endpoint.
Container entrypoint now drops privileges via setpriv
The official image used to pin USER 65534:65534 directly in the Dockerfile. The new image installs a small entrypoint that runs as root just long enough to fix bind-mount ownership for /data/shm, then drops to uid 65534 via setpriv --keep-groups. This is functionally equivalent to before — the binary still runs as nobody:nobody, read_only: true and no-new-privileges: true are still respected — but two operator pain points go away:
- Bind-mounting a host directory at
/data/shmno longer requires a manualchown 65534:65534on the host. The entrypoint chowns it on every start, so the SHM identity file can be persisted on the host filesystem without prep work. - Supplementary GIDs injected by Compose
group_add(typically the host docker socket group) are now preserved through the privilege drop. The previoussu-execcandidate cleared supplementary groups when an explicit GID was provided, which would have broken docker socket access.
Documentation
- README and the public docs site (
docs/getting-started/configuration.md) now documentMAINTENANT_DISABLE_TELEMETRY, what each snapshot field contains, and the persistent-identity requirement. docs/security.mdreflects the entrypoint-based privilege drop in the hardening checklist and table.
Upgrading from v1.2.6
docker compose pull && docker compose up -d --force-recreate
No database migrations, no configuration changes required. Telemetry activates on first start; set MAINTENANT_DISABLE_TELEMETRY=1 before starting the new image if you want to opt out without a single snapshot being sent.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]