Skip to content

[Infrastructure]: Make Docker smoke faster and less dependent on package downloads #16

@morning-verlu

Description

@morning-verlu

Context

The Docker trial path is important for first-time visitors who do not want local Java/Gradle or Codespaces.

Current command:

./scripts/docker-smoke.sh

It builds the image, runs kaios tour, validates the generated capsule, replays it offline, and validates the bundled Evidence Sample.

Current problem

In this local environment, the full smoke repeatedly stalls on external Docker/Alpine package downloads rather than on KAI OS itself.

Observed on June 16, 2026:

  • Dockerfile based on alpine:3.20 progressed through Alpine package installation but spent a long time downloading/installing openjdk17-jre-headless and was interrupted before completion.
  • A trial change to amazoncorretto:17-alpine avoided installing OpenJDK through apk, but first-time Docker Hub layer download for the 147MB base image was also too slow in this environment and was not kept.
  • docker build --check . passes, but full ./scripts/docker-smoke.sh remains unverified locally because of external download speed.

Goal

Make the Docker path more reliable for first-time evaluators.

Possible directions:

  • publish a prebuilt Docker image for releases.
  • use a multi-stage or prebuilt Java base image only after verifying multi-arch pulls are reliable.
  • add a smoke mode that skips image build when a release image already exists locally.
  • document a faster fallback when Docker Hub or Alpine mirrors are slow.

Acceptance

  • ./scripts/docker-smoke.sh can complete in a normal network environment.
  • The chosen path works on arm64 and amd64.
  • README / INSTALL / VERIFY docs reflect the verified Docker path.
  • The launch checklist can remove the Docker caveat only after full smoke passes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is neededlaunchLaunch and growth work

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions