Skip to main content
← Back to list
01Issue
BugShippedExtensionsPublicTeam
Assigneesstack72

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:

  1. It sends no type query param, so GET /images returns Hetzner's entire public catalog (system + app images) with no way to scope to account-owned images (snapshot/backup).

  2. It derives each output's data instance name from image.name only. Public images repeat that name across CPU architectures (e.g. an x86 and an arm ubuntu-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 type filter argument on list (Hetzner's /images supports it), so callers can scope to snapshot/backup.
  • Make the data instance name unique regardless of name collisions -- suffix with the image id (which is globally unique), rather than using image.name alone.

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
02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 10 MOREREVIEW+ 7 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

9/29/2026, 9:23:21 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
kneel moved this from the private collective Elowish to public9/29/2026, 7:52:34 PM
stack72 assigned stack729/29/2026, 8:33:55 PM
Editable. Press Enter to edit.

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.