Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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.0a1-py3-none-win_amd64.whl (5.7 MB view details)

Uploaded Python 3Windows x86-64

steampunk_spotter-6.3.0a1-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.0a1-py3-none-musllinux_1_2_aarch64.whl (5.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

steampunk_spotter-6.3.0a1-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.0a1-py3-none-manylinux_2_17_aarch64.whl (5.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

steampunk_spotter-6.3.0a1-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.0a1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0a1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f11cf049f496023d6fca605bfac3d1fe858f732e2a5a44f37db6ba0f52de622b
MD5 e296330ed8acfcce54880e416685b8ae
BLAKE2b-256 494b78a4450a3cf94a5576ede26d457f675867eddf2aca334e8cb57445c90f58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0a1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f788702278641809b4a257f2925820ca08f05590cbb2adb2b12a38a8d028e4f4
MD5 8a400147aaa6dfd04f41a4c30cb19f2a
BLAKE2b-256 542c73f8d6a13045d6542eac2d3f8c0e2e366e32b76d17e4250855cefbd83dab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0a1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8a3f3d97e80f6b7e20cff90c7fa7fc357b87f4a0af3ccee3e2522fc8eeb6f03e
MD5 11f5af9d5ee3ad6ff3f2e31767e55a30
BLAKE2b-256 e417d1684496fc48ec6e04574030cb46f747099683cec0bcc71042ed679262d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0a1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7029deab48697483b7f0c7b364bd0ea14a0e64e6eb6b799161b48f303c043ad1
MD5 ca7abf6772973df9ef7ccc0f0b94ba41
BLAKE2b-256 b51f0f01f945b397df73afede4aa896abf935ba5316e96f26c80f61dff68e627

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0a1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 f522c5cd278eeea00b23d4117a4f7c5b7c5ccfc220f5e85309d302b2d9cd6775
MD5 b0fb742af357b2e4f22c3cc5e3b56f44
BLAKE2b-256 08872d7db34add76936f1d88bbe225244e179fbed39c2c1ce231d714e1823e5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0a1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27bcb7ad5cd0ad988e01b702d45f569488e792fe69f7b0aa917798c7aabb1126
MD5 a6b0f40b4492b3457e3b1a585298f84a
BLAKE2b-256 9bf30eec5c9d30e7d6708189bc50559de53be853e8891c2b4eec0ef6a7df11d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0a1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f397ca7c9536e68f3dda748d0893f9b61040a5e99f812cad951cf988b0e1ceed
MD5 0eea81d97e9551cc70b2977037c02476
BLAKE2b-256 fadbb6033e3d003f773f0ed42124ff4a753ee178db0c1912ee88e7cde538a4dc

See more details on using hashes here.

Release history Release notifications | RSS feed

6.3.0

7 files

This release

6.3.0a1 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