saltx


Namesaltx JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://www.github.com/towalink/saltx
Summaryusing Saltstack with Bitwarden/Vaultwarden credential management - locally or via salt-ssh
upload_time2025-02-15 20:02:25
maintainerNone
docs_urlNone
authorDirk Henrici
requires_python>=3.11
licenseNone
keywords saltstack bitwarden vaultwarden automation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Saltx

Using Saltstack with Bitwarden/Vaultwarden credential management - locally or via salt-ssh.

Saltx is a wrapper around Saltstack's salt-ssh and Bitwarden/Vaultwarden. It aims at simplifying to use both tools together. Private Saltstack Pillar files and State files are stored in Bitwarden/Vaultwarden. They are synchronized to an encrypted folder (using EncFS) on the machine using Salt, often a Salt server. With this data, salt-ssh and salt-local are called and can be used as usual. Public Saltstack Pillars and States are kept in a git repository, adhering to the Infrastructure-as-Code paradigm. 

With this approach, credential data can be kept secure while allowing to leverage the benefits of using Saltstack in a simple, straight-forward manner - even in a team setup.

---

## Features

- Assistant for initial set-up of Git and Salt on the system
- Download the Bitwarden CLI tool for local use
- Data storage in encrypted folder based on EncFS
- Sync of local credential storage with a Bitwarden/Vaultwarden organization containing Salt States/Pillars
- Management of a local clone of a Git repository with Salt States/Pillars
- Wrapper for simplifying the use of salt-call locally
- Simplifying the use of salt-ssh for managing hosts with Salt via ssh
- Configurable via config files on three layers (system-global, vault, user)
- Support of multiple instances of local repositories and credential stores
- Simple installation

---

## Installation

Install as root user using PyPi:

```shell
pip3 install saltx
```

Note that this no longer works in more recent environments as `pip3` should no longer install in the system environment. You may do

```shell
pip3 install saltx --break-system-packages
```

to override. Alternatively use `pipx` (install via `apt install pipx` on Debian) like this:

```shell
PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/bin pipx install saltx
```

You may use another directory than `/opt/pipx` but it must be accessible for the user that will run `saltx` later (i.e. don't use the default directory located within the root home directory if you also want to run as non-root user). `PIPX_BIN_DIR` needs to be in the system search path (`systemd-path search-binaries-default` on Debian).

---

## License

[![License](http://img.shields.io/:license-agpl3-blue.svg?style=flat-square)](https://opensource.org/licenses/AGPL-3.0)

- **[AGPL3 license](https://opensource.org/licenses/AGPL-3.0)**
- Copyright 2024-2025 © <a href="https://www.towalink.net" target="_blank">Dirk Henrici</a>.

            

Raw data

            {
    "_id": null,
    "home_page": "https://www.github.com/towalink/saltx",
    "name": "saltx",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "Saltstack Bitwarden Vaultwarden automation",
    "author": "Dirk Henrici",
    "author_email": "towalink.saltx@henrici.name",
    "download_url": "https://files.pythonhosted.org/packages/47/f9/2eea3ff52e3f8cbee8fe9db965b4a941f009a4b2f9178adda9815f2d019c/saltx-0.2.0.tar.gz",
    "platform": null,
    "description": "# Saltx\n\nUsing Saltstack with Bitwarden/Vaultwarden credential management - locally or via salt-ssh.\n\nSaltx is a wrapper around Saltstack's salt-ssh and Bitwarden/Vaultwarden. It aims at simplifying to use both tools together. Private Saltstack Pillar files and State files are stored in Bitwarden/Vaultwarden. They are synchronized to an encrypted folder (using EncFS) on the machine using Salt, often a Salt server. With this data, salt-ssh and salt-local are called and can be used as usual. Public Saltstack Pillars and States are kept in a git repository, adhering to the Infrastructure-as-Code paradigm. \n\nWith this approach, credential data can be kept secure while allowing to leverage the benefits of using Saltstack in a simple, straight-forward manner - even in a team setup.\n\n---\n\n## Features\n\n- Assistant for initial set-up of Git and Salt on the system\n- Download the Bitwarden CLI tool for local use\n- Data storage in encrypted folder based on EncFS\n- Sync of local credential storage with a Bitwarden/Vaultwarden organization containing Salt States/Pillars\n- Management of a local clone of a Git repository with Salt States/Pillars\n- Wrapper for simplifying the use of salt-call locally\n- Simplifying the use of salt-ssh for managing hosts with Salt via ssh\n- Configurable via config files on three layers (system-global, vault, user)\n- Support of multiple instances of local repositories and credential stores\n- Simple installation\n\n---\n\n## Installation\n\nInstall as root user using PyPi:\n\n```shell\npip3 install saltx\n```\n\nNote that this no longer works in more recent environments as `pip3` should no longer install in the system environment. You may do\n\n```shell\npip3 install saltx --break-system-packages\n```\n\nto override. Alternatively use `pipx` (install via `apt install pipx` on Debian) like this:\n\n```shell\nPIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/bin pipx install saltx\n```\n\nYou may use another directory than `/opt/pipx` but it must be accessible for the user that will run `saltx` later (i.e. don't use the default directory located within the root home directory if you also want to run as non-root user). `PIPX_BIN_DIR` needs to be in the system search path (`systemd-path search-binaries-default` on Debian).\n\n---\n\n## License\n\n[![License](http://img.shields.io/:license-agpl3-blue.svg?style=flat-square)](https://opensource.org/licenses/AGPL-3.0)\n\n- **[AGPL3 license](https://opensource.org/licenses/AGPL-3.0)**\n- Copyright 2024-2025 \u00a9 <a href=\"https://www.towalink.net\" target=\"_blank\">Dirk Henrici</a>.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "using Saltstack with Bitwarden/Vaultwarden credential management - locally or via salt-ssh",
    "version": "0.2.0",
    "project_urls": {
        "Documentation": "https://www.github.com/towalink/saltx",
        "Homepage": "https://www.github.com/towalink/saltx",
        "Project homepage": "https://www.github.com/towalink/saltx",
        "Repository": "https://www.github.com/towalink/saltx"
    },
    "split_keywords": [
        "saltstack",
        "bitwarden",
        "vaultwarden",
        "automation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fbc311e94b37107c52ed989581f5cbcd259b424525ca135af01ca4262f1bd5f8",
                "md5": "9d48cdbdcb0481aab29b5b7117858b21",
                "sha256": "9843ec27af142be8767118853098a60435509e5442d9f2f3e56104ee5e027726"
            },
            "downloads": -1,
            "filename": "saltx-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9d48cdbdcb0481aab29b5b7117858b21",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 44230,
            "upload_time": "2025-02-15T20:02:23",
            "upload_time_iso_8601": "2025-02-15T20:02:23.683227Z",
            "url": "https://files.pythonhosted.org/packages/fb/c3/11e94b37107c52ed989581f5cbcd259b424525ca135af01ca4262f1bd5f8/saltx-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "47f92eea3ff52e3f8cbee8fe9db965b4a941f009a4b2f9178adda9815f2d019c",
                "md5": "7571237f679bcda1bf5a89debc6a8ec3",
                "sha256": "0f0e44e874ce6eaa6dbfc993a0ce2c05e5ce3f08c8203228ee650b332b2fa770"
            },
            "downloads": -1,
            "filename": "saltx-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7571237f679bcda1bf5a89debc6a8ec3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 39361,
            "upload_time": "2025-02-15T20:02:25",
            "upload_time_iso_8601": "2025-02-15T20:02:25.156034Z",
            "url": "https://files.pythonhosted.org/packages/47/f9/2eea3ff52e3f8cbee8fe9db965b4a941f009a4b2f9178adda9815f2d019c/saltx-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-15 20:02:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "towalink",
    "github_project": "saltx",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "saltx"
}
        
Elapsed time: 0.46299s