Skip to content

Add With.Packaging.dockerDual() for dev/prod Docker images#9

Merged
reid-spencer merged 2 commits into
mainfrom
feature/docker-dual
Feb 3, 2026
Merged

Add With.Packaging.dockerDual() for dev/prod Docker images#9
reid-spencer merged 2 commits into
mainfrom
feature/docker-dual

Conversation

@reid-spencer
Copy link
Copy Markdown
Contributor

  • Add docker-dual feature plan to NOTEBOOK.md
  • Implement With.Packaging.dockerDual() for dev/prod Docker images

respencer-ncl and others added 2 commits February 2, 2026 10:33
Plan for With.Packaging.dockerDual() helper supporting separate dev and
prod Docker images for RIDDL services (MCP, Sim, Gen):
- Dev: eclipse-temurin:25-jdk-noble (arm64, JDK tools)
- Prod: gcr.io/distroless/java25-debian13:nonroot (amd64, minimal)

Custom Dockerfile for distroless to handle staged layout without fat JAR.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add new helper that creates separate Docker images optimized for:
- Dev: eclipse-temurin:25-jdk-noble (arm64, JDK tools, shell)
- Prod: gcr.io/distroless/java25-debian13:nonroot (amd64, minimal)

Features:
- docker:publishLocal defaults to dev image
- New dockerPublishProd task for production builds
- Custom Dockerfile generation for distroless (no fat JAR needed)
- Default registry: ghcr.io/ossuminc
- Tag patterns: :dev-latest/:dev-<ver> vs :latest/:<ver>

Usage:
  .configure(With.Packaging.dockerDual(
    mainClass = "com.myapp.Main",
    pkgName = "my-service",
    exposedPorts = Seq(8080, 9001)
  ))

Includes scripted test (17/17 tests pass) and README documentation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Feb 3, 2026

@reid-spencer reid-spencer merged commit 4a8a48f into main Feb 3, 2026
3 checks passed
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.

2 participants