Skip to main content

Lightweight Salt package à la confd management of local application configuration files.

Why

Please note that the intent of this software package is not to compete against confd or other popular equivalents; it was born purely out of my personal preference / bias of using Salt for managing files (and others). Salt is typically at the opposite end of “lightweight” and this package aims to alleviate this, however it still cannot get better than confd - from this perspective. Alas, it’s written in Python (please let’s not have this discussion over here 😄).

In short, here’s why I took this approach:

  • Why not? It’s fun.

  • I like Salt, and it offers a variety of well-known templating languages to manage the files, including Jinja, Mako, Cheetah, or even pure Python - and others. In other words, I find that I prefer to use something I’m already comfortable with, particularly in environments where Salt is already a requirement.

  • What I find missing in confd is the possibility to manage the local config files based on more environment parameters - e.g., have idempotent templates that can be used across a number of distributions (as in opposite to having separate files / directory tree / or even repositories for different base operating system distribution); with Salt, this can be very easily done using the Grains.

  • Not only local templates: it often happens to have your template on a server elsewhere; at the end of the day, you need the resulting config file, not its source. With Salt Confd, you can use source files directly available via HTTP, S3, SWIFT, SVN, or FTP.

  • Salt covers a large variety of backends to fetch the data from (including Redis, Vault, Consul, etcd, and so on).

  • Salt is easily extensible (not by forking the project), but in your own environment by simply putting the module for your backend of choice under a specific path.

    Or, to put this differently, if you need a different backend, or an additional feature, you won’t need to fork the entire project and re-compile it; instead, you can preserve the existing usage and just provide it with your own code implementing the feature or backend you need.

Installation

$ pip install salt-confd

Metadata

Release files for salt-confd 2022.11.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-confd 2022.11.0
File Size Uploaded
salt-confd-2022.11.0.tar.gz 13.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for salt-confd 2022.11.0
File Interpreter ABI Platform
salt_confd-2022.11.0-py3-none-any.whl Python 3 none any Details

Total release size: 25.6 kB

Release files / salt-confd-2022.11.0.tar.gz

Download URL salt-confd-2022.11.0.tar.gz
Size 13.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5b4d6451b0b8d00c114e65822b0001f5642234327d3afe753bc586878ea60421
BLAKE2b-256 checksum
How to use checksums
331744116e1f054e147cc96db89b00423e52d18eed1bb80826ab7c59a918590c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / salt_confd-2022.11.0-py3-none-any.whl

Download URL salt_confd-2022.11.0-py3-none-any.whl
Size 12.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7998b3b12dcda0c5887a0cc4c9a312984f4043f915610387e667b8cd5dd8219f
BLAKE2b-256 checksum
How to use checksums
04a525ea39ff993fde8b3a075e11f2180b19e30ae7968fc2a66038b5384b8c37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15
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