Is there a reason we use the `<container_platfo...
# tools
m
Is there a reason we use the
<container_platform>.registry
in the config and not include it with the module itself? https://github.com/nf-core/tools/blob/99b23f0366232d793a82e71f28b2e621c382b889/nf_core/pipeline-template/nextflow.config#L245-L249 It seems to cause problems for users outside of nf-core who want to use nf-core modules and don't know this also needs to be included into their config ( or are not using a slimmed down nf-core template )
m
my guess is that this makes it easier to switch around, in case we switch it. looks like @Adam Talbot added it initially https://github.com/nf-core/tools/pull/2233
a
> my guess is that this makes it easier to switch around This. At the time, we had 2 big things moving: • AWS had published a mirror for biocontainers (but didn't include mulled 🙄) • quay.io fell over every 5 minutes and any users who need reliability needed to secure their supply chain and have a private mirror. The default docker behaviour can use a docker.registry but allow for a manual override, so setting docker.registry is the best(ish) compromise, unless you want to write a 3000 line config file for every pipeline update. Recently, this is less important because the AWS mirror has gone and we have tools such as Wave to use for mirroring.
This has always felt to me like a bodge on top of bodges, there should be just an idempotent service that stores containers in your private registry at first use
Most cloud providers have a pull through cache technology but it's very hard to set up