cromwell icon indicating copy to clipboard operation
cromwell copied to clipboard

Add support for ghcr.io Docker images

Open aofarrel opened this issue 2 years ago • 2 comments

Cromwell doesn't support images from ghcr.io. Not sure if there's a workaround besides personally rehosting the image somewhere else. Seeing as a lot of bioinformatics images are hosted there I'd like to see it be supported.

error returned

[2022-08-11 12:40:55,22] [warn] BackendPreparationActor_for_e48a0b67:Minos.minos_adjudicate:-1:1 [e48a0b67]: Docker lookup failed java.lang.Exception: Registry ghcr.io is not supported

backend

Running Cromwell on a local machine, eventually will be running in Terra. My local machine has Docker installed and already has the required Docker image pulled.

relevant workflow task

task minos_adjudicate {
	input {
		File ref
		File reads
		File vcf1
		File vcf2

		# runtime attributes
		Int addldisk = 1
		Int cpu = 4
		Int retries = 1
		Int memory = 8
		Int preempt = 2
	}
	# Estimate disk size required
	Int ref_size = ceil(size(ref, "GB"))
	Int finalDiskSize = 2*ref_size + addldisk

	String ref_basename = basename(ref)

	command <<<
		# softlinks don't seem to cut it here
		set -eux -o pipefail
		cp ~{ref} .
		minos adjudicate --reads ~{reads} outdir ~{ref} ~{vcf1} ~{vcf2}
	>>>
	
	runtime {
		cpu: cpu
		docker: "ghcr.io/iqbal-lab-org/minos"
		disks: "local-disk " + finalDiskSize + " HDD"
		maxRetries: "${retries}"
		memory: "${memory} GB"
		preemptibles: "${preempt}"
	}
}

aofarrel avatar Aug 11 '22 19:08 aofarrel

Did some testing with the Dockstore team and concluded that ghcr.io images do technically seem to be getting pulled, but there's an issue with the hash. In the short term it might be acceptable to make the warning explain what "not supported" actually means, but ghcr.io seems to be increasing in popularity so it's likely best to add full official support.

aofarrel avatar Aug 17 '22 20:08 aofarrel