Requirements • QuickStart • Overview • Contribute • Support • License
Provisioner is a CLI utility and a Python based framework for creating and loading dynamic plugins extensions.
It is dynamic because it detects installed plugins as pip packages and dynamically load their declared commands into Provisioner's CLI main menu.
It comes with built-in CLI capabilities, such as:
- Flag modifiers (verbose, dry-run, auto-prompt)
- Self update
- Config management
- Auto completions
- Version command
❗ WARNING |
---|
Provisioner is still in alpha stage, breaking changes might occur. |
- A Unix-like operating system: macOS, Linux
- Python
v3.11
and above
The fastest way (for macOS and Linux) to install anchor is from PyPi via pip:
pip install provisioner-runtime
For additional installation methods read here.
Maintainers / Contributors:
-
Allow a better experience for teams using multiple sources of managed scripts, make them approachable and safe to use by having a tested, documented and controlled process with minimum context switches, increasing engineers velocity
-
Allowing to compose different actions from multiple channels (shell scripts, CLI utilities, repetitive commands etc..) into a coherent well documented plugin
-
Having the ability to run the same action from CI on a local machine and vice-versa. Execution is controlled with flavored flags or differnet configuration set per environment
-
Remove the fear of running an arbitrary undocumeted script that relies on ENV vars to control its execution
-
Use only the plugins that you care about, search the plugins marketplace and install (or pre-install) based on needs
-
Reduce the amount of CLI utilities created in a variety of languages in an organization
Please refer to the documentation for detailed explanation on how to configure and use provisioner
.
Using provisioner
, every command is a playground.
Use the --dry-run
(short: -d
) to check command exeuction 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