Skip to main content
Made with pop, a Python implementation of Plugin Oriented Programming Made with Python

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

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)

Source distribution for idem-sources 2.0.0
File Size Uploaded
idem-sources-2.0.0.tar.gz 9.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for idem-sources 2.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.0.0

2 release files

0.1.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