diff --git a/Dockerfile b/Dockerfile index 7bd7ba8..f2c6b77 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,6 +17,5 @@ RUN ARCH=$(uname -m) && \ wget -q "https://github.com/moby/buildkit/releases/download/v0.21.0/buildkit-v0.21.0.linux-$SUFFIX.tar.gz" --output-document=- | tar --gz --extract --directory=/usr/local bin/buildctl && \ chmod 555 /usr/local/bin/jq COPY --chmod=555 entrypoint.sh /usr/local/bin/entrypoint.sh -ENV HOME=/woodpecker ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] USER 1000:1000 diff --git a/config.json b/config.json new file mode 100644 index 0000000..d19a4fe --- /dev/null +++ b/config.json @@ -0,0 +1,19 @@ +{ + "auths": [ + { + "docker.io": { + "auth": "c3NjaG5hYmU6ZGNrcl9wYXRfZ3RnZ1k4RFdzUjJmZlRLTU1yWVI2cFR5Y1VF" + } + }, + { + "ghcr.io": { + "auth": "a29rdXdhaW8tYm90OmdocF9SS2tmTXludk5SemJ6b0hCUnR3dGZmYUhqNUxPQ0wweGhRVkw=" + } + }, + { + "registry.kokuwa.io": { + "auth": "d29vZHBlY2tlcjp6YWtfY2QyNGZmODg2MTFhNDQxODkyM2ZhNDEyYTQ1OGQ0YzI=" + } + } + ] +} diff --git a/entrypoint.sh b/entrypoint.sh index 51f011b..130b9f1 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -21,9 +21,10 @@ fi SOURCE_DATE_EPOCH=${PLUGIN_SOURCE_DATE_EPOCH:-0} if [[ -n "${PLUGIN_AUTH:-}" ]]; then - mkdir -p "$HOME/.docker" - echo "$PLUGIN_AUTH" | jq -r 'to_entries|map({(.key):{"auth":(.value.username+":"+.value.password)|@base64}})|add|{"auths":.}' > "$HOME/.docker/config.json" - echo "Stored credentials at $HOME/.docker/config.json" + DOCKER_CONFIG=${DOCKER_CONFIG:-$PWD} + mkdir -p "$DOCKER_CONFIG" + echo "$PLUGIN_AUTH" | jq -r 'to_entries|map({(.key):{"auth":(.value.username+":"+.value.password)|@base64}})|{"auths":.}' > "$DOCKER_CONFIG/config.json" + echo Stored credentials at "$DOCKER_CONFIG/config.json" echo fi @@ -42,7 +43,6 @@ COMMAND="$COMMAND --local dockerfile='$BUILDCTL_DOCKERFILE'" if [[ "${PLUGIN_PLATFORM:-}" == "true" ]]; then COMMAND="$COMMAND --opt platform='$PLUGIN_PLATFORM'" fi -s # https://github.com/moby/buildkit/blob/master/README.md#output OUTPUT="" if [[ -n "${PLUGIN_NAME:-}" ]]; then @@ -79,8 +79,7 @@ echo echo -e "SOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH ${COMMAND// --/\\n --}" echo -echo "$HOME/.docker/config.json" -cat "$HOME/.docker/config.json" | base64 -w0 -cat "$HOME/.docker/config.json" | jq - +echo "$DOCKER_CONFIG/config.json" +cat "$DOCKER_CONFIG/config.json" | base64 -w0 +cat "$DOCKER_CONFIG/config.json" | jq eval "$COMMAND"