Skip to content

Conversation

@Zerpet
Copy link
Member

@Zerpet Zerpet commented Oct 27, 2025

Summary

This PR makes the Docker build process more flexible by:

  • Making the Docker registry URL configurable via a DOCKER_REGISTRY build argument
  • Making the container tool configurable (supporting both docker and podman)

Changes

Dockerfile

  • Added DOCKER_REGISTRY build argument (defaults to docker.io)
  • Updated base images to use the configurable registry:
    • golang:${GO_TAG}${DOCKER_REGISTRY}/library/golang:${GO_TAG}
    • alpine:latest${DOCKER_REGISTRY}/library/alpine:latest

Makefile

  • Added CONTAINER variable (defaults to docker) to allow using alternative container tools like podman
  • Updated all docker commands to use $(CONTAINER) variable
  • Added --build-arg=DOCKER_REGISTRY=$(DOCKER_REGISTRY_SERVER) to all build commands
  • Affected targets:
    • deploy-kind
    • docker-build
    • docker-push
    • docker-build-dev

Motivation

These changes enable:

  1. Air-gapped/private registry support: Organizations using private Docker registries can now easily configure the base image source
  2. Alternative container runtimes: Users can choose between Docker, Podman, or other compatible tools
  3. Flexibility: Better support for different deployment environments and security requirements

Because sometimes Docker rate limits, and you need a workaround/proxy
Most of the time, we just use `docker` for all our container needs.
However, sometime you need to use a different tool like `podman` or
`containerd`; for example, to test on OpenShift Local. OpenShift Local
comes with podman and it forces you to use Podman if you want to build
containers locally.
@Zerpet Zerpet added this to the 2.18.0 milestone Oct 28, 2025
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.

3 participants