Skip to content

Release v0.4.1 merge#20

Merged
crzykidd merged 11 commits into
mainfrom
dev
Jun 2, 2026
Merged

Release v0.4.1 merge#20
crzykidd merged 11 commits into
mainfrom
dev

Conversation

@crzykidd

Copy link
Copy Markdown
Owner

[0.4.1] — 2026-05-29

Fixed

  • DNS-only deployments no longer flood the log with a "Service Tracker
    Dashboard not enabled" line on every container, every refresh cycle.
    When STD_URL or STD_API_TOKEN is missing, the notifier now logs a
    single line at startup that STD integration is disabled, skips the
    periodic refresh loop entirely (it only ever served STD), and does
    not attempt STD dispatch on subsequent events.

Added

  • New env var HOST_NAME_OVERRIDE. Sets the host name used as the DNS
    CNAME target (<host>.<dockerdomain>), overriding the auto-detected
    hostname. Useful in WSL or other environments where the host's
    hostname differs from the name your DNS entries should point at
    (e.g. Docker Desktop reports the LinuxKit/WSL VM name rather than the
    real host). Unset preserves the existing auto-detection behavior.

crzykidd added 11 commits May 23, 2026 00:52
PRD §3.1 still claimed logging/retry were "partially duplicated"
across notifier modules — that work was unified in v0.3.0. Reworded
to reflect current state.

HISTORY.md had no entry for v0.4.0's structural change: introducing
on-disk YAML interpreter files as the first non-env-var, non-label
input. Added a section.

Audit also confirmed the rest of the PRD matches the shipped code
(base kwargs, capture extraction, interpreter loader, emission
semantics, cross-repo pairing) and that no v0.3.2 git tag exists —
v0.3.1/v0.3.2 were planned-but-not-shipped versions consolidated
into v0.4.0.
Two factual errors in code comments, caught by the recent
documentation audit:

- notifiers/service_tracker_dashboard.py: the _PASSTHROUGH comment
  said exposure_observations is "consumed by STD v0.7.0+". Actual
  consumer is STD v0.6.0+ (CHANGELOG, PRD §9.3, README all confirm).
- interpreter_loader.py: module docstring referenced PRD §12 as the
  YAML format reference. Correct section is §11 (the PRD's last
  section).

Comment / docstring text only — no executable code changed.
get_host_name() reads the host hostname from the /etc/hostname mount,
falling back to the container hostname. In WSL/Docker Desktop the
mounted value is the LinuxKit VM name (e.g. "debuerreotype"), so the
CNAME target comes out wrong even though production (real Linux host)
is correct. HOST_NAME_OVERRIDE lets operators set the host name used
as the CNAME target explicitly; unset preserves auto-detection.

Fixes #18.
When STD_URL or STD_API_TOKEN was missing, every container on every
refresh cycle logged a 'not enabling STD integration' line, flooding
the log on DNS-only deployments. The check lived at the end of the STD
register() call, so the whole dispatch path (and the periodic refresh
loop, which only ever served STD) ran regardless.

Gate STD dispatch and the refresh-loop thread on a single STD_CONFIGURED
flag computed at startup via service_tracker_dashboard.is_configured().
When STD is unconfigured the notifier logs one line at startup and does
no further STD work; the leftover guard in register() drops to debug.

Fixes #19.
Cut CHANGELOG [Unreleased] to [0.4.1] (2026-05-29): DNS host-name
override (HOST_NAME_OVERRIDE, #18) and STD-unconfigured log-flood fix
(#19). Update CHANGELOG footer compare/tag links, the Build Status line
in CLAUDE.md, and PRD §5 'Current State' to v0.4.1. No wire-contract
change; ships independently of STD.
@crzykidd crzykidd merged commit 89c8435 into main Jun 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant