Salt Project / VMware has ended active development of this project, this repository will no longer be updated.
Tool to simplify the creation of a new salt extension.
salt-extension
is a Python-based CLI tool for generating a project scaffolding
to easily extend salt with exec modules, state modules, and more.
Extensions make life easier in several ways:
salt
functionality without modifying salt
itself, can follow a standard.salt
itself. No need to wait for a specific major release.This approach to development, of the salt
ecosystem, could also assist in the powers of Tiamat (resources: SEP26 // tiamat-pip source code).
Converting existing module sets into extensions could begin treating salt
as a more "pluggable"/"extensible" ecosystem, and could make it easier to understand what modules haven’t been contributed to in a long time. It is difficult to maintain so many modules within salt
that manage and orchestrate an ocean of APIs, operating systems, clouds, etc.
The best way to use this project is with pipx:
$ pipx install salt-extension
$ mkdir my_extension
$ cd my_extension
$ create-salt-extension my_extension -l states -l module
Author: John Example Doe
Author email: jd@example.com
Summary: An example Salt Extension Module
Url: https://example.com/my-saltext
License (apache, other): apache
Then follow the other output instructions.
If all goes well, you should be able to run:
$ salt-call --local my_extension.example_function text="it worked!"
local:
it worked!
Happy hacking!