-
Notifications
You must be signed in to change notification settings - Fork 5
docs: Restructure Enteprise networking. #556
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for seqera-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
We need to update the IP addresses listed in the documentation. I'm also wondering if it makes sense to include them there at all. Additionally, we should add a list of the services that sit behind those IPs for better clarity. At the moment, the documentation focuses only on the Enterprise offering, but there are scenarios where Cloud customers also need access to this information, so we may want to expand the scope accordingly. On a related note, we've recently updated meta.seqera.io to display both ingress and egress IPs, which should make it easier to surface and maintain this information. I updated this PR to show the correct IPs, which should look like below. |
bebosudo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seqera Cloud requires no inbound connectivity to their environment.
I'm not sure that's correct; take the case of customers who are using the wave service with mirror and/or freeze functionalities, they'd need to allowlist our egress IPs in order for wave to store images in their Container Registry of choice, or for Fusion to call home, etc
platform-enterprise_versioned_docs/version-25.1/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-enterprise_versioned_docs/version-25.1/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-enterprise_versioned_docs/version-25.1/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-enterprise_versioned_docs/version-25.1/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-enterprise_versioned_docs/version-25.1/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-enterprise_versioned_docs/version-25.1/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-cloud/docs/enterprise/advanced-topics/firewall-configuration.md
Show resolved
Hide resolved
platform-enterprise_versioned_docs/version-25.1/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-cloud/docs/enterprise/advanced-topics/firewall-configuration.md
Show resolved
Hide resolved
53eb7a2 to
e54de3c
Compare
bebosudo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't a complete review, but I'll continue the discussion on slack
platform-enterprise_docs/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-enterprise_docs/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-enterprise_docs/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-enterprise_docs/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-enterprise_docs/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-enterprise_docs/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-enterprise_docs/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
platform-enterprise_docs/enterprise/configuration/networking.md
Outdated
Show resolved
Hide resolved
Co-authored-by: Alberto Chiusole <1922124+bebosudo@users.noreply.github.com> Signed-off-by: Gavin <gav.elder@gmail.com>
bebosudo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd probably restructure this page by moving the Platform vs CE explanation first, then the two tables with requirements, then the section about DNS/IP (both Seqera's and Cloudflare's) allowlisting, and finally the detailed explanation of each service
Requesting changes because the tables need to be updated
| tags: [networking, configuration] | ||
| --- | ||
|
|
||
| Seqera Platform Enterprise requires inbound and outbound connections to external services. This page details the ingress and egress networking considerations required for your Seqera Enterprise deployment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Seqera Platform Enterprise requires inbound and outbound connections to external services. This page details the ingress and egress networking considerations required for your Seqera Enterprise deployment. | |
| Seqera Platform Enterprise requires inbound and outbound connections to external services: this page details the required ingress and egress networking considerations. |
|
|
||
| Understanding the distinction between Platform and Compute environment networking requirements is essential for configuring your firewall rules: | ||
|
|
||
| **Platform requirements** refer to network connectivity needed by your Seqera Platform instance itself. This includes connections for license validation, user authentication, accessing platform resources, and managing pipeline definitions. These connections originate from the server or infrastructure where your Seqera Platform application is installed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| **Platform requirements** refer to network connectivity needed by your Seqera Platform instance itself. This includes connections for license validation, user authentication, accessing platform resources, and managing pipeline definitions. These connections originate from the server or infrastructure where your Seqera Platform application is installed. | |
| **Platform requirements** refer to the network connectivity required by your Seqera Platform instance. This includes connections for license validation, user authentication, access to platform resources, and management of pipeline definitions. These connections originate from the server or infrastructure where your Platform Enterprise application is installed. |
|
|
||
| **Platform requirements** refer to network connectivity needed by your Seqera Platform instance itself. This includes connections for license validation, user authentication, accessing platform resources, and managing pipeline definitions. These connections originate from the server or infrastructure where your Seqera Platform application is installed. | ||
|
|
||
| **Compute environment requirements** refer to network connectivity needed by the infrastructure where Nextflow pipeline jobs execute. This includes connections for pulling pipeline code, downloading container images, accessing data sources, and utilizing Seqera enterprise features like Fusion or Wave. These connections originate from your compute resources (e.g., Kubernetes clusters, AWS Batch, Azure Batch, HPC clusters). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| **Compute environment requirements** refer to network connectivity needed by the infrastructure where Nextflow pipeline jobs execute. This includes connections for pulling pipeline code, downloading container images, accessing data sources, and utilizing Seqera enterprise features like Fusion or Wave. These connections originate from your compute resources (e.g., Kubernetes clusters, AWS Batch, Azure Batch, HPC clusters). | |
| **Compute environment requirements** refer to the network connectivity needed by the infrastructure where Nextflow pipeline jobs execute, which is provisioned on-demand by your Platform Enterprise installation. This includes connections for pulling pipeline code, downloading container images, accessing data sources, and using Seqera enterprise features, like Fusion or Wave. These connections originate from your compute resources (e.g., Kubernetes clusters, AWS Batch, Azure Batch, HPC clusters). |
|
|
||
| **Compute environment requirements** refer to network connectivity needed by the infrastructure where Nextflow pipeline jobs execute. This includes connections for pulling pipeline code, downloading container images, accessing data sources, and utilizing Seqera enterprise features like Fusion or Wave. These connections originate from your compute resources (e.g., Kubernetes clusters, AWS Batch, Azure Batch, HPC clusters). | ||
|
|
||
| In many deployments, Platform and Compute environments are isolated from each other with different network security policies. Ensure you configure firewall rules for both environments according to their respective requirements. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| In many deployments, Platform and Compute environments are isolated from each other with different network security policies. Ensure you configure firewall rules for both environments according to their respective requirements. | |
| Refer to the [Platform architecture](../overview) for details on how Platform works. | |
| In many deployments, Platform and Compute environments are isolated from each other with different network security policies. Ensure you configure firewall rules for both environments according to their respective requirements. |
| | `cerbero.seqera.io` | 443 | Optional | Wave authentication | | ||
| | `public.wave.seqera.io` | 443 | Optional | Wave public services | | ||
| | `private.wave.seqera.io` | 443 | Optional | Wave private services | | ||
| | `community.wave.seqera.io` | 443 | Optional | Wave community services | | ||
| | `public.cr.seqera.io` | 443 | Optional | Container registry | | ||
| | `private.cr.seqera.io` | 443 | Optional | Container registry | | ||
| | `community.cr.seqera.io` | 443 | Optional | Container registry | | ||
| | `auth.cr.seqera.io` | 443 | Optional | Container registry auth | | ||
| | `cr.seqera.io` | 443 | Optional | Container registry | | ||
| | `ai.seqera.io` | 443 | Optional | Seqera AI | | ||
| | `api.multiqc.info` | 443 | Optional | MultiQC reports | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A bunch of these hostnames don't exist or their description isn't correct, I can help fix them if needed
| | Domain | Port | Required | Purpose | | ||
| | --------------------------------------------------------- | ---- | ----------- | ---------------------------------------------- | | ||
| | `licenses.seqera.io` | 443 | Conditional | License validation (Fusion/Enterprise plugins) | | ||
| | `cerbero.seqera.io` | 443 | Conditional | License validation | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| | `cerbero.seqera.io` | 443 | Conditional | License validation | | |
| | `cerbero.seqera.io` | 443 | Conditional | Auth service for Community CR | |
Currently the network configuration requirements for Cloud are within the Enterprise section as such these have been moved to the Cloud under
enterprise/advanced-topics/firewall-configuration.mdThe original content can be viewed at https://docs.seqera.io/platform-enterprise/25.1/enterprise/advanced-topics/firewall-configuration
Further to that for Enterprise customers self-hosting their own installation
licences.seqera.ioon port 443 the ip addresses for this are the ones defined asingressat https://meta.seqera.ioEnterprise Plugins & Fusion
Seqera Enterprise plugins & fusion have licence checking built-in as such it's not sufficient to only allow outbound traffic to port 443 from the Seqera Enterprise installation , they will also have to allow network traffic from the Compute Environment executing the Nextflow jobs.
Wave
If the customer is using Seqera Cloud hosted Wave and they're using the Mirror or Freeze functionality which requires Wave to store built containers within their container registry then they will have to ensure that the wave-build VPC is allowed to push to their container registry, for most cloud providers this requires additional configuration to lock down as such it's not normally a problem.
These would be the IP addresses on port 443 defined as
egressat https://meta.seqera.ioIf the customer would like to restrict outbound traffic from their installation they would be responsible for ensuring they allow access to Seqera Assets hosted on Cloudflare along with Nextflow assets hosted on Github artifacts along with any code hosting solutions or third party dependancies they're using such as Github / Gitlab / Artifactory.
Structure.
I have tried to follow the following structure for the networking requirements.
The main item I am trying to do with the docs is inform the customer of our networking needs and how their pipeline and external services used create different networking requirements slightly outside of the scope of our documentation as it's non-exhaustive and they should take into consideration their intended usage patterns.
In short customers only need Licence manager access & cloud info as an optional service all other items can be hosted inside their internal network and are not required for platform to function.
There is a feature of Studios which needs to talk to wave however this is not released fully and is being re-worked by the team.