diff --git a/Dockerfile b/Dockerfile index 0e1c6b64..be6c58ef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,7 +28,7 @@ WORKDIR /app RUN apk add --no-cache bash curl git openssh diffutils -COPY --from=mikefarah/yq:4.34.1 /usr/bin/yq /usr/local/bin/yq2 +COPY --from=docker.io/mikefarah/yq:4.34.1 /usr/bin/yq /usr/local/bin/yq2 COPY --from=ghcr.io/jsonnet-libs/docsonnet:0.0.5 /usr/bin/docsonnet /usr/local/bin/ COPY --from=builder /app/k8s-gen /usr/local/bin/ COPY --from=jsonnet /go/bin/jsonnet /usr/local/bin/ diff --git a/Makefile b/Makefile index 2f819129..055ab108 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,5 @@ +RUNTIME ?= docker + IMAGE_NAME ?= k8s-gen IMAGE_PREFIX ?= ghcr.io/jsonnet-libs IMAGE_TAG ?= 0.0.8 @@ -67,19 +69,19 @@ libs/*: $(IMAGE_PREFIX)/$(IMAGE_NAME):$(IMAGE_TAG) /config /output build: - docker build -t $(IMAGE_PREFIX)/$(IMAGE_NAME):$(IMAGE_TAG) . + $(RUNTIME) build -t $(IMAGE_PREFIX)/$(IMAGE_NAME):$(IMAGE_TAG) . save: mkdir -p artifacts - docker save $(IMAGE_PREFIX)/$(IMAGE_NAME):$(IMAGE_TAG) > artifacts/docker-image.tar + $(RUNTIME) save $(IMAGE_PREFIX)/$(IMAGE_NAME):$(IMAGE_TAG) > artifacts/docker-image.tar load: - docker load < artifacts/docker-image.tar + $(RUNTIME) load < artifacts/docker-image.tar push: build push-image push-image: - docker push $(IMAGE_PREFIX)/$(IMAGE_NAME):$(IMAGE_TAG) - docker push $(IMAGE_PREFIX)/$(IMAGE_NAME):latest + $(RUNTIME) push $(IMAGE_PREFIX)/$(IMAGE_NAME):$(IMAGE_TAG) + $(RUNTIME) push $(IMAGE_PREFIX)/$(IMAGE_NAME):latest .PHONY: clean configure update_objectmeta debug run all libs/* build push push-image diff --git a/bin/docker.sh b/bin/docker.sh index 476216a8..64f35111 100755 --- a/bin/docker.sh +++ b/bin/docker.sh @@ -2,12 +2,13 @@ set -euo pipefail set -x +RUNTIME=${RUNTIME:-docker} CI=${CI:-false} DEBUG=${DEBUG:-false} OPTS="" -if [ "$CI" != "true" ]; then - # When run locally volume mounts match ownership of current user. +if [ "$CI" != "true" ] && [ "$RUNTIME" != 'podman' ]; then + # When run locally (not in podman) volume mounts match ownership of current user. OPTS="$OPTS --user $(id -u):$(id -g)" OPTS="$OPTS -v /etc/passwd:/etc/passwd:ro" OPTS="$OPTS -v /etc/group:/etc/group:ro" @@ -18,4 +19,4 @@ if [ "$DEBUG" == "true" ]; then OPTS="$OPTS -ti --entrypoint /bin/bash" fi -docker run --rm $OPTS "$@" +$RUNTIME run --rm $OPTS "$@"