Skip to content

marketplace: container-image (ECS/Fargate) delivery option template#237

Merged
fheikens merged 1 commit into
mainfrom
234-container-image-delivery
Jul 2, 2026
Merged

marketplace: container-image (ECS/Fargate) delivery option template#237
fheikens merged 1 commit into
mainfrom
234-container-image-delivery

Conversation

@fheikens

@fheikens fheikens commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Part of #233 (Marketplace reach expansion). Adds the second delivery option to the live Elevarq Signals listing: an EcrDeliveryOptionDetails option for Amazon ECS / AWS Fargate / docker pull, alongside the existing Helm/EKS option. It reuses the same already-re-hosted Marketplace-ECR image — no new build, no new artifact, Helm option untouched.

What's here (in-repo artifacts)

  • specifications/marketplace-container-image-delivery.md (ACTIVE) + .acceptance.md — integration-mapping spec. Load-bearing decisions:
    • INV-CID-01 one image, two options: the ECR option's image must be the same digest as the Helm option's.
    • INV-CID-02/03 behavioral parity: read-only enforcement + passwordless onboarding live in the image, not the chart.
    • R-CID-03 the UsageInstructions contract reproduces, for a buyer with no K8s, what the chart encodes — including the one real ECS difference: Fargate's task filesystem is ephemeral, so snapshots need durable storage (EFS on Fargate; EBS/bind on EC2-backed ECS).
  • docs/marketplace/catalog-api/04-add-container-image-delivery.json — additive AddDeliveryOptions change-set template, CompatibleServices: ["ECS"] (Fargate is an ECS launch type).
  • scripts/marketplace-changeset.sh — new preflight guard rejecting unsupported CompatibleServices values before start-change-set (AWS only validates this after submit, burning a change-set); usage header for step 04.
  • docs/marketplace/catalog-api/README.md — reach-expansion delivery-option table.

Decisions (confirmed)

Validation

  • shellcheck scripts/marketplace-changeset.sh — clean (default severity).
  • Template renders to valid JSON, 0 leftover ${...}, 0 non-ASCII; CompatibleServices guard passes valid input and catches an injected bad value.
  • trivy fs --scanners secret . — clean.

Not done by merging this

The actual AWS AddDeliveryOptions submission + the live ECS/Fargate smoke are a gated operator step (needs the product Limited/Public, triggers the ~40-min ingestion scan, one review round). So this uses Refs #234 and does not auto-close it.

Refs #234, #233

Adds an EcrDeliveryOptionDetails delivery option alongside the live Helm/EKS
option, reusing the same re-hosted Marketplace-ECR image (one artifact, two
delivery options). Reaches ECS / Fargate / docker-pull buyers with no new
build; additive change that does not touch the Helm option.

- specifications/marketplace-container-image-delivery.md (+ .acceptance.md):
  ACTIVE integration-mapping spec pinning the same-image invariant, behavioral
  parity, and the non-Helm deployment contract (durable snapshot storage on
  Fargate since the task filesystem is ephemeral, non-root, config + secret
  injection).
- docs/marketplace/catalog-api/04-add-container-image-delivery.json: the
  additive AddDeliveryOptions change-set template (CompatibleServices ["ECS"]).
- scripts/marketplace-changeset.sh: preflight guard rejecting unsupported
  CompatibleServices values before start-change-set; usage header for step 04.
- docs/marketplace/catalog-api/README.md: reach-expansion delivery-option table.

Live submission + representative-environment smoke (TC-CID-05) remain a gated
operator step, so this does not close the issue.

Refs #234, #233
@fheikens fheikens merged commit 031424c into main Jul 2, 2026
6 checks passed
@fheikens fheikens deleted the 234-container-image-delivery branch July 2, 2026 22:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant