Skip to main content

!!Project is Archived!!

Salt Project / VMware has ended active development of this project, this repository will no longer be updated.

  • The community has created and maintained a better alternative to the development of Salt extensions: salt-extensions/salt-extension-copier (Create and maintain Salt extensions using Copier)

salt-extension

Tool to simplify the creation of a new salt extension.

The why

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:

  • Deployments where proprietary Python modules are developed internally, like at enterprises that want to extend salt functionality without modifying salt itself, can follow a standard.
  • Extensions can develop and release at a faster speed than salt itself. No need to wait for a specific major release.
  • Developing extensions as separate repos allows for smaller, more isolated test suites that are tailored specifically to the scope of the extension.

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.

Quickstart

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!

Metadata

Release files for salt-extension 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for salt-extension 1.0.0
File Size Uploaded
salt_extension-1.0.0.tar.gz 47.1 kB Details

Release files / salt_extension-1.0.0.tar.gz

Download URL salt_extension-1.0.0.tar.gz
Size 47.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e79bc7223de4ec8dee760f20ebc447bd4db102469c37c12714aa74edd84472fc
BLAKE2b-256 checksum
How to use checksums
61a775fcfcc38ddd7bfc5327e9c8a0dadec575395c75234e8f749a7a5a8d0cd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file

0.24.0

2 release files

0.23.0

1 release file

0.22.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page