Skip to main content

Run single a Salt SLS file agentless locally.

Project description

Made with pop, a Python implementation of Plugin Oriented Programming Made with Python

Run a single SLS file locally with Salt, without the need for a master or minion setup. This agentless and simplified approach allows faster deployment and testing of SLS files.

About

salt-sls is an innovation for those who want a lightweight approach to using SaltStack. With this tool, you can run a single SLS file on your local machine without setting up the more extensive master or minion infrastructure. Whether you’re testing a new SLS or need a quick execution, salt-sls is your friend.

What is POP?

This project is built with pop, a Python-based implementation of Plugin Oriented Programming (POP). POP seeks to bring together concepts and wisdom from the history of computing in new ways to solve modern computing problems.

For more information:

Getting Started

Prerequisites

  • Python 3.8+

  • git (if installing from source, or contributing to the project)

Installation

If wanting to use salt-sls, you can do so by either installing from PyPI or from source.

Install from PyPI

pip install salt-sls

Install from source

# clone repo
git clone git@vmware/pop/salt-sls.git
cd salt-sls

# Setup venv
python3 -m venv .venv
source .venv/bin/activate
pip install .

Usage

Examples

To run your SLS files, you can use either the standard Python command or the convenient sls command. You can also set specific configuration options through a my_config.yaml file.

Using the standard Python command in the cloned repo:

python run.py examples/test.sls

Or using the sls command from pypi:

echo "test:\n  test.nop:\n    - name: state" > test.sls
sls test.sls

Configuration

Set up configuration options for salt-sls through a my_config.yaml file. Here’s an example:

# my_config.yaml
salt_sls:
  cachedir: /var/log/salt
  # Add any minion config opts you want to use under the "minion_opts" key.
  # Refer to the [official minion config documentation](https://docs.saltproject.io/en/latest/ref/configuration/minion.html) for details.
  minion_opts: {}

Roadmap

Reference the open issues for a list of proposed features (and known issues).

Acknowledgements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

salt-sls-1.0.1.tar.gz (8.7 kB view hashes)

Uploaded Source

Built Distribution

salt_sls-1.0.1-py3-none-any.whl (9.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page