fix: v0.4.3 — inspect_image rendering polish (follow-up to #4)
Three live-NAS observations that the 0.4.2 implementation got wrong:
1. Header showed "?:?" — DSM Image/get returns image="" and tag=""
for name:tag lookups; the response fields are unreliable. The
header now echoes the user-supplied image_id, falling back to the
sha256 id only when image_id itself is empty.
2. Ports printed as raw Python dicts ({'port':'22','protocol':'tcp'}).
The ports array is a list of {port, protocol} objects — each entry
now renders as "22/tcp".
3. Environment printed as raw Python dicts ({'key':'PATH','value':...}).
The env array is a list of {key, value} objects — each entry now
renders as "PATH=/usr/local/...".
cmd, entrypoint, and volumes (plain string arrays) were already
correct and are untouched. Tests updated to match the live shape;
two new tests guard the header fallback. References #4 (already
closed by 0.4.2 — no need to reopen for a rendering polish).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,29 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [0.4.3] - 2026-05-18
|
||||
|
||||
### Fixed
|
||||
|
||||
- `inspect_image` rendering polish (follow-up to #4 after the 0.4.2
|
||||
parameter-contract fix). Three live-NAS observations that the
|
||||
initial implementation got wrong:
|
||||
- **Header showed `?:?`** — DSM `SYNO.Docker.Image/get` returns
|
||||
`image=""` and `tag=""` when the lookup is by name:tag, so the
|
||||
response fields are unreliable. The header now echoes the user-
|
||||
supplied `image_id` (e.g. `gitea/gitea:1.26.1`), falling back to
|
||||
the sha256 `id` only if `image_id` itself were empty.
|
||||
- **Ports rendered as raw Python dicts** like
|
||||
`{'port': '22', 'protocol': 'tcp'}`. The `ports` array is actually
|
||||
a list of `{"port", "protocol"}` objects; each entry is now
|
||||
formatted as `22/tcp`.
|
||||
- **Environment rendered as raw Python dicts** like
|
||||
`{'key': 'PATH', 'value': '...'}`. The `env` array is actually a
|
||||
list of `{"key", "value"}` objects; each entry is now formatted
|
||||
as `PATH=/usr/local/...`.
|
||||
`cmd`, `entrypoint`, and `volumes` (plain string arrays) were
|
||||
already correct and are unchanged. Referencing #4 (already closed).
|
||||
|
||||
## [0.4.2] - 2026-05-18
|
||||
|
||||
### Fixed
|
||||
|
||||
Reference in New Issue
Block a user