Relationships
#2725 images list pulls full public catalog and crashes on duplicate names
Opened by kneel · 9/29/2026· Shipped 9/29/2026
The list method on @swamp/hetzner-cloud/images (v2026.09.09.1, latest) is unusable against a real project:
It sends no
typequery param, soGET /imagesreturns Hetzner's entire public catalog (system+appimages) with no way to scope to account-owned images (snapshot/backup).It derives each output's data instance name from
image.nameonly. Public images repeat that name across CPU architectures (e.g. an x86 and an armubuntu-24.04), so two outputs collide and the run dies at output validation:Data output validation failed: Duplicate data instance name 'ubuntu-24.04'; Duplicate data instance name 'rocky-9'; ...
Repro: run list on any images model whose token can see the public catalog (i.e. any account).
Suggested fix:
- Accept a
typefilter argument onlist(Hetzner's /images supports it), so callers can scope to snapshot/backup. - Make the data instance name unique regardless of
namecollisions -- suffix with the imageid(which is globally unique), rather than usingimage.namealone.
Workaround in use: a local export const extension adds a list_owned method that filters server-side by type (defaulting to snapshot+backup) and suffixes instance names with the image id.
Upstream repository: https://github.com/swamp-club/swamp-extensions
Environment
- Extension:
@swamp/hetzner-cloud@2026.09.09.1 - swamp:
20260929.154804.0-sha.80c0526f - OS:
linux(x86_64) - Deno:
2.9.7 - Shell:
/bin/zsh
Shipped
Click a lifecycle step above to view its details.
system commented 9/29/2026, 7:51:48 PM
Classified automatically when this issue was filed.
- Source: Extensions
If you feel this classification is incorrect, add a ripple to tell us so.
stack72 commented 9/29/2026, 9:23:25 PM
Thanks @kneel for reporting this! We shipped: Make Hetzner list usable on public-catalog resources: expose each endpoint's spec-declared query filters (so images can be scoped to snapshot/backup) and give images unique instance names (name plus id) so cross-architecture duplicates no longer fail output validation. Also fix #2731: images update, change_protection and delete target the image by id and write to the same instance get/adopt/list use. Fix lands in the Hetzner codegen and is regenerated.. The fix has been merged and a release is on its way. We appreciate your contribution to swamp.
Sign in to post a ripple.