Project

General

Profile

coordination #92037

Updated by okurz almost 3 years ago

## Motivation 
 Different users have different workflows and use cases. Supporting all in openQA would make openQA an unmaintainable monolith, so … plugins! :) 

 openQA can already be extended pretty easily but it's not clear if plugins can be published without contributing them upstream. An example of "probably should be external" could be ObsRsync which is very project-specific. 

 ## Acceptance criteria 

 * - **AC1**: Plugins can be installed in the user's home 
 * - **AC2**: Plugins can be installed system-wide 
 * - **AC3**: Documentation explains how to install plugins out of tree 

 ## User stories 

 - Cary would like to publish a package that adds a new openqa-cli command. 
 - Lee wants to extend the openQA UI for a project-specific downstream feature. 

 ## Suggestions 
 - Plugins live in `lib/OpenQA/WebAPI/Plugin` and `lib/OpenQA/CLI` as part of openQA upstream 
 - `~/.config/openqa/plugins`, `/usr/share/openqa/lib` 
 - [Module::Pluggable](https://metacpan.org/pod/Module::Pluggable) shows off a `search_dirs` option to support multiple folders

Back