Skip to content

Commit

Permalink
Merge branch 'master' into fusion-docs-overhaul
Browse files Browse the repository at this point in the history
  • Loading branch information
llewellyn-sl authored Sep 19, 2024
2 parents 622c8a8 + 571821a commit 125f62c
Show file tree
Hide file tree
Showing 38 changed files with 327 additions and 136 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,39 @@ date: "12 Apr 2023"
tags: [firewall, configuration]
---

Seqera Platform Cloud ([tower.nf](https://tower.nf)) 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.
Seqera Platform Cloud ([cloud.seqera.io](https://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 https://meta.seqera.io/v1/.
A dynamic list of IPs is kept up-to-date at https://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:

```python
$ python3
>>> import requests
>>> requests.get("https://meta.seqera.io/v1/").json()
{'tower.nf': ['18.171.4.252/32', '18.135.7.45/32', '18.169.21.18/32']}
>>> requests.get("https://meta.seqera.io").json()
{
"cloud.seqera.io": [
"18.135.7.45/32",
"18.169.21.18/32",
"18.171.4.252/32"
],
"licenses.seqera.io": [
"35.176.121.51/32",
"35.178.254.247/32"
]
}
```

### DNS allowlist

In order for you to access resources such as Fusion tarballs, `nf-xpack` files, Wave cloud containers and other services, 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:

- `fusionfs.seqera.io.cdn.cloudflare.net`
- `nf-xpack.seqera.io.cdn.cloudflare.net`
- `wave-cache-prod-cloudflare.seqera.io.cdn.cloudflare.net`

If you chose to filter by specific DNS records, please note that new services may be added in the future.

:::note
If your allowlist is based on IP addresses, allow all of the following IP addresses: https://www.cloudflare.com/ips/.
:::
Binary file not shown.
53 changes: 35 additions & 18 deletions platform_versioned_docs/version-23.4/api/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,51 +5,68 @@ date: "15 Mar 2024"
tags: [api]
---

The Seqera Platform public API provides endpoints to manage Nextflow workflows programmatically, allowing organizations to incorporate Seqera seamlessly into their existing processes.
import MDXComponents from "@theme-original/MDXComponents";
import Button from "@site/src/components/Button";

:::note
As of version 23.4, the Seqera API is live on `https://api.cloud.seqera.io`. The legacy API `https://api.tower.nf` remains fully operational, so existing API integrations will continue to perform as expected. Deprecation of the legacy API will be communicated well in advance to avoid any breaking changes to your integrations.
The Seqera Platform services API is a programmatic interface for all operations available in the Platform web UI. This allows organizations to integrate Platform seamlessly into existing processes.

### API reference

The Platform API reference is an interactive list of all API endpoints and includes request and response payload examples to test requests in the browser.

:::info
The API requires authentication with a Platform access token to perform requests.

<Button label="Create an access token" link="https://cloud.seqera.io/tokens" />
:::

The API can be accessed from `https://api.cloud.seqera.io`. All API endpoints use HTTPS, and all request and response payloads use [JSON](https://www.json.org/) encoding. All timestamps use the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) date-time standard format: `YYYY-MM-DDTHH:MM:SSZ`.
<Button label="Platform OpenAPI reference" link="https://cloud.seqera.io/openapi/index.html" />

### OpenAPI
The API and its interactive reference is built on the OpenAPI standard. Download the current OpenAPI schema file here:

The Seqera API uses the OpenAPI standard. The current OpenAPI schema can be found [here](https://cloud.seqera.io/openapi/seqera-api-latest.yml).
<Button label="Download Platform OpenAPI schema" link="https://cloud.seqera.io/openapi/seqera-api-latest.yml" />

:::tip
For more information on the OpenAPI standard, see [OpenAPI](https://swagger.io/specification/).
:::

### Endpoints
### Encoding and formatting standards

See [Seqera Platform services API](https://cloud.seqera.io/openapi/index.html) for a detailed list of all endpoints. This page includes request and response payload examples, and the ability to test each endpoint interactively.
- The API can be accessed from `https://api.cloud.seqera.io`.
- All API endpoints use HTTPS, and all request and response payloads use [JSON](https://www.json.org/) encoding.
- All timestamps use the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) date-time standard format: `YYYY-MM-DDTHH:MM:SSZ`.

:::note
From version 23.4, the Platform API is live on `https://api.cloud.seqera.io`. The legacy API `https://api.tower.nf` remains fully operational, so existing API integrations will continue to perform as expected. Deprecation of the legacy API will be communicated well in advance to avoid any breaking changes to your integrations.
:::

### Programmatic API

You can use tools such as [openapi-python-client](https://github.com/openapi-generators/openapi-python-client) to generate a programmatic API for a particular language (e.g., Python) based on the OpenAPI schema. However, we do not guarantee that any OpenAPI client generators will work with Seqera API.
Both the [Platform CLI](../cli/overview.mdx) and [seqerakit](https://github.com/seqeralabs/seqera-kit) are built on the Platform API and provide a programmatic automation layer for operations in Platform.

You can also use tools such as [openapi-python-client](https://github.com/openapi-generators/openapi-python-client) to generate your own programmatic API for a particular language (such as Python) based on the OpenAPI schema. However, we do not guarantee that any OpenAPI client generators will work with the Platform API.

### Authentication

The API requires an authentication token to be specified in each API request using the
[Bearer](https://swagger.io/docs/specification/authentication/bearer-authentication) HTTP header.

Your personal authorization token can be found in the user menu under [**Your tokens**](https://cloud.seqera.io/tokens).

To create a new access token, provide token name and select **Create**.
Once created, use your access token to authenticate requests to the API via cURL, Postman, or within your code.

The token is only displayed once. Store your token in a safe place.
<Button label="Create an access token" link="https://cloud.seqera.io/tokens" />

Once created, use the token to authenticate requests to the API via cURL, Postman, or within your code.
:::note
The token is only displayed once when it is created. Store your token in a safe place.
:::

### cURL example

```bash
curl -H "Authorization: Bearer eyJ...YTk0" https://api.cloud.seqera.io/workflow
```

:::tip
Your token must be included in every API call. See [Bearer token authentication](https://swagger.io/docs/specification/authentication/bearer-authentication) for more information.
:::info
Your access token must be included in every API call.
:::

### Parameters
Expand All @@ -68,7 +85,7 @@ curl -H "Authorization: Bearer QH..E5M="
### Client errors
Two typical standard errors, i.e., not `200` or `204` status responses, are returned by the API.
Two typical standard errors (i.e., response statuses other than `200` or `204`) are returned by the API.
#### Bad Request
Expand All @@ -82,7 +99,7 @@ The request payload is not properly defined or the query parameters are invalid.
#### Forbidden
Your access token is invalid or expired. This response may also imply that the entry point you are trying to access is not available. Check your request syntax for typos, and confirm that your access token is valid.
Your access token is invalid or expired. This response may also imply that the endpoint you are trying to access is not available. Check your request syntax for typos, and confirm that your access token is valid.
```bash
Status: 403 Forbidden
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,27 @@ date: "12 Apr 2023"
tags: [firewall, configuration]
---

Seqera Platform Cloud ([tower.nf](https://tower.nf)) 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.
Seqera Platform Cloud ([cloud.seqera.io](https://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 https://meta.seqera.io/v1/.
A dynamic list of IPs is kept up-to-date at https://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:

```python
$ python3
>>> import requests
>>> requests.get("https://meta.seqera.io/v1/").json()
{'tower.nf': ['18.171.4.252/32', '18.135.7.45/32', '18.169.21.18/32']}
>>> requests.get("https://meta.seqera.io").json()
{
"cloud.seqera.io": [
"18.135.7.45/32",
"18.169.21.18/32",
"18.171.4.252/32"
],
"licenses.seqera.io": [
"35.176.121.51/32",
"35.178.254.247/32"
]
}
```

### DNS allowlist
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Cloud costs"
title: "Monitoring cloud costs"
description: Guidelines for monitoring Seqera Platform cloud expenditure
date: "12 Apr 2023"
tags: [aws, gcp, azure, cloud costs, cost, billing, alerts]
Expand Down
Binary file not shown.
53 changes: 35 additions & 18 deletions platform_versioned_docs/version-24.1/api/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,51 +5,68 @@ date: "15 Mar 2024"
tags: [api]
---

The Seqera Platform public API provides endpoints to manage Nextflow workflows programmatically, allowing organizations to incorporate Seqera seamlessly into their existing processes.
import MDXComponents from "@theme-original/MDXComponents";
import Button from "@site/src/components/Button";

:::note
As of version 23.4, the Seqera API is live on `https://api.cloud.seqera.io`. The legacy API `https://api.tower.nf` remains fully operational, so existing API integrations will continue to perform as expected. Deprecation of the legacy API will be communicated well in advance to avoid any breaking changes to your integrations.
The Seqera Platform services API is a programmatic interface for all operations available in the Platform web UI. This allows organizations to integrate Platform seamlessly into existing processes.

### API reference

The Platform API reference is an interactive list of all API endpoints and includes request and response payload examples to test requests in the browser.

:::info
The API requires authentication with a Platform access token to perform requests.

<Button label="Create an access token" link="https://cloud.seqera.io/tokens" />
:::

The API can be accessed from `https://api.cloud.seqera.io`. All API endpoints use HTTPS, and all request and response payloads use [JSON](https://www.json.org/) encoding. All timestamps use the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) date-time standard format: `YYYY-MM-DDTHH:MM:SSZ`.
<Button label="Platform OpenAPI reference" link="https://cloud.seqera.io/openapi/index.html" />

### OpenAPI
The API and its interactive reference is built on the OpenAPI standard. Download the current OpenAPI schema file here:

The Seqera API uses the OpenAPI standard. The current OpenAPI schema can be found [here](https://cloud.seqera.io/openapi/seqera-api-latest.yml).
<Button label="Download Platform OpenAPI schema" link="https://cloud.seqera.io/openapi/seqera-api-latest.yml" />

:::tip
For more information on the OpenAPI standard, see [OpenAPI](https://swagger.io/specification/).
:::

### Endpoints
### Encoding and formatting standards

See [Seqera Platform services API](https://cloud.seqera.io/openapi/index.html) for a detailed list of all endpoints. This page includes request and response payload examples, and the ability to test each endpoint interactively.
- The API can be accessed from `https://api.cloud.seqera.io`.
- All API endpoints use HTTPS, and all request and response payloads use [JSON](https://www.json.org/) encoding.
- All timestamps use the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) date-time standard format: `YYYY-MM-DDTHH:MM:SSZ`.

:::note
From version 23.4, the Platform API is live on `https://api.cloud.seqera.io`. The legacy API `https://api.tower.nf` remains fully operational, so existing API integrations will continue to perform as expected. Deprecation of the legacy API will be communicated well in advance to avoid any breaking changes to your integrations.
:::

### Programmatic API

You can use tools such as [openapi-python-client](https://github.com/openapi-generators/openapi-python-client) to generate a programmatic API for a particular language (e.g., Python) based on the OpenAPI schema. However, we do not guarantee that any OpenAPI client generators will work with Seqera API.
Both the [Platform CLI](../cli/overview.mdx) and [seqerakit](https://github.com/seqeralabs/seqera-kit) are built on the Platform API and provide a programmatic automation layer for operations in Platform.

You can also use tools such as [openapi-python-client](https://github.com/openapi-generators/openapi-python-client) to generate your own programmatic API for a particular language (such as Python) based on the OpenAPI schema. However, we do not guarantee that any OpenAPI client generators will work with the Platform API.

### Authentication

The API requires an authentication token to be specified in each API request using the
[Bearer](https://swagger.io/docs/specification/authentication/bearer-authentication) HTTP header.

Your personal authorization token can be found in the user menu under [**Your tokens**](https://cloud.seqera.io/tokens).

To create a new access token, provide token name and select **Create**.
Once created, use your access token to authenticate requests to the API via cURL, Postman, or within your code.

The token is only displayed once. Store your token in a safe place.
<Button label="Create an access token" link="https://cloud.seqera.io/tokens" />

Once created, use the token to authenticate requests to the API via cURL, Postman, or within your code.
:::note
The token is only displayed once when it is created. Store your token in a safe place.
:::

### cURL example

```bash
curl -H "Authorization: Bearer eyJ...YTk0" https://api.cloud.seqera.io/workflow
```

:::tip
Your token must be included in every API call. See [Bearer token authentication](https://swagger.io/docs/specification/authentication/bearer-authentication) for more information.
:::info
Your access token must be included in every API call.
:::

### Parameters
Expand All @@ -68,7 +85,7 @@ curl -H "Authorization: Bearer QH..E5M="
### Client errors
Two typical standard errors, i.e., not `200` or `204` status responses, are returned by the API.
Two typical standard errors (i.e., response statuses other than `200` or `204`) are returned by the API.
#### Bad Request
Expand All @@ -82,7 +99,7 @@ The request payload is not properly defined or the query parameters are invalid.
#### Forbidden
Your access token is invalid or expired. This response may also imply that the entry point you are trying to access is not available. Check your request syntax for typos, and confirm that your access token is valid.
Your access token is invalid or expired. This response may also imply that the endpoint you are trying to access is not available. Check your request syntax for typos, and confirm that your access token is valid.
```bash
Status: 403 Forbidden
Expand Down
6 changes: 3 additions & 3 deletions platform_versioned_docs/version-24.1/cloud/changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ tags: [changelog]

### v24.2.0_cycle23 Cloud - 2 September 2024

Fix: [Data Explorer] enable task working directory navigation using Data Explorer in personal workspaces by adding routing
Fix: Remove -/+ increment buttons from numeric input components in Platform, including compute environment and launch form interfaces
Fix: Hide compute environment variables section actions when component is disabled (previously indicated that environment variables could be edited in this state)
- Fix: [Data Explorer] enable task working directory navigation using Data Explorer in personal workspaces by adding routing
- Fix: Remove -/+ increment buttons from numeric input components in Platform, including compute environment and launch form interfaces
- Fix: Hide compute environment variables section actions when component is disabled (previously indicated that environment variables could be edited in this state)

### 24.2.0_cycle21 Cloud - 13 August 2024

Expand Down
2 changes: 1 addition & 1 deletion platform_versioned_docs/version-24.1/data/data-studios.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Data Studios is a unified platform where you can host a combination of container
On Seqera Cloud, the free tier permits only one running data studio session at a time. To run simultaneous data studios, [contact Seqera][contact] for a Seqera Cloud Pro license.

:::note
Data Studios is currently in **public preview** and is available from Seqera Platform v24.1.1. If you experience any problems during the deployment process please contact your account executive. Data Studios in Enterprise is not enabled by default. You can enable Data Studios in the [environment variables configuration](../enterprise/data-studios.mdx).
Data Studios is currently in **public preview** and is available from Seqera Platform v24.1. If you experience any problems during the deployment process please contact your account executive. Data Studios in Enterprise is not enabled by default. You can enable Data Studios in the [environment variables configuration](../enterprise/data-studios.mdx).
:::

**Requirements**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
},
{
"Name": "cron",
"Image": "cr.seqera.io/private/nf-tower-enterprise/backend:v24.1.4",
"Image": "cr.seqera.io/private/nf-tower-enterprise/backend:v24.1.5",
"Memory": 2000,
"Cpu": 0,
"Links": [
Expand Down Expand Up @@ -192,7 +192,7 @@
},
{
"Name": "frontend",
"Image": "cr.seqera.io/private/nf-tower-enterprise/frontend:v24.1.4",
"Image": "cr.seqera.io/private/nf-tower-enterprise/frontend:v24.1.5",
"Memory": 2000,
"Cpu": 0,
"Essential": false,
Expand All @@ -215,7 +215,7 @@
"Hostname": "backend",
"Memory": 2000,
"Cpu": 0,
"Image": "cr.seqera.io/private/nf-tower-enterprise/backend:v24.1.4",
"Image": "cr.seqera.io/private/nf-tower-enterprise/backend:v24.1.5",
"PortMappings": [{
"ContainerPort": 8080,
"HostPort": 8080
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ services:
- $HOME/.tower/db/redis:/data

migrate:
image: cr.seqera.io/private/nf-tower-enterprise/migrate-db:v24.1.3
image: cr.seqera.io/private/nf-tower-enterprise/migrate-db:v24.1.5
platform: linux/amd64
command: -c "/migrate-db.sh"
networks:
Expand All @@ -57,7 +57,7 @@ services:
condition: service_healthy

cron:
image: cr.seqera.io/private/nf-tower-enterprise/backend:v24.1.4
image: cr.seqera.io/private/nf-tower-enterprise/backend:v24.1.5
platform: linux/amd64
command: -c '/tower.sh'
networks:
Expand All @@ -76,7 +76,7 @@ services:


backend:
image: cr.seqera.io/private/nf-tower-enterprise/backend:v24.1.4
image: cr.seqera.io/private/nf-tower-enterprise/backend:v24.1.5
platform: linux/amd64
command: -c '/wait-for-it.sh db:3306 -t 60; /tower.sh'
networks:
Expand All @@ -101,7 +101,7 @@ services:
- cron

frontend:
image: cr.seqera.io/private/nf-tower-enterprise/frontend:v24.1.4
image: cr.seqera.io/private/nf-tower-enterprise/frontend:v24.1.5
platform: linux/amd64
networks:
- frontend
Expand Down
Loading

0 comments on commit 125f62c

Please sign in to comment.