fix: v0.4.2 — inspect_image used wrong DSM parameter contract
Live DSM API capture revealed the actual SYNO.Docker.Image/get contract: a single JSON-encoded parameter named `identity` that accepts both `name:tag` and `sha256:<hash>` forms. The 0.4.0 code passed `name` + `tag` + `id` and was rejected by DSM with error 114. Response shape also corrected — the endpoint returns flat top-level fields (image, tag, id, digest, size, virtual_size, author, docker_version, cmd, entrypoint, env, ports, volumes), NOT the Docker-engine inspect shape with details.Config.* + RootFS.Layers that the previous implementation assumed. Layer rendering removed; digest / author / docker_version / volumes are now displayed. Pre-resolution against list_images is no longer needed — the user input goes straight into `identity` JSON-encoded. Closes #4. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,27 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [0.4.2] - 2026-05-18
|
||||
|
||||
### Fixed
|
||||
|
||||
- `inspect_image` (#4): the 0.4.0 implementation called
|
||||
`SYNO.Docker.Image/get` with `name` + `tag` + `id` parameters, which
|
||||
DSM rejected with error 114 ("invalid parameter"). Reverse-
|
||||
engineering the live API capture revealed the correct contract:
|
||||
one JSON-encoded parameter named `identity` that accepts either form:
|
||||
- `name:tag` (e.g. `"gitea/gitea:1.26.1"`)
|
||||
- `sha256:<hash>` (e.g. `"sha256:cd21e54e..."`)
|
||||
The pre-resolution lookup against `list_images` is no longer needed —
|
||||
the user input is JSON-encoded and passed straight through.
|
||||
- `inspect_image` response parsing: the endpoint does NOT return
|
||||
`details.Config.*` / `RootFS.Layers` (the Docker-engine inspect shape
|
||||
the previous code assumed). The actual top-level fields are `image`,
|
||||
`tag`, `id`, `digest`, `size`, `virtual_size`, `author`,
|
||||
`docker_version`, `cmd`, `entrypoint`, `env`, `ports`, `volumes`.
|
||||
Layer rendering is removed (the endpoint does not surface layers);
|
||||
digest, author, docker version, and volumes are now displayed.
|
||||
|
||||
## [0.4.1] - 2026-05-18
|
||||
|
||||
### Removed
|
||||
|
||||
Reference in New Issue
Block a user