Requirements • QuickStart • Plugins • Overview • Contribute • Support • License
Provisioner plugins are the pluggable extensions for Provisioner CLI.
Every plugin is installed as a pip package. During Provisioner CLI runtime, the commands of any pip installed plugin are dynamically loaded into Provisioner's CLI main menu.
Plugins are using the Provisioner CLI as the runtime and also as the development framework i.e. package dependency.
❗ WARNING |
---|
Provisioner plugins are still in alpha stage, breaking changes might occur. |
- A Unix-like operating system: macOS, Linux
- Python
v3.10
and above - Provisioner CLI installed and ready to use
Installing Provisioner plugins is as simple as installing a pip package:
pip install <plugin-name>
Name | Path |
---|---|
Installers | Install anything anywhere on any OS/Arch either on a local or remote machine |
Single Board | Single boards management as simple as it gets |
Examples | Playground for using the CLI framework with basic dummy commands |
Maintainers / Contributors:
-
Duplicate the
provisioner_examples_plugin
plugin folder with your plugin name -
Search for
examples
keyword under your new plugin folder scope and replace where necessary -
Update the plugin
<my-plugin>/Makefile
build command -
Append the newly added plugin commands to the
provisioner_examples_plugin
repository outerMakefile
-
Define plugin configuration under
<my-plugin>/domain/config.py
-
Manage plugin version under
<my-plugin>/pyproject.toml
under[tool.poetry]
-
Create a Python plugin entrypoint at
<my-plugin>/main.py
❕ INFO |
---|
A provisioner plugin genereate command will get added soon to simplify a new plugin scaffolding. |
Using provisioner
, every command is a playground.
Use the --dry-run
(short: -d
) to check command execution breakdown, you can also add the --verbose
(short: -v
) flag to read DEBUG
information.
All dry-run actions are no-op, you can safely run them as they only print to stdout.
Please follow our contribution guidelines if you with to contribute:
- PRs need to have a clear description of the problem they are solving
- PRs should be small
- Code without tests is not accepted, code coverage should keep the same level or higher
- Contributions must not add additional dependencies
- Before creating a PR, make sure your code is well formatted, abstractions are named properly and design is simple
- In case your contribution can't comply with any of the above please start a github issue for discussion
Provisioner is an open source project that is currently self maintained in addition to my day job, you are welcome to show your appreciation by sending me cups of coffee using the the following link as it is a known fact that it is the fuel that drives software engineering ☕
MIT