A jinja or gzipped cloud_init is refused at the seed build, not as a 400 at the API #119

Open
opened 2026-09-02 09:12:44 +00:00 by a73x · 0 comments
a73x commented 2026-09-02 09:12:44 +00:00 (Migrated from git.a73x.sh)

[claude 2026-09-02] Since the seed composes user-data as a MIME archive with eitri's cloud-config as the last part (fix for 6b070494), a tenant cloud_init that is a jinja template (## template: jinja) or gzip cannot carry eitri's part and the seed build refuses it. That refusal lands in the agent, so it surfaces as a failed create rather than a clean 400. The control plane already rejects those payloads, but only on the path that classifies the document — when an SSH key is supplied alongside. Make the API classify and refuse them on every create, with the same wording the seed uses, so the tenant sees a 400 that says why.


Migrated from git-collab issue 991e03e0b896b886d289f4c11c8cc08300d9da0a.

Original author: a73x dev@a73x.sh.

[claude 2026-09-02] Since the seed composes user-data as a MIME archive with eitri's cloud-config as the last part (fix for 6b070494), a tenant cloud_init that is a jinja template (## template: jinja) or gzip cannot carry eitri's part and the seed build refuses it. That refusal lands in the agent, so it surfaces as a failed create rather than a clean 400. The control plane already rejects those payloads, but only on the path that classifies the document — when an SSH key is supplied alongside. Make the API classify and refuse them on every create, with the same wording the seed uses, so the tenant sees a 400 that says why. --- Migrated from git-collab issue `991e03e0b896b886d289f4c11c8cc08300d9da0a`. Original author: a73x <dev@a73x.sh>.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
a73x/eitri#119
No description provided.