Firewall configuration
Seqera Platform Cloud (cloud.seqera.io) may need to connect to resources within your network, e.g., your storage server. To do so, your firewall must be configured to allow certain IPs to reach your resources.
A dynamic list of IPs is kept up-to-date at meta.seqera.io.
This endpoint returns a JSON object that can be parsed to dynamically adapt your firewall, e.g., in Python with the requests package:
$ python3
>>> import requests
>>> requests.get("https://meta.seqera.io").json()
{
"egress": ["a.b.c.d/32", "..."],
"ingress": ["e.f.g.h/32", "..."]
}
The response contains two lists. The list you need depends on the direction of the traffic:
| To allow | Use | The list contains |
|---|---|---|
| Seqera to reach a resource in your network, such as your storage server, container registry, or Git server | egress | The addresses Seqera connects from |
Your Platform Enterprise installation or a compute environment to reach a Seqera service, such as wave.seqera.io | ingress | The addresses Seqera services are reachable at |
You only need the ingress list if your outbound rules are IP-based rather than DNS-based. For DNS-based rules, see DNS allowlist.
Always query meta.seqera.io when you build or review your firewall rules. The addresses change as services are added, so a copied list becomes stale.
Wave
Wave traffic runs in both directions, and each direction uses a different list:
- To let Wave read from or write into your container registry, allow the
egressaddresses in your registry's network rules. Wave connects to your registry from Seqera's network in every mode, including augment, mirror, and freeze. - To let your installation or compute environment call Wave, allow the
ingressaddresses in your outbound rules if those rules are IP-based.
Wave cannot reach a registry that is exposed only through a private endpoint inside your network, and allowlisting does not change this. See Registries behind a private endpoint.
DNS allowlist
In order for you to access resources such as Fusion tarballs, nf-xpack files, Wave cloud containers and other services provided by Seqera, you'll need to add *.seqera.io.cdn.cloudflare.net to the allowlist in your network firewall. If DNS wildcards aren't supported by your firewall, you can use the following:
cloud.seqera.ioapi.cloud.seqera.iouser-data.cloud.seqera.iotower.nfapi.tower.nfconnect.cloud.seqera.ioand its subdomains*.connect.cloud.seqera.iohub.seqera.iointern.seqera.ioai.seqera.ioai-api.seqera.iowave.seqera.iocommunity.wave.seqera.iocerbero.seqera.iopublic.cr.seqera.ioauth.cr.seqera.iocr.seqera.iolicenses.seqera.ioapi.multiqc.infofusionfs.seqera.ionf-xpack.seqera.iocommunity-cr-prod.seqera.iofusionfs.seqera.ionf-xpack.seqera.iopublic-cr-prod.seqera.iowave-cache-prod-cloudflare.seqera.iofusionfs.seqera.io.cdn.cloudflare.netnf-xpack.seqera.io.cdn.cloudflare.netcommunity-cr-prod.seqera.io.cdn.cloudflare.netfusionfs.seqera.io.cdn.cloudflare.netnf-xpack.seqera.io.cdn.cloudflare.netpublic-cr-prod.seqera.io.cdn.cloudflare.netwave-cache-prod-cloudflare.seqera.io.cdn.cloudflare.netregistry.nextflow.io(required from Nextflow 25.10)
Nextflow makes network calls to the registry.nextflow.io domain to resolve and download plugins. Even when plugins are already cached locally, Nextflow makes calls to the registry to check for updates and resolve plugin metadata. Ensure this domain is included in your allowlist to prevent pipeline execution failures.
If you chose to filter by specific DNS records, please note that new services may be added in the future.
If your allowlist is based on IP addresses, allow all of the following IP addresses: https://www.cloudflare.com/ips/.