Skip to main content

Steampunk Spotter Command-Line Interface (CLI)

PyPI

Steampunk Spotter is an Ansible Playbook Platform that scans, analyzes, enhances, and provides insights for your playbooks.

The Steampunk Spotter CLI enables the use from the console with the ability to scan Ansible content such as playbooks, roles, collections, or task files.

The following instructions explain how to get started with the Steampunk Spotter CLI to scan Ansible content and get recommendations.

Installation

Steampunk Spotter CLI requires Python 3 and is available as a steampunk-spotter Python package.

$ pip install steampunk-spotter

We recommend installing the package into a clean Python virtual environment.

Usage

After the CLI is installed, you can explore its commands and options by running spotter --help. The --help/-h option is also available for every command.

Limitations

The current release version of Steampunk Spotter contains the following limitations that also apply to the CLI:

  • with the FREE subscription plan, you can perform up to 100 scans/month,
  • with the INDIVIDUAL, TEAM, or ENTERPRISE subscription plan you can perform an unlimited number of scans,
  • for the ENTERPRISE subscription plan, contact us at steampunk@xlab.si to discuss your needs.

Authentication

To use CLI, you have to supply your Steampunk Spotter user account credentials. If you don't have an account, use spotter register command that will direct you to the page where you can create one.

Steampunk Spotter supports two kinds of credentials: 1) API token (can be generated in the user settings within the Spotter App), and 2) username and password.

  • Use --token/-t global option to supply your token credential. Alternatively, set the SPOTTER_TOKEN environment variable to contain the API token.
  • Use --username/-u and --password/-p global options to supply your username and password. Alternatively, set the SPOTTER_USERNAME and SPOTTER_PASSWORD environment variables.
  • You can run spotter <options> login to persist your credentials in the Steampunk Spotter CLI's local storage, where <options> stand for one of the approaches described above.

After that, you can start scanning right away.

Scanning

The CLI spotter scan command is used for scanning Ansible content (playbooks, roles, collections, or task files) and returning the scan results.

Ansible content

The scan command will automatically detect the type of your Ansible content and scan it. Here are some examples of running scans:

# scan playbook
$ spotter scan path/to/playbook.yaml

# scan multiple files at once
$ spotter scan path/to/taskfile.yaml \
               path/to/playbook.yaml \
               path/to/role \
               path/to/collection

# scan any folder that contains Ansible content
$ spotter scan path/to/folder

Selecting the target project

This part is only relevant for users with a TEAM plan or higher.

By default, the scan results are stored in the first project of the user's first organization (in the app).

Users that have multiple organizations or projects in the app can use --project-id option to specify the UUID of an existing target project, where the scan result will be stored.

$ spotter scan --project-id <project-id> .

You can learn your project id by logging into the app, selecting the appropriate organization and navigating to the project's dashboard.

Excluding values

By default, CLI parses full Ansible YAML content with all values from playbooks (e.g., parameter values from Ansible modules, variables from Ansible plays, etc.). With values, we can discover additional tips for improvements. CLI will try to detect and omit any secrets (e.g., passwords, SSH keys, cloud credentials, etc.) from being transmitted. If you want to omit parsing and sending the values, you can use --exclude-values option.

$ spotter scan --exclude-values playbook.yaml

Excluding metadata

By default, CLI collects metadata (i.e., file names, line, and column numbers, YAML markers) from Ansible content. This is needed for enriched user experience in the Spotter App and to get additional tips for improvements. If you want to use metadata just for displaying the scan output, which means that no data about your Ansible content structure is sent to the backend server, you can use --exclude-metadata option.

$ spotter scan --exclude-metadata playbook.yaml

Automated application of suggestions to your code

There is also a --rewrite option that rewrites your files with fixes after scanning. This action will modify your files.

$ spotter scan --rewrite playbook.yaml

Next steps

For more comprehensive usage, issue spotter scan --help. Please refer to Steampunk Spotter Documentation for further instructions.

Acknowledgment

This tool was created by XLAB Steampunk, IT automation specialists and leading experts in building Enterprise Ansible Collections.

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

steampunk_spotter-6.3.0-py3-none-win_amd64.whl (5.7 MB view details)

Uploaded Python 3Windows x86-64

steampunk_spotter-6.3.0-py3-none-musllinux_1_2_x86_64.whl (5.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

steampunk_spotter-6.3.0-py3-none-musllinux_1_2_aarch64.whl (5.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

steampunk_spotter-6.3.0-py3-none-manylinux_2_17_x86_64.whl (5.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

steampunk_spotter-6.3.0-py3-none-manylinux_2_17_aarch64.whl (5.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

steampunk_spotter-6.3.0-py3-none-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

steampunk_spotter-6.3.0-py3-none-macosx_10_9_x86_64.whl (5.6 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file steampunk_spotter-6.3.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7a9a16fda22e31383524038087a7473ce1ed2458e1f15752a21271bce0620f09
MD5 1ab5eae529ca501a2eb52920a905ba3d
BLAKE2b-256 beaec46e5d9282ecd3b545644da72a84542a21c81e0c4e7394f6f78a59f1e527

See more details on using hashes here.

File details

Details for the file steampunk_spotter-6.3.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3f35e9f977588cd4018b4d2d83eca62baeddb9061c04ab6fa6337d3d399696d6
MD5 93aa689d23d72d3cef0c0435e326e633
BLAKE2b-256 a9ae81f4189e1a93dd0416101ce5d3500a56373c6dacbf8fb80051de48daa1c9

See more details on using hashes here.

File details

Details for the file steampunk_spotter-6.3.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6ba34c708033874f13ff4e59071ce15c6fe85bb286428539b2645cbe59ba8b59
MD5 efa3220fc169fcd162928b8b59ad1044
BLAKE2b-256 c545a3a49c6ccc85a48c7e4224e789e11fde2c36fcf6e236e8423c3b59f8030e

See more details on using hashes here.

File details

Details for the file steampunk_spotter-6.3.0-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c6d6f5267c95808273599dbfe1bf7aca2757298c5a2820df6876f8c2ede5c09c
MD5 0e29670e7dcd92056842d46a535082b6
BLAKE2b-256 a805873049f185e2011235f58f80dc8151b91847ba2871b2142b5fe63c997b3e

See more details on using hashes here.

File details

Details for the file steampunk_spotter-6.3.0-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 98efda3eda5dd563341c0c9139c9db2616a049e97aa3c0f66cd257bf08bc2535
MD5 470c8078e6b31ba3852195433a7d0bc1
BLAKE2b-256 7e9307a302da5be2ffc0a82d990ef178b461e1cb8af3aac2ea47c2c44db7d590

See more details on using hashes here.

File details

Details for the file steampunk_spotter-6.3.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c0deb7380de6cf1f4c92b276ddeeb9c2fdc0958f6b527bbf8a83ff1fac28a07
MD5 2add06796868892a3dfbec4d6b549da8
BLAKE2b-256 f9fdabff433d36326ef9dcc24556b2e8c61749bfcc0fd5a05f0a87abdd43c15d

See more details on using hashes here.

File details

Details for the file steampunk_spotter-6.3.0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1180e9d84ec669d9a9dd424fa9d2a43e061f342a4eb792fe1ba7c86b26c0e540
MD5 289d8746d7b9fa2138d78d0fa1f6cc4a
BLAKE2b-256 d8311a2501789d25e78d955125538c13e7cee733ff94da395310ec181035dc26

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

6.3.0 This release

7 files

6.1.0

7 files

6.0.0

7 files

5.12.0

7 files

5.11.0

1 file

5.10.0

1 file

5.9.0

1 file

5.8.0

1 file

5.7.0

1 file

5.6.0

1 file

5.5.1

1 file

5.5.0

1 file

5.4.0

1 file

5.3.0

1 file

5.2.1

1 file

5.2.0

1 file

5.1.1

1 file

5.1.0

1 file

5.0.0

1 file

4.4.1

1 file

4.4.0

1 file

4.3.0

1 file

4.2.0

1 file

4.1.0

1 file

4.0.0

1 file

3.3.0

1 file

3.2.0

1 file

3.1.1

1 file

3.1.0

1 file

3.0.0

1 file

2.6.0

1 file

2.5.0

1 file

2.4.0

1 file

2.3.0

1 file

2.2.0

1 file

2.1.0

1 file

2.0.3

1 file

2.0.2

1 file

2.0.1

1 file

2.0.0

1 file

1.2.8

1 file

1.2.7

1 file

1.2.6

1 file

1.2.5

1 file

1.2.4

1 file

1.2.3

1 file

1.2.2

1 file

1.2.1

1 file

1.2.0

1 file

1.1.10

1 file

1.1.9

1 file

1.1.8

1 file

1.1.7

1 file

1.1.6

1 file

1.1.5

1 file

1.1.4

1 file

1.1.3

1 file

1.1.2

1 file

1.1.1

1 file

1.1.0

1 file

1.0.1

1 file

1.0.0

1 file

0.8.3

1 file

0.8.2

1 file

0.8.1

1 file

0.8

1 file

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