Skip to content

feat(1500): Oracle Layer-1 matrix install-smoke cell (compose + harness) #1508

Closed

Description

@natechadwick-intsof

Background

CMS install matrix Layer-1 (docker/scripts/matrix-install-smoke.py) now covers H2, PostgreSQL, MySQL, and SQL Server (see PR #1507 / branch 1500-matrix-smoke-followup).

Oracle is not in the matrix yet.

Surface Oracle status
Silent installer --db.type=oracle Supported (DbInstallConfigResolver)
docker-compose.yml profile / service Missing
DB_SERVICES / matrix CLI --db Missing (h2, postgresql, mysql, sqlserver only)
Cell entrypoint docstring Mentions oracle as a possible DB_TYPE only

Why backlog

  • Oracle container images are heavy (size, license/EULA, RAM, startup time).
  • Need a clear image choice (e.g. gvenzl/oracle-xe or company-approved image), credentials, SID/service name, and host port mapping that does not fight local Oracle installs.
  • Healthcheck + matrix network alias pattern should match postgres/mysql/sqlserver.

Acceptance criteria

  1. Compose: opt-in profile (e.g. oracle / db-all) running a documented Oracle image with stable user/password/service and host port documented in docker/README.md / docker-compose.yml.
  2. Harness: DB_SERVICES["oracle"] entry + --db oracle accepted by matrix-install-smoke.py; start_db + network alias oracle for cells.
  3. Cell: wait_for_db / install argv for oracle (host, port, name/service, user, password, schema); SSL flags appropriate for compose (likely SSL off, consistent with other compose DBs).
  4. Smoke: python3 docker/scripts/matrix-install-smoke.py --product cms --db oracle --probe-timeout … → RESULT:OK with login HTTP 200 (or documented probe URL).
  5. Docs: Maven -Pmatrix-smoke / README examples list oracle as optional once green.
  6. Tests: unit coverage for new harness metadata / install argv (no secrets in fixtures).

Non-goals (unless product requires)

  • Full Oracle certification matrix for every CMS feature
  • Replacing customer-provided Oracle installs for production

Related

Priority

Backlog — do not block merge of PR #1507.

Activity

  1. natechadwick-intsof commented on Aug 5, 2026

    @natechadwick-intsof
    CollaboratorAuthor

    Agent progress (2026-08-05 23:26 UTC): Partial implement PR opened: #2084

    Delivered:

    • docker-compose.yml oracle profile (gvenzl/oracle-xe:21-slim) + db-all
    • harness DB_SERVICES["oracle"] / --db oracle / ORACLE_PORT freeport
    • unit tests (61 pass) + docker/README Oracle section

    Residual (live smoke): #2083

    Parent #1500 progress table updated. Operator: Grok night-issue-prs (model grok-4.5).

  2. natechadwick-intsof commented on Aug 6, 2026

    @natechadwick-intsof
    CollaboratorAuthor

    Residual #2083 live RESULT:OK

    Unattended live smoke completed: RESULT:OK / login probe HTTP 200.

    PR: #2184
    Parent progress updated on #1500.

  3. natechadwick-intsof commented on Aug 6, 2026

    @natechadwick-intsof
    CollaboratorAuthor

    Acceptance complete — closing (no further implement)

    Disposition: skip implement. All acceptance criteria for Oracle Layer-1 matrix install-smoke are satisfied on main.

    Criterion Evidence
    1. Compose oracle profile + docs PR #2084 merged (gvenzl/oracle-xe:21-slim, profiles oracle / db-all, docker/README.md)
    2. Harness DB_SERVICES["oracle"] / --db oracle Same PR #2084
    3. Cell wait/install argv (Easy Connect, SSL off) #2084 + residual PR #2184
    4. Live smoke RESULT:OK / login HTTP 200 Residual #2083 closed via PR #2184
    5. Docs / matrix examples README Oracle section + harness CLI help
    6. Unit coverage #2084 (harness metadata / install argv tests)

    Merged commits on main:

    Parent #1500 is already closed — no parent progress edit this run.

    Operator: Grok night-issue-prs (model grok-4.5). Status: skipped (acceptance already met).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions