Skip to main content

Tools for checking Salt state validity

Project description

slskit

release python build black

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|QUIET|PROFILE|TRACE|GARBAGE]
  --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.7, 3.8, 3.9
  • Supported Salt versions: 3001, 3002, 3003, 3004

Workaround for libcrypto.dylib failing to load on macOS

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:

-lib = find_library('crypto')
+lib = "/usr/local/opt/openssl@1.1/lib/libcrypto.dylib"

More info:

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

# slskit.yaml

slskit:
  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:

# slskit.yaml

slskit:
  roster:
    foo:
    bar:
    baz:
  default_grains:
    os: Ubuntu

For more advanced cases use YAML anchors:

# slskit.yaml

_grains:
  ubuntu: &ubuntu
    os: Ubuntu
  fedora: &fedora
    os: Fedora

slskit:
  roster:
    u1:
      grains:
        <<: *ubuntu
    u2:
      grains:
        <<: *ubuntu
    f1:
      grains:
        <<: *fedora
    f2:
      grains:
        <<: *fedora

How to reduce output verbosity

Use Salt's output configuration option, e.g.:

# slskit.yaml

salt:
  output: yaml

slskit:
  ...

External links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slskit-2022.4.0.tar.gz (8.2 kB view hashes)

Uploaded source

Built Distribution

slskit-2022.4.0-py3-none-any.whl (8.7 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page