Skip to content

NativeAOT mock-VISA container image #15

Description

@ShortArrow

Context

The current ghcr.io/shortarrow/ivi-cli-mock image bundles a
self-contained .NET runtime (~80 MB compressed). A NativeAOT
build would yield a substantially smaller image with faster
cold start — attractive for e2e tests that spin up a fresh
container per scenario.

ADR 0018 §Out-of-scope
deferred this pending an AOT-compat audit.

Dependencies needing AOT audit

  • Serilog + sinks (file / console / Compact JSON formatter)
  • OpenTelemetry SDK + Exporter.OpenTelemetryProtocol +
    Instrumentation.AspNetCore
  • ASP.NET Core 10 minimal API (for ivicli api start; not used
    inside the mock-only container, but the binary still references
    it)
  • Tomlyn
  • Plugin loader: AssemblyLoadContext + reflection-based discovery
    (ADR 0013)

Acceptance

  • AOT-compat audit completed; tracked decisions per dependency.
  • IVICLI_MOCK_ONLY=1 build path can publish AOT.
  • Container image size drops to <30 MB compressed.
  • Smoke test (existing pr-docker-smoke.yml) passes against the
    AOT image.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:containerMock-VISA Docker container + imageenhancementNew feature or requestpriority:lowNice to have, polish, future work

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions