concourse / concourse/docker-image-resource
PUT doesn't add ref to INPUT when registry mirror is set.
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 162
- Forks
- 250
- PR merge metrics
- No merged PRs in 30d
Description
Disclaimer, this could be just because of a specific registry mirror, we use Artifactory.
Context: With the Docker Hub rate limit hell, we upgraded to Concourse 6.7.1 and setup a registry-mirror for docker-image and registry-image.
Issue: We have a build step that is then used by a task right after.
- name: build-pull-request
plan:
- get: pull-request
- get: labels
- put: ci-image
inputs:
- pull-request
- labels
get_params: { skip_download: true }
params:
cache: true
build: pull-request
tag_file: ./labels/tag_ci
labels_file: ./labels/file.json
target_name: dev
build_args:
ARTIFACTORY_CREDENTIALS: ((artifactory.username)):((artifactory.password))
- name: do-stuff
plan:
- get: ci-image
passed: [build-pull-request]
version: every
trigger: true
And what happens is that when the put: ci-image is done, get: ci-image in do-stuff never gets its input.
We did the following:
- name: docker-image-no-mirror
type: registry-image
privileged: true
source:
repository: concourse/docker-image-resource
tag: 1.5.1
And changed the type of ci-image to docker-image-no-mirror and VOILA, refs are filled correctly now.
Now, we still haven't looked at why, but this should help trace it at least.
Feel free to change the title, it's hard to explain that bug in a one liner :/
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported pipeline with a registry mirror and compare it with the docker-image-no-mirror configuration using concourse/docker-image-resource version 1.5.1. Trace how the put: ci-image result is passed to the following get: ci-image; done means the get receives its input and the behavior is consistent with and without the mirror.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100