Metadata-Version: 2.2
Name: saltext.uci-ssh
Version: 0.1.0
Summary: SSH transport for OpenWrt UCI configuration management (requires saltext.uci)
Author-email: Christian Prior-Mamulyan <cprior@gmail.com>
License: Apache Software License
Project-URL: Homepage, https://github.com/cprima-homelab/saltext-uci
Project-URL: Documentation, https://cprima-homelab.github.io/saltext-uci
Project-URL: Source, https://github.com/cprima-homelab/saltext-uci
Project-URL: Tracker, https://github.com/cprima-homelab/saltext-uci/issues
Keywords: salt-extension
Platform: any
Classifier: Programming Language :: Python
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: salt>=3006
Requires-Dist: saltext.uci>=0.1.0
Provides-Extra: changelog
Requires-Dist: towncrier==25.8.0; extra == "changelog"
Provides-Extra: dev
Requires-Dist: nox[uv]!=2025.05.01,>=2024.3; extra == "dev"
Requires-Dist: pre-commit>=2.21.0; extra == "dev"
Provides-Extra: dev-extra
Requires-Dist: black==26.5.1; extra == "dev-extra"
Requires-Dist: isort==7.0.0; extra == "dev-extra"
Requires-Dist: coverage==7.14.3; extra == "dev-extra"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx-prompt; extra == "docs"
Requires-Dist: sphinxcontrib-spelling; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: towncrier==25.8.0; extra == "docs"
Requires-Dist: sphinxcontrib-towncrier; extra == "docs"
Requires-Dist: myst_parser; extra == "docs"
Requires-Dist: furo; extra == "docs"
Requires-Dist: sphinx-inline-tabs; extra == "docs"
Provides-Extra: docsauto
Requires-Dist: sphinx-autobuild; extra == "docsauto"
Provides-Extra: lint
Requires-Dist: pylint==4.0.4; extra == "lint"
Provides-Extra: tests
Requires-Dist: pytest>=7.2.0; extra == "tests"
Requires-Dist: pytest-salt-factories>=1.0.0; extra == "tests"
Requires-Dist: pytest-instafail; extra == "tests"

# saltext.uci-ssh

Salt extension: OpenWrt UCI configuration management over SSH (runs
`ubus call` remotely and parses the JSON output). Requires `saltext.uci`.

## Install

```bash
pip install saltext.uci-ssh
```

## Configure

```yaml
# /srv/salt/pillar/router.sls
proxy:
  proxytype: uci_ssh
  host: 10.35.24.1
  # username: root                          (default)
  # port: 22                                (default)
  # timeout: 30                             (default)
  ssh_key: /root/.ssh/openwrt_ed25519
  # ssh_options:                            (defaults below)
  #   - StrictHostKeyChecking=no
  #   - UserKnownHostsFile=/dev/null
  #   - HostKeyAlgorithms=+ssh-rsa
  #   - PubkeyAcceptedAlgorithms=+ssh-rsa
  # ssh_multiplex: true                     (default, ControlMaster)
  # control_persist: 60                     (default, seconds)
```

```bash
salt router uci.get network
```

Docs: https://cprima-homelab.github.io/saltext-uci
