mittwald / mittwald/cli

`mw app create --set im=<version>` fails with 404 resolving system-software versions

Open
#1,974 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
8
Forks
2
Avg merge
13h 26m
Merged PRs (30d)
35

Description

Summary

mw app create <runtime> --set im=<version> (ImageMagick) fails at the version-resolution step with a 404, so ImageMagick can't be added to a runtime app via --set. The same versions endpoint returns 200 when called directly, and creating the app with ImageMagick via the raw API works — so this is a CLI-side resolution bug.

Verified against mw 1.19.0.

Repro
mw app create php -p <project> --install-path foo --document-root / --set im=~7.1 -w
Step 1: fetching system softwares... completed
Step 2: fetching versions for im... FAILED
  Error: AxiosError: Request failed with status code 404
  Request  GET v2/system-softwares/e015b8f3-c0bd-43c3-a8bf-2865028bbb50/versions
  Response 404 Not Found  ("no system software versions found")
Why this looks CLI-side
  • The same endpoint returns 200 with a full list when called directly:
    GET /v2/system-softwares/e015b8f3-.../versions6.9.4-6 … 7.1.2-15.
  • --set node=~22 gets past this step (Step 2 completes) — so it isn't --set in general; it's specific to (at least) im.
  • Installing ImageMagick via the raw API works:
    POST /v2/projects/{id}/app-installations with
    "systemSoftware": { "e015b8f3-…": { "systemSoftwareVersion": "<versionId>", "updatePolicy": "patchLevel" } }
    201, and convert (ImageMagick 7.1.2-15) is present in the app afterwards.

So ImageMagick is installable; only the CLI --set version resolution for im 404s.

Minor, likely separate (API robustness)

In that POST body, passing a version range/string (e.g. ~7.1) as systemSoftwareVersion returns 500 Internal Error instead of a 400 — the field expects the version UUID. A clear 400 (or accepting a range) would help hand-rollers.

Context

Surfaced while validating the mittwald-migrate skill. Installing image/PDF tooling (im, gm, libvips, …) as system software is the recommended alternative to a container; the --set bug currently blocks the CLI path for ImageMagick.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the mw app create command and its --set version-resolution path, then compare how the im lookup differs from the working node case. Reproduce the request against the system-software versions endpoint; done means --set im=~7.1 resolves a version and the app is created successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.