Skip to content

Deploy verification asserts an /api/config field that does not exist yet #1119

Description

@DorianZheng

Symptom

Every apply=true deploy fails after the stack has already been applied:

sst-with-cloudflare: SST deploy completed, but deployment verification failed:
  Public API supported images sandbaseai-hermes are missing

Observed on run 30743198414 (stage dev). The proxy half of verification passes
(Proxy routing verified (1/1 healthy)); the public half retries 7 times over
~60s and then fails the job.

Cause

verifyPublicDeployment compares apiConfig.supportedImages against the images
named in BOXLITE_SYSTEM_IMAGES (apps/infra/scripts/proxy-deployment-verify.mjs).
/api/config does not carry that field yet — apps/api/src/config/dto/configuration.dto.ts
has no such property.

That check is the acceptance criterion for #1045, which is still open. It was
merged in #1093 ahead of the API work it tests.

The check is gated on BOXLITE_SYSTEM_IMAGES being non-empty, so no CI path
arms it and the suite stays green; only a real .env triggers it.

Consequence

Verification runs after sst deploy exits 0
(apps/infra/scripts/sst-with-cloudflare.mjs:259), so the job reports a broken
deployment that in fact applied cleanly. It fails the run without rolling
anything back.

Fix

Remove the assertion until #1045 ships, then reinstate it as that issue's
acceptance test. The BOXLITE_SYSTEM_IMAGES format validation is unaffected and
should stay — it rejects a malformed entry before SST mutates the stack.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions