diff --git a/docs/cli.md b/docs/cli.md index 3a70d64029..928d739e3b 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -1266,8 +1266,8 @@ The `run` command is used to execute a local pipeline script or remote pipeline `-with-timeline` (`timeline-.html`) : Create workflow execution timeline. -`-with-tower` (`https://api.tower.nf`) -: Monitor workflow execution with [Seqera Platform](https://cloud.tower.nf/) (formerly Tower Cloud). +`-with-tower` (`https://api.cloud.seqera.io`) +: Monitor workflow execution with [Seqera Platform](https://seqera.io/) (formerly Tower Cloud). `-with-trace` (`trace-.txt`) : Create workflow execution trace file. @@ -1331,7 +1331,7 @@ The `run` command is used to execute a local pipeline script or remote pipeline $ nextflow run main.nf -entry workflow_A ``` -- Execute a pipeline with integrated monitoring in [Seqera Platform](https://cloud.tower.nf). +- Execute a pipeline with integrated monitoring in [Seqera Platform](https://seqera.io). ```console $ nextflow run nextflow-io/hello -with-tower diff --git a/docs/config.md b/docs/config.md index fd254b953e..c0410435b1 100644 --- a/docs/config.md +++ b/docs/config.md @@ -1580,20 +1580,20 @@ The following settings are available: ### Scope `tower` -The `tower` scope controls the settings for the [Seqera Platform](https://tower.nf) (formerly Tower Cloud). +The `tower` scope controls the settings for the [Seqera Platform](https://seqera.io) (formerly Tower Cloud). The following settings are available: `tower.accessToken` : The unique access token specific to your account on an instance of Seqera Platform. - Your `accessToken` can be obtained from your Seqera Platform instance in the [Tokens page](https://tower.nf/tokens). + Your `accessToken` can be obtained from your Seqera Platform instance in the [Tokens page](https://cloud.seqera.io/tokens). `tower.enabled` : When `true` Nextflow sends the workflow tracing and execution metrics to Seqera Platform (default: `false`). `tower.endpoint` -: The endpoint of your Seqera Platform instance (default: `https://tower.nf`). +: The endpoint of your Seqera Platform instance (default: `https://api.cloud.seqera.io`). `tower.workspaceId` : The ID of the Seqera Platform workspace where the run should be added (default: the launching user personal workspace). diff --git a/docs/google.md b/docs/google.md index 74ecc5c346..0fc51b0ab9 100644 --- a/docs/google.md +++ b/docs/google.md @@ -236,7 +236,7 @@ process.scratch = false tower.accessToken = '' ``` -The [Seqera Platform](https://cloud.tower.nf) access token is optional, but it enables higher API rate limits for the {ref}`wave-page` service required by Fusion. +The [Seqera Platform](https://seqera.io) access token is optional, but it enables higher API rate limits for the {ref}`wave-page` service required by Fusion. By default, Fusion mounts a local SSD disk to the VM at `/tmp`, using a machine type that can attach local SSD disks. If you specify your own machine type or machine series, they should be able to attach local SSD disks, otherwise the job scheduling will fail. diff --git a/docs/plugins.md b/docs/plugins.md index bffd702b8c..e3213cc77f 100644 --- a/docs/plugins.md +++ b/docs/plugins.md @@ -16,7 +16,7 @@ The following functionalities are provided via plugin components, and they make - `nf-console`: Implement Nextflow [REPL console](https://www.nextflow.io/blog/2015/introducing-nextflow-console.html). - `nf-ga4gh`: Support [GA4GH APIs](https://www.ga4gh.org/). - `nf-google`: Support for Google Cloud. -- `nf-tower`: Support for [Seqera Platform](https://tower.nf) (formerly Tower Cloud). +- `nf-tower`: Support for [Seqera Platform](https://seqera.io) (formerly Tower Cloud). - `nf-wave`: Support for [Wave containers](https://seqera.io/wave/) service. diff --git a/modules/nextflow/src/main/groovy/nextflow/config/ConfigBuilder.groovy b/modules/nextflow/src/main/groovy/nextflow/config/ConfigBuilder.groovy index 362a25af1d..13ec5f0bf2 100644 --- a/modules/nextflow/src/main/groovy/nextflow/config/ConfigBuilder.groovy +++ b/modules/nextflow/src/main/groovy/nextflow/config/ConfigBuilder.groovy @@ -694,7 +694,7 @@ class ConfigBuilder { if( cmdRun.withTower != '-' ) config.tower.endpoint = cmdRun.withTower else if( !config.tower.endpoint ) - config.tower.endpoint = 'https://api.tower.nf' + config.tower.endpoint = 'https://api.cloud.seqera.io' } // -- set wave options diff --git a/modules/nextflow/src/test/groovy/nextflow/config/ConfigBuilderTest.groovy b/modules/nextflow/src/test/groovy/nextflow/config/ConfigBuilderTest.groovy index 89238db39d..6a5114ffa9 100644 --- a/modules/nextflow/src/test/groovy/nextflow/config/ConfigBuilderTest.groovy +++ b/modules/nextflow/src/test/groovy/nextflow/config/ConfigBuilderTest.groovy @@ -1110,7 +1110,7 @@ class ConfigBuilderTest extends Specification { then: config.tower instanceof Map config.tower.enabled - config.tower.endpoint == 'https://api.tower.nf' + config.tower.endpoint == 'https://api.cloud.seqera.io' } def 'should set wave options' () { diff --git a/plugins/nf-tower/src/main/io/seqera/tower/plugin/TowerClient.groovy b/plugins/nf-tower/src/main/io/seqera/tower/plugin/TowerClient.groovy index 20cef33a0e..d202420138 100644 --- a/plugins/nf-tower/src/main/io/seqera/tower/plugin/TowerClient.groovy +++ b/plugins/nf-tower/src/main/io/seqera/tower/plugin/TowerClient.groovy @@ -56,7 +56,7 @@ import nextflow.util.Threads @CompileStatic class TowerClient implements TraceObserver { - static final public String DEF_ENDPOINT_URL = 'https://api.tower.nf' + static final public String DEF_ENDPOINT_URL = 'https://api.cloud.seqera.io' static private final int TASKS_PER_REQUEST = 100 @@ -212,6 +212,10 @@ class TowerClient implements TraceObserver { * @return The requested url or the default url, if invalid */ protected String checkUrl(String url){ + // report a warning for legacy endpoint + if( url.contains('https://api.tower.nf') ) { + log.warn "The endpoint `https://api.tower.nf` is deprecated - Please use `https://api.cloud.seqera.io` instead" + } if( url =~ "^(https|http)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" ) { while( url.endsWith('/') ) url = url[0..-2] diff --git a/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/TowerConfig.groovy b/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/TowerConfig.groovy index e9f60e8c96..5a0877039f 100644 --- a/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/TowerConfig.groovy +++ b/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/TowerConfig.groovy @@ -50,7 +50,7 @@ class TowerConfig { private String endpoint0(Map opts, Map env) { def result = opts.endpoint as String if( !result || result=='-' ) - result = env.get('TOWER_API_ENDPOINT') ?: 'https://api.tower.nf' + result = env.get('TOWER_API_ENDPOINT') ?: 'https://api.cloud.seqera.io' return result.stripEnd('/') } diff --git a/plugins/nf-wave/src/test/io/seqera/wave/plugin/config/TowerConfigTest.groovy b/plugins/nf-wave/src/test/io/seqera/wave/plugin/config/TowerConfigTest.groovy index 46a786cc8f..ec5e16808b 100644 --- a/plugins/nf-wave/src/test/io/seqera/wave/plugin/config/TowerConfigTest.groovy +++ b/plugins/nf-wave/src/test/io/seqera/wave/plugin/config/TowerConfigTest.groovy @@ -118,12 +118,12 @@ class TowerConfigTest extends Specification { when: config = new TowerConfig([:], [:]) then: - config.endpoint == 'https://api.tower.nf' + config.endpoint == 'https://api.cloud.seqera.io' when: config = new TowerConfig([endpoint:'-'], [:]) then: - config.endpoint == 'https://api.tower.nf' + config.endpoint == 'https://api.cloud.seqera.io' when: config = new TowerConfig([endpoint:'http://foo.com'], [:])