Skip to content

refactor: generalize container build tooling for Docker and Podman compatibility#1220

Open
maxamillion wants to merge 1 commit intoNVIDIA:mainfrom
maxamillion:generic-containers
Open

refactor: generalize container build tooling for Docker and Podman compatibility#1220
maxamillion wants to merge 1 commit intoNVIDIA:mainfrom
maxamillion:generic-containers

Conversation

@maxamillion
Copy link
Copy Markdown
Collaborator

Summary

Rename Docker-branded env vars, scripts, and mise tasks to generic container terminology while preserving full backwards compatibility. This implements the plan from issue #968.

Related Issue

Closes #968

Changes

  • Add ce_resolve_containerfile() helper to container-engine.sh that auto-detects Containerfile.X or Dockerfile.X (Containerfile preferred, matching Podman convention)
  • Rename build scripts from docker-* to container-* (4 files: container-build-image.sh, container-build-ci.sh, container-publish-multiarch.sh, container-cleanup.sh)
  • Add CONTAINER_* env var equivalents with DOCKER_* fallbacks for backwards compatibility (9 variables across 3 scripts)
  • Create tasks/container.toml with canonical build:container:* task names (8 tasks)
  • Convert tasks/docker.toml to pure backwards-compat alias file (build:docker:*build:container:* via depends)
  • Update all cross-references in 6 shell scripts (cluster-deploy-fast.sh, cluster-push-component.sh, cluster-bootstrap.sh, remote-deploy.sh, gateway-docker.sh, gateway.sh), 4 TOML task files (ci.toml, cluster.toml, test.toml, vm.toml), CI workflow (docker-build.yml), architecture docs (build-containers.md), and agent files (AGENTS.md, doctor_llm_prompt.md, e2e-podman.sh)
  • Update cluster-deploy-fast.sh pattern matches and fingerprint inputs to recognize both Containerfile.images and Dockerfile.images
  • Fix pre-existing bug: remove exec keyword from container-build-ci.sh (exec does not work with bash functions from container-engine.sh)

Testing

  • mise run pre-commit passes (lint, format, license headers)
  • All Rust tests pass (634 sandbox + 385 server + integration tests)
  • E2E tests added/updated (not applicable — naming refactor only)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (build-containers.md)

…mpatibility

Rename Docker-branded env vars, scripts, and mise tasks to generic
container terminology while preserving full backwards compatibility.

- Add ce_resolve_containerfile() helper to container-engine.sh that
  auto-detects Containerfile.X or Dockerfile.X (Containerfile preferred)
- Rename build scripts from docker-* to container-* (4 files)
- Add CONTAINER_* env var equivalents with DOCKER_* fallbacks (9 vars)
- Create tasks/container.toml with canonical build:container:* task names
- Convert tasks/docker.toml to pure alias file for backwards compat
- Update all cross-references in shell scripts, TOML task files,
  CI workflow, architecture docs, and agent files
- Fix pre-existing bug: remove exec keyword from container-build-ci.sh
  (exec does not work with bash functions)

Closes NVIDIA#968

Signed-off-by: Adam Miller <admiller@redhat.com>
@maxamillion maxamillion requested review from a team, derekwaynecarr and mrunalp as code owners May 6, 2026 22:37
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 6, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

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.

refactor: generalize container build tooling for Docker and Podman compatibility

1 participant