This commit is contained in:
2026-08-23 13:06:39 +02:00
parent b0a5447797
commit f227d054b8
18 changed files with 819 additions and 30 deletions

86
k8s-dvfs/README.md Normal file
View File

@@ -0,0 +1,86 @@
# k8s-dvfs
## Summary
`k8s-dvfs` is a Nextflow plugin scaffolded from the official plugin
template. Out of the box it provides:
- A custom function `sayHello` that can be imported into Nextflow scripts.
- A workflow observer that reacts to pipeline lifecycle events (start and
completion).
Replace this section with a description of what your plugin actually does.
Note: The **Summary**, **Get Started**, **Examples**, and **License** sections are
mandatory: they are required by the Nextflow Registry, which uses this
file as the plugin description. The **Plugin development** section below is
guidance for working on the plugin and can be removed before publishing.
## Get Started
Enable the plugin in your pipeline `nextflow.config`:
```groovy
plugins {
id 'k8s-dvfs@0.1.0'
}
```
Nextflow downloads the plugin from the Nextflow Registry the first time
the pipeline runs.
## Examples
Import and call the `sayHello` function from a Nextflow script:
```nextflow
include { sayHello } from 'plugin/k8s-dvfs'
workflow {
channel.of('Mundo', 'World').map { target -> sayHello(target) }
}
```
The bundled observer prints a message when the pipeline starts and completes,
so running any pipeline with the plugin enabled produces:
```
Pipeline is starting! 🚀
Pipeline complete! 👋
```
## Plugin development
This project was created from the [Nextflow plugin template](https://www.nextflow.io/docs/latest/guides/gradle-plugin.html#gradle-plugin-create).
### Building
To build the plugin:
```bash
make assemble
```
### Testing with Nextflow
The plugin can be tested without a local Nextflow installation:
1. Build and install the plugin to your local Nextflow installation: `make install`
2. Run a pipeline with the plugin: `nextflow run hello -plugins k8s-dvfs@0.1.0`
### Publishing
Plugins can be published to a central Nextflow registry to make them accessible to the Nextflow community.
Follow these steps to publish the plugin to the Nextflow Registry:
1. Create a file named `$HOME/.gradle/gradle.properties`, where `$HOME` is your home directory. Add the following properties:
* `npr.apiKey`: Your Nextflow Registry access token.
2. Package your plugin and publish it to the registry: `make release`.
## License
Apache License 2.0. See the [`COPYING`](COPYING) file for details.
Note: The above license is given for guidance only; however the Nextflow Registry
requires the plugin to include an OSS (open source software) license.