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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

steampunk_spotter-6.4.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.4.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for steampunk_spotter-6.4.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7e48704a27ba55f699800045e170cc6b987ad4f9a11a2110b04d73c7aca23514
MD5 7791b6c1b5b443673cf2c7d2e9849c8d
BLAKE2b-256 be1402f01b7095f9fa43627d6ac5ca24adde20e082b00184061235d1df4561f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b09fa2c37249abeb8f3066f22ac5fd7f3f5bde4946c395fb696a95e96e94d1eb
MD5 09f4e1a85d9e12260d540373a28289d7
BLAKE2b-256 3d93d976538291d614f8b139a8932f50eb8313820443dd68ebaa330e1baf9438

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2332f52beee431258d83b7c6f2b6bffaa5ee5bbf1713cca26d3f0637afa598b3
MD5 654cc1bee883fe0cfd537efa21e2670f
BLAKE2b-256 51c8a5af5f5bcf22c4e735cfb6bb678ea6cb81e70a040fcb5dbb235e1552f619

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 daeb5c8cd8d8f03b3fc044613d21ebb4f67eac519c7feee64ff585baa2e50ddb
MD5 f23b0ab595136fc0a07c33dcda49830c
BLAKE2b-256 bddbddeabbbfc538c8e0b0ed19f2a177d310b46cd6eaca38f8e784add266adb2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 15fdd8d5b54955f5211332c6de61e3eed0dec323030f3405f6777160fa2e2eb9
MD5 f9ca3a9c064be052260318f691257dad
BLAKE2b-256 f3c7670e3732bee3e77c67c960d5cb60f2a9a63a63844576bb8d71c86e11f648

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e3c3d4bc72006e1d3d995d830f6ec47483ec044959308d790a3ef5ce3b826af
MD5 7dca0eac246cc39644d80a99c55e14e0
BLAKE2b-256 acda2df8b44f42136342c3b39a2c5c5824d4dedbf6adbede8b9e9006d4f99422

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 715bd61b25f89a380aef9dcbac97760d0d5c1803058ae8d5773aabb3b536144f
MD5 b8e381915ff386b7099d3023f580cf1a
BLAKE2b-256 7984da22a339f2ace30a072e36acde60c7bbb3bf3eafc80a704f1d9b477d9d4f

See more details on using hashes here.

Release history Release notifications | RSS feed

6.4.1

7 files

This release

6.4.0 This release

7 files

6.3.0

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