========
salt-sls
========
.. image:: https://img.shields.io/badge/made%20with-pop-teal
:alt: Made with pop, a Python implementation of Plugin Oriented Programming
:target: https://pop.readthedocs.io/
.. image:: https://img.shields.io/badge/made%20with-python-yellow
:alt: Made with Python
:target: https://www.python.org/
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 <https://pop.readthedocs.io/>`__, 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:
* `Intro to Plugin Oriented Programming (POP) <https://pop-book.readthedocs.io/en/latest/>`__
* `pop-awesome <https://gitlab.com/vmware/pop/pop-awesome>`__
* `pop-create <https://gitlab.com/vmware/pop/pop-create/>`__
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
+++++++++++++++++
.. code-block:: bash
pip install salt-sls
Install from source
+++++++++++++++++++
.. code-block:: bash
# 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:
.. code-block:: bash
python run.py examples/test.sls
Or using the `sls` command from pypi:
.. code-block:: bash
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:
.. code-block:: yaml
# 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 <https://gitlab.com/vmware/pop/salt-sls/issues>`__ for a list of
proposed features (and known issues).
Acknowledgements
================
* `Img Shields <https://shields.io>`__ for making repository badges easy.
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/vmware/pop/salt-sls",
"name": "salt-sls",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "salt,SLS,agentless,masterless,minionless",
"author": "Tyler Levy Conde",
"author_email": "tyjohnson@vmware.com",
"download_url": "https://files.pythonhosted.org/packages/8a/a2/4efe611b9a8ed696e794115d924dd7dacb90d0f8125f0753300ae1008d97/salt-sls-1.0.1.tar.gz",
"platform": null,
"description": "========\nsalt-sls\n========\n\n.. image:: https://img.shields.io/badge/made%20with-pop-teal\n :alt: Made with pop, a Python implementation of Plugin Oriented Programming\n :target: https://pop.readthedocs.io/\n\n.. image:: https://img.shields.io/badge/made%20with-python-yellow\n :alt: Made with Python\n :target: https://www.python.org/\n\n\nRun 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.\n\n\nAbout\n=====\n\n`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.\n\n\nWhat is POP?\n------------\n\nThis project is built with `pop <https://pop.readthedocs.io/>`__, a Python-based\nimplementation of *Plugin Oriented Programming (POP)*. POP seeks to bring\ntogether concepts and wisdom from the history of computing in new ways to solve\nmodern computing problems.\n\nFor more information:\n\n* `Intro to Plugin Oriented Programming (POP) <https://pop-book.readthedocs.io/en/latest/>`__\n* `pop-awesome <https://gitlab.com/vmware/pop/pop-awesome>`__\n* `pop-create <https://gitlab.com/vmware/pop/pop-create/>`__\n\nGetting Started\n===============\n\nPrerequisites\n-------------\n\n* Python 3.8+\n* git *(if installing from source, or contributing to the project)*\n\nInstallation\n------------\n\nIf wanting to use ``salt-sls``, you can do so by either\ninstalling from PyPI or from source.\n\nInstall from PyPI\n+++++++++++++++++\n\n .. code-block:: bash\n\n pip install salt-sls\n\nInstall from source\n+++++++++++++++++++\n\n.. code-block:: bash\n\n # clone repo\n git clone git@vmware/pop/salt-sls.git\n cd salt-sls\n\n # Setup venv\n python3 -m venv .venv\n source .venv/bin/activate\n pip install .\n\nUsage\n=====\n\nExamples\n--------\n\nTo run your SLS files, you can use either the standard Python command or the convenient `sls` command.\nYou can also set specific configuration options through a `my_config.yaml` file.\n\n\nUsing the standard Python command in the cloned repo:\n\n.. code-block:: bash\n\n python run.py examples/test.sls\n\nOr using the `sls` command from pypi:\n\n.. code-block:: bash\n\n echo \"test:\\n test.nop:\\n - name: state\" > test.sls\n sls test.sls\n\nConfiguration\n=============\n\nSet up configuration options for `salt-sls` through a `my_config.yaml` file. Here's an example:\n\n.. code-block:: yaml\n\n # my_config.yaml\n salt_sls:\n cachedir: /var/log/salt\n # Add any minion config opts you want to use under the \"minion_opts\" key.\n # Refer to the [official minion config documentation](https://docs.saltproject.io/en/latest/ref/configuration/minion.html) for details.\n minion_opts: {}\n\nRoadmap\n=======\n\nReference the `open issues <https://gitlab.com/vmware/pop/salt-sls/issues>`__ for a list of\nproposed features (and known issues).\n\nAcknowledgements\n================\n\n* `Img Shields <https://shields.io>`__ for making repository badges easy.\n\n\n",
"bugtrack_url": null,
"license": "Apache Software License 2.0",
"summary": "Run single a Salt SLS file agentless locally.",
"version": "1.0.1",
"project_urls": {
"Homepage": "https://gitlab.com/vmware/pop/salt-sls"
},
"split_keywords": [
"salt",
"sls",
"agentless",
"masterless",
"minionless"
],
"urls": [
{
"comment_text": "pypi",
"digests": {
"blake2b_256": "d3e0b6446ec427cd42ea3afee4fa23cd096262d3a14ec4c31b25a758a37d0da3",
"md5": "1cd1e64e487abf0d868de596a781618a",
"sha256": "10134999fd37c8bd399ee5e4722649900b88863e69c8957f865bd4572cf1eaf7"
},
"downloads": -1,
"filename": "salt_sls-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1cd1e64e487abf0d868de596a781618a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 8960,
"upload_time": "2023-09-05T18:18:09",
"upload_time_iso_8601": "2023-09-05T18:18:09.683546Z",
"url": "https://files.pythonhosted.org/packages/d3/e0/b6446ec427cd42ea3afee4fa23cd096262d3a14ec4c31b25a758a37d0da3/salt_sls-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "pypi",
"digests": {
"blake2b_256": "8aa24efe611b9a8ed696e794115d924dd7dacb90d0f8125f0753300ae1008d97",
"md5": "5676f7fdaf6248efab8ee6279d45fa25",
"sha256": "8f305ccf0073d6fbe8f5f485ae9765e8569ff124e83ae163982a95f41947f135"
},
"downloads": -1,
"filename": "salt-sls-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "5676f7fdaf6248efab8ee6279d45fa25",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 8718,
"upload_time": "2023-09-05T18:18:11",
"upload_time_iso_8601": "2023-09-05T18:18:11.378211Z",
"url": "https://files.pythonhosted.org/packages/8a/a2/4efe611b9a8ed696e794115d924dd7dacb90d0f8125f0753300ae1008d97/salt-sls-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-05 18:18:11",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "vmware",
"gitlab_project": "pop",
"lcname": "salt-sls"
}