Skip to content

Commit

Permalink
Merge branch 'master' into groundswell-regex
Browse files Browse the repository at this point in the history
  • Loading branch information
justinegeffen authored Oct 15, 2024
2 parents c720fd7 + 9426b6e commit a77a645
Show file tree
Hide file tree
Showing 34 changed files with 2,178 additions and 118 deletions.
2 changes: 2 additions & 0 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -277,11 +277,13 @@ export default async function createConfigAsync() {
"json",
"yaml",
"groovy",
"java",
"ini",
"nginx",
"bash",
"docker",
"python",
"r",
"typescript",
],
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -495,14 +495,21 @@ Do not replace the [Seqera-provided default image](../../functionality_matrix/fu

## Seqera API

Enable the API endpoints to host the Seqera Enterprise OpenAPI specification and use the [tw CLI](https://github.com/seqeralabs/tower-cli).
Enable the API endpoints to host the Seqera Enterprise OpenAPI specification and use the [tw CLI](https://github.com/seqeralabs/tower-cli). Set custom API rate limits and timeouts.

:::note
To configure API rate limit environment variables, you must add `ratelim` to the `MICRONAUT_ENVIRONMENTS`. Without `ratelim` being set, the rate limit configuration variables below are ignored.
:::

<Tabs>
<TabItem value="Environment variables" label="Environment variables" default>

| Environment variable | Description | Value |
| ---------------------- | ----------------------------------------------------------------------------- | --------------- |
| `TOWER_ENABLE_OPENAPI` | Enable the OpenAPI documentation endpoint, e.g., [cloud.seqera.io/openapi/index.html](https://cloud.seqera.io/openapi/index.html). | Default: `true` |
| `TOWER_RATELIMIT_PERIOD` | Specify the maximum number of HTTP requests that can be made during the `TOWER_RATELIMIT_REFRESH` period. | Default: `20` |
| `TOWER_RATELIMIT_REFRESH` | API rate limit refresh period. | Default: `1s` |
| `TOWER_RATELIMIT_TIMEOUT` | The waiting period before rejecting requests over the `TOWER_RATELIMIT_PERIOD` limit during the refresh period. | Default: `500ms` |

</TabItem>
</Tabs>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ To launch pipelines directly with CLI tools, select the **Launch Pipeline** tab
![Launch Seqera Pipeline](assets/seqera-pipelines-launch-cli.png)
:::

### Add nf-core/rnaseq from the Launchpad
### Add nf-core/rnaseq manually

![Add nf-core/rnaseq pipeline](assets/sp-cloud-add-rnaseq.gif)

Expand Down
752 changes: 752 additions & 0 deletions platform_versioned_docs/version-23.4/getting-started/rnaseq.mdx

Large diffs are not rendered by default.

229 changes: 145 additions & 84 deletions platform_versioned_docs/version-24.1/compute-envs/azure-batch.mdx

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Alternatively, you can enable each API manually by selecting your project in the

### IAM

Seqera requires a service account with appropriate permissions to interact with your Google Cloud resources. As an IAM user, you must have access to the service account that will be submitting Batch jobs.
Seqera requires a service account with appropriate permissions to interact with your Google Cloud resources. As an IAM user, you must have access to the service account that submits Batch jobs.

:::caution
By default, Google Cloud Batch uses the default Compute Engine service account to submit jobs. This service account is granted the Editor (`roles/Editor`) role. While this service account has the necessary permissions needed by Seqera, this role is not recommended for production environments. Control job access using a custom service account with only the permissions necessary for Seqera to execute Batch jobs instead.
Expand Down Expand Up @@ -86,7 +86,7 @@ To configure a credential in Seqera, you must first create a [service account JS
4. Select **JSON** as the key type.
5. Select **Create**.

A JSON file will be downloaded to your computer. This file contains the credential needed to configure the compute environment in Seqera.
A JSON file is downloaded to your computer. This file contains the credential needed to configure the compute environment in Seqera.

You can manage your key from the **Service Accounts** page.

Expand Down Expand Up @@ -176,7 +176,7 @@ Select **Enable Fusion v2** to allow access to your Google Cloud Storage data vi

When Fusion v2 is enabled, the following virtual machine settings are applied:
- A 375 GB local NVMe SSD is selected for all compute jobs.
- If you do not specify a machine type, a VM from families that support local SSDs will be selected.
- If you do not specify a machine type, a VM from families that support local SSDs is selected.
- Any machine types you specify in the Nextflow config must support local SSDs.
- Local SSDs are only offered in multiples of 375 GB. You can increment the number of SSDs used per process with the `disk` directive to request multiples of 375 GB. To work with files larger than 100 GB, use at least two SSDs (750 GB or more).
- Fusion v2 can also use persistent disks for caching. Override the disk requested by Fusion using the `disk` directive and the `type: pd-standard`.
Expand Down Expand Up @@ -210,8 +210,8 @@ If you use VM instance templates for the head or compute jobs (see step 6 below)
:::

1. Enable **Use Private Address** to ensure that your Google Cloud VMs aren't accessible to the public internet.
1. Use **Boot disk size** to control the boot disk size of VMs.
1. Use **Head Job CPUs** and **Head Job Memory** to specify the CPUs and memory allocated for head jobs.
1. Use **Boot disk size** to control the persistent disk size that each task and the head job are provided.
1. Use **Head Job CPUs** and **Head Job Memory** to specify the CPUs and memory allocated for the head job.
1. Use **Service Account email** to specify a service account email address other than the Compute Engine default to execute workflows with this compute environment (recommended for productions environments).
1. Use **VPC** and **Subnet** to specify the name of a VPC network and subnet to be used by this compute environment. If your organization's VPC architecture relies on network tags, you can apply network tags to VM instance templates used for the Nextflow head and compute jobs (see below).
:::note
Expand Down
23 changes: 19 additions & 4 deletions platform_versioned_docs/version-24.1/compute-envs/hpc.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,30 @@ Seqera requires SSH access to your HPC cluster to run pipelines. Use [managed id

You can also use workspace [SSH credentials](../credentials/ssh_credentials.mdx) for cluster login, but this provides service account access to your HPC to all Platform users. This means that all users will be granted the same file system access, and all activity is logged under the same user account on your HPC cluster.

For HPC clusters that do not allow direct access through an SSH client, a secure connection can be authenticated with [Tower Agent](../supported_software/agent/agent.mdx).
For HPC clusters that do not allow direct access through an SSH client, a secure connection can be authenticated with [Tower Agent](../supported_software/agent/agent.mdx).

## Seqera HPC compute environment
## Work and launch directories

For instances where the work directory or launch directory must be set dynamically at runtime, you can use variable expansion. This works in conjunction with Tower Agent. The path that results from variable expansion must exist before workflow execution as the agent does not create directories.

For example, if the HPC cluster file system has a `/workspace` directory with subdirectories for each user that can run jobs, the value for the work directory can be the following: `/workspace/$TW_AGENT_USER`. For a user `user1`, the work directory resolves to the `/workspace/user1` directory.

The following variables are supported:

- `TW_AGENT_WORKDIR`: Resolves to the work directory for Tower Agent. By default, this directory resolves to the `${HOME}/work` path, where `HOME` is the home directory of the user that the agent runs as. The work directory can be overridden by specifying the `--work-dir` argument when configuring Tower Agent. For more information, see the [Tower Agent][agent] documentation.
- `TW_AGENT_USER`: Resolves to the username that the agent is running as. By default, this is the Unix username that the agent runs as. On systems where the agent cannot determine which user it runs as, it falls back to the value of the `USER` environment variable.

## HPC compute environment

To create a new **HPC** compute environment:

1. In a Seqera workspace, select **Compute environments > New environment**.
1. Enter a descriptive name for this environment. Use only alphanumeric characters, dashes, and underscores.
1. Select your HPC environment from the **Platform** dropdown menu.
1. Select your existing managed identity, SSH, or Tower Agent credentials, or select **+** and **SSH** or **Tower Agent** to add new credentials.
1. Enter the absolute path of the **Work directory** to be used on the cluster.
1. Enter the absolute path of the **Work directory** to be used on the cluster. You can use the `TW_AGENT_WORKDIR` and `TW_AGENT_USER` variables in the file system path.

:::caution
:::caution
All managed identity users must be a part of the same Linux user group. The group must have access to the HPC compute environment work directory. Set group permissions for the work directory as follows (replace `sharedgroupname` and `<WORKDIR>` with your group name and work directory):

```bash
Expand Down Expand Up @@ -74,3 +85,7 @@ To create a new **HPC** compute environment:
1. Select **Create** to finalize the creation of the compute environment.

See [Launch pipelines](../launch/launchpad.mdx) to start executing workflows in your HPC compute environment.


<!-- links -->
[agent]: ../supported_software/agent/agent.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -489,14 +489,21 @@ Do not replace the [Seqera-provided default image](../../functionality_matrix/fu

## Seqera API

Enable the API endpoints to host the Seqera Enterprise OpenAPI specification and use the [tw CLI](https://github.com/seqeralabs/tower-cli).
Enable the API endpoints to host the Seqera Enterprise OpenAPI specification and use the [tw CLI](https://github.com/seqeralabs/tower-cli). Set custom API rate limits and timeouts.

:::note
To configure API rate limit environment variables, you must add `ratelim` to the `MICRONAUT_ENVIRONMENTS`. Without `ratelim` being set, the rate limit configuration variables below are ignored.
:::

<Tabs>
<TabItem value="Environment variables" label="Environment variables" default>

| Environment variable | Description | Value |
| ---------------------- | ----------------------------------------------------------------------------- | --------------- |
| `TOWER_ENABLE_OPENAPI` | Enable the OpenAPI documentation endpoint, e.g., [cloud.seqera.io/openapi/index.html](https://cloud.seqera.io/openapi/index.html). | Default: `true` |
| `TOWER_RATELIMIT_PERIOD` | Specify the maximum number of HTTP requests that can be made during the `TOWER_RATELIMIT_REFRESH` period. | Default: `20` |
| `TOWER_RATELIMIT_REFRESH` | API rate limit refresh period. | Default: `1s` |
| `TOWER_RATELIMIT_TIMEOUT` | The waiting period before rejecting requests over the `TOWER_RATELIMIT_PERIOD` limit during the refresh period. | Default: `500ms` |

</TabItem>
</Tabs>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit a77a645

Please sign in to comment.