Skip to content

Add digest-pinned Online Shop Compose rendering #11

Closed

Description

@DimitryZH

Goal

Generate a reproducible Docker Compose configuration from an Online Shop release candidate, using published images pinned by digest.

Establish static configuration checks before introducing runtime integration tests.

Scope

  • Define a versioned Compose profile with service names, ports, environment variables, and dependencies grounded in the canonical AML workload.
  • Pin the profile's AML source reference to an immutable commit.
  • Render image references from the selected release manifest; do not duplicate baseline digests in templates.
  • Require strict parsing, schema validation, immutable inventory resolution, and component consistency before rendering.
  • Provide an explicit inspection-only mode for structurally valid legacy candidates without granting traceability eligibility.
  • Reject synthetic examples and unsupported profiles.
  • Generate all 12 baseline components without local image builds or additional runtime images.
  • Publish frontend only on a documented loopback address.
  • Validate the rendered configuration with Docker Compose and add offline rendering tests.
  • Document generation, inspection-only semantics, prerequisites, and limitations.

Acceptance criteria

  • Rendering is deterministic for the same candidate, inventory, and profile.
  • Every required component maps to exactly one Compose service.
  • All image references use the candidate's exact repository@digest.
  • No build directives, mutable image selectors, or unaccounted runtime images are generated.
  • Internal service addresses and ports are consistent with the selected profile.
  • Only frontend is published to the host, bound to loopback.
  • Invalid structure, inventory mismatches, examples, and unsupported profiles fail before output is written.
  • Legacy rendering requires explicit inspection-only opt-in; normal eligibility rules remain unchanged.
  • Output/reporting clearly distinguishes configuration inspection from release approval.
  • Offline tests cover mappings, deterministic output, invalid inputs, and legacy opt-in behavior.
  • An actual docker compose config check passes for the rendered baseline.
  • Public documentation reports results concisely without local-machine details.

Boundaries

Rendering and static validation only.

Do not pull images, run containers, build or publish images, implement runtime smoke tests, or deploy workloads.

Do not weaken release policy, introduce legacy exceptions, modify historical release artifacts, or change other repositories.

Keep runtime execution opt-in and outside this issue. Do not alter existing release-eligibility checks to treat inspection-only rendering as approval.

Use Related to #N. Keep this issue open after PR merge until a closing comment and manual closure.

Activity

  1. self-assigned this
    on Oct 20, 2026
  2. added a commit that references this issue on Oct 20, 2026
  3. DimitryZH commented on Oct 20, 2026

    @DimitryZH
    OwnerAuthor

    Implemented in PR #12 and merged. Compose rendering supports exact candidate digests, offline validation and explicit legacy inspection. Automated and static configuration checks passed.

    Closing this issue. Runtime integration remains separate work; the milestone stays open.

  4. removed their assignment
    on Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions