-
Notifications
You must be signed in to change notification settings - Fork 753
Add README files for all plugins #6660
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
Changes from all commits
fd27493
86afc68
e5641c5
32f9bda
357fdfb
059eb0b
1e5ad23
fadb59f
2b0bb05
73c0c0d
305d850
ebfa0de
8382c67
72aa88c
d8f23e3
d22c382
be6419e
37f1f41
0bd8b3b
8fa2595
9c3b4c2
2c98b22
baa9f0b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,6 +10,8 @@ Nextflow 25.10 and later can use the plugin registry as a drop-in replacement fo | |
| The Nextflow plugin registry is currently available as a public preview. Plugin developers can access the registry by contacting [[email protected]](mailto:[email protected]) to obtain access to the registry. | ||
| ::: | ||
|
|
||
| See {ref}`gradle-plugin-publish` for instructions on how to publish plugins to the registry, including the {ref}`README.md requirement <gradle-plugin-readme>`. | ||
|
|
||
| (plugin-registry-claim)= | ||
|
|
||
| ## Claiming a plugin | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| ## plugins settings | ||
| nextflowPluginVersion=1.0.0-beta.10 | ||
| nextflowPluginVersion=1.0.0-beta.14 | ||
| nextflowPluginProvider=nextflow-io |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,87 @@ | ||
| # Amazon Web Services plugin for Nextflow | ||
|
|
||
| The Amazon Web Services (AWS) plugin provides support for AWS, including AWS Batch as a compute executor, S3 as a file system, and Fusion file system for high-performance data operations. | ||
|
|
||
| ## Get started | ||
|
|
||
| To use this plugin, add it to your `nextflow.config`: | ||
|
|
||
| ```groovy | ||
| plugins { | ||
| id 'nf-amazon' | ||
| } | ||
| ``` | ||
pditommaso marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| Configure your AWS credentials using environment variables, AWS CLI profiles, or IAM roles. Then set up the executor and work directory: | ||
|
|
||
| ```groovy | ||
| process.executor = 'awsbatch' | ||
| process.queue = '<YOUR BATCH QUEUE>' | ||
| workDir = 's3://<YOUR BUCKET>/work' | ||
| aws { | ||
| region = 'us-east-1' | ||
| batch { | ||
| cliPath = '/home/ec2-user/miniconda/bin/aws' | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ## Examples | ||
|
|
||
| ### Basic AWS Batch configuration | ||
|
|
||
| ```groovy | ||
| plugins { | ||
| id 'nf-amazon' | ||
| } | ||
| process.executor = 'awsbatch' | ||
| process.queue = 'my-batch-queue' | ||
| workDir = 's3://my-bucket/work' | ||
| aws { | ||
| region = 'eu-west-1' | ||
| batch { | ||
| cliPath = '/home/ec2-user/miniconda/bin/aws' | ||
| jobRole = 'arn:aws:iam::123456789:role/MyBatchJobRole' | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ### Using Fusion file system | ||
|
|
||
| ```groovy | ||
| fusion { | ||
| enabled = true | ||
| } | ||
| wave { | ||
| enabled = true | ||
| } | ||
| process.executor = 'awsbatch' | ||
| workDir = 's3://my-bucket/work' | ||
| ``` | ||
|
|
||
| ### S3 storage options | ||
|
|
||
| ```groovy | ||
| aws { | ||
| client { | ||
| maxConnections = 20 | ||
| connectionTimeout = 10000 | ||
| storageEncryption = 'AES256' | ||
| } | ||
| region = 'us-east-1' | ||
| } | ||
| ``` | ||
|
|
||
| ## Resources | ||
|
|
||
| - [AWS Batch Executor Documentation](https://nextflow.io/docs/latest/aws.html) | ||
| - [Amazon S3 Storage Documentation](https://nextflow.io/docs/latest/aws.html#s3-storage) | ||
|
|
||
| ## License | ||
|
|
||
| [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) | ||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,70 +1,83 @@ | ||||||
| # Azure plugin for Nextflow | ||||||
| # Microsoft Azure plugin for Nextflow | ||||||
|
|
||||||
| This plugin implements the support for Azure Blob storage as file system | ||||||
| provider (via JSR203 interface) and Azure Batch executor for Nextflow. | ||||||
| The Microsoft Azure plugin provides support for Azure Blob Storage as a file system, and Azure Batch as a compute executor for Nextflow pipelines. | ||||||
|
|
||||||
| ## Development | ||||||
| ## Get Started | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| Build Nextflow as usual: | ||||||
| To use this plugin, add it to your `nextflow.config`: | ||||||
|
|
||||||
| ```bash | ||||||
| make compile | ||||||
| ```groovy | ||||||
| plugins { | ||||||
| id 'nf-azure' | ||||||
| } | ||||||
| ``` | ||||||
|
|
||||||
| Use the following Nextflow configuration: | ||||||
| Configure your Azure credentials and services: | ||||||
|
|
||||||
| ```groovy | ||||||
| azure { | ||||||
| storage { | ||||||
| accountName = '<YOUR STORAGE ACCOUNT NAME>' | ||||||
| accountKey = '<YOUR STORAGE ACCOUNT KEY>' | ||||||
| } | ||||||
| batch { | ||||||
| endpoint = 'https://<YOUR BATCH ACCOUNT NAME>.<REGION>.batch.azure.com' | ||||||
| accountName = '<YOUR BATCH ACCOUNT NAME>' | ||||||
| accountKey = '<YOUR BATCH ACCOUNT KEY>' | ||||||
| } | ||||||
| } | ||||||
| ``` | ||||||
|
|
||||||
| Set the executor and work directory: | ||||||
|
|
||||||
| ```groovy | ||||||
| process.executor = 'azurebatch' | ||||||
| workDir = 'az://<YOUR CONTAINER>/work' | ||||||
| ``` | ||||||
|
|
||||||
| ## Examples | ||||||
|
|
||||||
| ### Basic Azure Batch Configuration | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| ```groovy | ||||||
| plugins { | ||||||
| id 'nf-azure' | ||||||
| id 'nf-azure' | ||||||
| } | ||||||
| azure { | ||||||
| storage { | ||||||
| accountKey = "<YOUR STORAGE ACCOUNT KEY>" | ||||||
| accountName = "<YOUR STORAGE ACCOUNT KEY>" | ||||||
| } | ||||||
| batch { | ||||||
| endpoint = 'https://<YOUR BATCH ACCOUNT NAME>.westeurope.batch.azure.com' | ||||||
| accountName = '<YOUR BATCH ACCOUNT NAME>' | ||||||
| accountKey = '<YOUR BATCH ACCOUNT KEY>' | ||||||
| } | ||||||
| storage { | ||||||
| accountName = 'mystorageaccount' | ||||||
| accountKey = System.getenv('AZURE_STORAGE_KEY') | ||||||
| } | ||||||
| batch { | ||||||
| endpoint = 'https://mybatchaccount.westeurope.batch.azure.com' | ||||||
| accountName = 'mybatchaccount' | ||||||
| accountKey = System.getenv('AZURE_BATCH_KEY') | ||||||
| autoPoolMode = true | ||||||
| deletePoolsOnCompletion = true | ||||||
| } | ||||||
| } | ||||||
| process.executor = 'azurebatch' | ||||||
| workDir = 'az://<YOUR DATA CONTAINER>/work' | ||||||
| workDir = 'az://mycontainer/work' | ||||||
| ``` | ||||||
|
|
||||||
| Then test the local build as usual: | ||||||
| ### Using Managed Identity | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| ```bash | ||||||
| ./launch.sh run -c nextflow.config rnaseq-nf | ||||||
| ```groovy | ||||||
| azure { | ||||||
| managedIdentity { | ||||||
| clientId = '<YOUR MANAGED IDENTITY CLIENT ID>' | ||||||
| } | ||||||
| } | ||||||
| ``` | ||||||
|
|
||||||
| ## Todo | ||||||
|
|
||||||
| * Currently, the Blob storage service uses NettyHttpClient and Batch service | ||||||
| uses OkHttp client, duplicating the number of required libraries. In principle | ||||||
| the Blob service can use OkHttp, adding the following deps, however using that | ||||||
| Nextflow hangs during the shutdown, apparently because the connection pool used | ||||||
| by the blob service is not closed timely. | ||||||
|
|
||||||
| ```groovy | ||||||
| compile('com.azure:azure-storage-blob:12.9.0') { | ||||||
| exclude group: 'org.slf4j', module: 'slf4j-api' | ||||||
| exclude group: 'com.azure', module: 'azure-core-http-netty' | ||||||
| } | ||||||
| compile('com.azure:azure-core-http-okhttp:1.3.3') { | ||||||
| exclude group: 'org.slf4j', module: 'slf4j-api' | ||||||
| } | ||||||
| ``` | ||||||
|
|
||||||
| * Remove invalid directory from .command.run PATH for project having `bin/` folder | ||||||
| * Add the configuration for the region | ||||||
| * Make the backend endpoint optional | ||||||
|
|
||||||
| ### Additional Resources | ||||||
|
|
||||||
| * https://github.com/Azure/azure-sdk-for-java/wiki | ||||||
| * https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/storage/azure-storage-blob-nio | ||||||
| * https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/storage/azure-storage-blob-nio/src/samples/java/com/azure/storage/blob/nio/ReadmeSamples.java | ||||||
| ## Resources | ||||||
|
|
||||||
| - [Azure Batch Executor Documentation](https://nextflow.io/docs/latest/azure.html) | ||||||
|
|
||||||
| ## License | ||||||
|
|
||||||
| [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) | ||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,84 @@ | ||||||
| # Cloud cache plugin for Nextflow | ||||||
|
|
||||||
| The Cloud cache plugin provides cloud-based caching support for Nextflow pipelines. It enables workflow resume capability when using cloud storage as the work directory. | ||||||
|
|
||||||
| ## Get Started | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| To use this plugin, add it to your `nextflow.config`: | ||||||
|
|
||||||
| ```groovy | ||||||
| plugins { | ||||||
| id 'nf-cloudcache' | ||||||
| } | ||||||
| ``` | ||||||
|
|
||||||
| The plugin is automatically activated when using cloud storage (S3, GS, Azure Blob) as the work directory with resume enabled. | ||||||
|
|
||||||
| ```groovy | ||||||
| workDir = 's3://my-bucket/work' | ||||||
| ``` | ||||||
|
|
||||||
| Run your pipeline with the `-resume` flag: | ||||||
|
|
||||||
| ```bash | ||||||
| nextflow run main.nf -resume | ||||||
| ``` | ||||||
|
|
||||||
| ## Examples | ||||||
|
|
||||||
| ### AWS S3 Cache | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| ```groovy | ||||||
| plugins { | ||||||
| id 'nf-amazon' | ||||||
| id 'nf-cloudcache' | ||||||
| } | ||||||
| workDir = 's3://my-bucket/work' | ||||||
| aws { | ||||||
| region = 'us-east-1' | ||||||
| } | ||||||
| ``` | ||||||
|
|
||||||
| ### Google Cloud Storage Cache | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| ```groovy | ||||||
| plugins { | ||||||
| id 'nf-google' | ||||||
| id 'nf-cloudcache' | ||||||
| } | ||||||
| workDir = 'gs://my-bucket/work' | ||||||
| google { | ||||||
| project = 'my-project' | ||||||
| location = 'us-central1' | ||||||
| } | ||||||
| ``` | ||||||
|
|
||||||
| ### Azure Blob Storage Cache | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| ```groovy | ||||||
| plugins { | ||||||
| id 'nf-azure' | ||||||
| id 'nf-cloudcache' | ||||||
| } | ||||||
| workDir = 'az://my-container/work' | ||||||
| azure { | ||||||
| storage { | ||||||
| accountName = 'mystorageaccount' | ||||||
| accountKey = System.getenv('AZURE_STORAGE_KEY') | ||||||
| } | ||||||
| } | ||||||
| ``` | ||||||
|
|
||||||
| ## Resources | ||||||
|
|
||||||
| - [Nextflow Cache and Resume](https://nextflow.io/docs/latest/cache-and-resume.html) | ||||||
|
|
||||||
| ## License | ||||||
|
|
||||||
| [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) | ||||||
Uh oh!
There was an error while loading. Please reload this page.