spawn/packer
Ahmed Abushagur 7bebc6558f
feat: full marketplace compliance + automated Vendor API submission (#2295)
Packer template:
- Match official 90-cleanup.sh: remove SSH host keys, create
  revoked_keys, remove cloud-init instances, zero-fill free space,
  use --force-confold for upgrades, autoremove/autoclean
- Add Packer manifest post-processor for snapshot ID extraction
- Remove PACKER_LOG=1 (debug logging not needed in production)

Workflow:
- Add "Submit to DO Marketplace" step after successful build
- Reads agent→app_id mapping from MARKETPLACE_APP_IDS secret (JSON)
- Extracts snapshot ID from Packer manifest, PATCHes Vendor API
- Gracefully handles 400 (app already pending review)
- Skips silently if no MARKETPLACE_APP_IDS secret is configured

Setup: add MARKETPLACE_APP_IDS secret as JSON, e.g.:
  {"claude":"60089fc6...", "codex":"60089fc7..."}
App IDs come from the DO Vendor Portal after initial approval.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 16:40:04 -05:00
..
scripts fix: add explicit input validation to capture-agent.sh (Fixes #2281) (#2282) 2026-03-07 06:27:28 -08:00
agents.json fix: snapshot cleanup + claude install (name-prefix filter) (#2273) 2026-03-06 21:32:58 -08:00
digitalocean.pkr.hcl feat: full marketplace compliance + automated Vendor API submission (#2295) 2026-03-07 16:40:04 -05:00