Generic sls-source plugins for idem
About
This project provides generic sls-sources for idem. sls-sources can be used to collect params data or state definitions.
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 idem-sources, you can do so by either installing from PyPI or from source.
Install from PyPI
pip install idem-sources
Install from source
# clone repo
git clone git@gitlab.com/vmware/idem/idem-sources.git
cd idem-sources
# Setup venv
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
Usage
SLS sources are directory trees, archives, and remote stores that contain sls files. SLS and param sources can come from many different places. The plugins that can be used to process SLS sources are in idem/idem/sls.
The format for an sls sources is:
<protocol>://<resource>
The format for authenticated sls sources is:
<protocol_plugin>://<acct_profile>@<resource>
The named acct profile associated with the protocol_plugin provider will have it’s values passed to ctx.acct of the appropriate “cache” function.
File sources that have a mimetype, such as zip files, will be unarchived before further processing.
This is an example of an idem config file that specifies sls_sources and param_sources:
idem:
sls_sources:
- file://path/to/sls_tree
- file://path/to/sls_source.zip
- git://github.com/my_user/my_project.git
- git+http://github.com/my_user/my_project.git
- git+https://github.com/my_user/my_project.git
- git+ssh://github.com/my_user/my_project.git
param_sources:
- file://path/to/sls_tree
- file://path/to/sls_source.zip
- git://github.com/my_user/my_project.git
- git+http://github.com/my_user/my_project.git
- git+https://github.com/my_user/my_project.git
- git+ssh://github.com/my_user/my_project.git
sls_sources and param_sources can also be specified from the CLI.
$ idem state my.sls.ref \
--sls-sources \
"file://path/to/sls_tree" \
"file://path/to/sls_source.zip" \
"git://github.com/my_user/my_project.git" \
"git+http://github.com/my_user/my_project.git"
"git+https://github.com/my_user/my_project.git"
--param-sources \
"file://path/to/sls_tree" \
"file://path/to/sls_source.zip" \
"git://github.com/my_user/my_project.git"
"git+http://github.com/my_user/my_project.git"
"git+https://github.com/my_user/my_project.git"
Roadmap
Reference the open issues for a list of proposed features (and known issues).
Acknowledgements
Img Shields for making repository badges easy.
Metadata
Release files for idem-sources 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| idem-sources-2.0.0.tar.gz | 9.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| idem_sources-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.7 kB
Release files / idem-sources-2.0.0.tar.gz
| Download URL | idem-sources-2.0.0.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f64816da5339ae12499aa266e1a03fa4505479da2e8528a9f1d7f9c3d73fa1eb
|
|
BLAKE2b-256 checksum How to use checksums |
18ab28111588425a514619abfb04e0e5fd05435e06c4b1a89f0dbf10e79b0c31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.9.6 readme-renderer/41.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.5 tqdm/4.66.1 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.9.18
|
Release files / idem_sources-2.0.0-py3-none-any.whl
| Download URL | idem_sources-2.0.0-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7dd3cbb5bf04324aa0f1d88b5f3f2d76cb8bda99642a36fe5fb1b03b2e7911a8
|
|
BLAKE2b-256 checksum How to use checksums |
fe8b73ee6139d5bda530afff8f35b31528be0982593f94d6758c685704114d64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.9.6 readme-renderer/41.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.5 tqdm/4.66.1 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.9.18
|