Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gediminasz/slskit
Tools for checking Salt state validity
https://github.com/gediminasz/slskit
salt saltstack
Last synced: about 1 month ago
JSON representation
Tools for checking Salt state validity
- Host: GitHub
- URL: https://github.com/gediminasz/slskit
- Owner: gediminasz
- Created: 2019-08-10T13:09:19.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-02-13T20:38:38.000Z (9 months ago)
- Last Synced: 2024-04-14T12:21:50.049Z (7 months ago)
- Topics: salt, saltstack
- Language: Python
- Homepage: https://pypi.org/project/slskit/
- Size: 472 KB
- Stars: 6
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# slskit
```
Usage: slskit [OPTIONS] COMMAND [ARGS]...Options:
--version Show the version and exit.
-c, --config TEXT path to slskit configuration file (default:
slskit.yaml or slskit.yml)
-l, --log-level [CRITICAL|FATAL|ERROR|WARN|WARNING|INFO|DEBUG|NOTSET|VERBOSE|QUIET|PROFILE|TRACE|GARBAGE]
--salt-output TEXT Alternative Salt outputter, e.g. nested,
json, yaml, etc.
--help Show this message and exit.Commands:
highstate render highstate for specified minions
pillars render pillar items for specified minions
refresh invoke saltutil.sync_all runner
sls render a given sls for specified minions
template render a file template for specified minions
```- Supported Python versions: 3.8, 3.9, 3.10, 3.11, 3.12.5
- Supported Salt versions: 3006, 3007Known issues:
* Salt 3006 on Python 3.12 is broken
* Python 3.12.6 and up is broken, see https://github.com/saltstack/salt/issues/66898
* YAML output is broken, see https://github.com/saltstack/salt/issues/66594---
## Workaround for OpenSSL issues on macOS
If `slskit` is failing with an error like this: `OSError: Cannot locate OpenSSL libcrypto`, try setting the following environment variable:
```sh
export HOMEBREW_PREFIX=/usr/local
```Below is an old hackaround:
If `slskit` fails with `zsh: abort` or `Abort trap: 6`, inspect the error by running the command with `PYTHONDEVMODE=1`. If the issue is with `_load_libcrypto` call in `rsax931.py`, edit `salt/utils/rsax931.py` line 38:
```diff
-lib = find_library('crypto')
+lib = "/usr/local/opt/[email protected]/lib/libcrypto.dylib"
```More info:
- https://github.com/saltstack/salt/issues/55084
- https://github.com/Homebrew/homebrew-core/pull/45895/files#diff-5bdebf3b9146d50b15f9a0dc7e7def27R131-R133## Workaround for exception raised when processing __virtual__ function
When seeing errors like these:
```
ERROR:salt.loader:Exception raised when processing __virtual__ function for salt.loaded.int.module.freebsdkmod. Module will not be loaded: 'kernel'
WARNING:salt.loader:salt.loaded.int.module.freebsdkmod.__virtual__() is wrongly returning `None`. It should either return `True`, `False` or a new name. If you're the developer of the module 'freebsdkmod', please fix this.
```You may need to add a corresponding grain to `slskit.yaml` file, e.g.:
```yaml
# slskit.yamlslskit:
roster:
foo:
grains:
kernel: Linux
```You can find values for grains by inspecting `grains.items` on your real minions.
## How to keep your grains DRY
Use `default_grains` option to avoid duplicating the same grains over all minions:
```yaml
# slskit.yamlslskit:
roster:
foo:
bar:
baz:
default_grains:
os: Ubuntu
```For more advanced cases use YAML anchors:
```yaml
# slskit.yaml_grains:
ubuntu: &ubuntu
os: Ubuntu
fedora: &fedora
os: Fedoraslskit:
roster:
u1:
grains:
<<: *ubuntu
u2:
grains:
<<: *ubuntu
f1:
grains:
<<: *fedora
f2:
grains:
<<: *fedora
```## How to reduce output verbosity
Use Salt's [`output` configuration option](https://docs.saltstack.com/en/latest/ref/configuration/master.html#output), e.g.:
```yaml
# slskit.yamlsalt:
output: yamlslskit:
...
```---
## External links
- https://docs.saltproject.io/salt/install-guide/en/latest/topics/salt-version-support-lifecycle.html
- https://docs.saltproject.io/salt/install-guide/en/latest/topics/salt-python-version-support.html