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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

steampunk_spotter-6.4.1-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.1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 318c6207863aa7118dacd537fe399d58396cec89f71ed074b4fd145681666115
MD5 e21d5692719d5307714e8a5a5be264bd
BLAKE2b-256 d1f18e53b037dc7603cafdef4d1fedd8df2cba5dd22aacf79997abc31b3c21da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ed55fca96e05f562889a34208cddd235b7a75cbf967fd0cb3e5ad97ddb9e6a97
MD5 3022c9e78157743ebcf9c6e094690519
BLAKE2b-256 8d33a45fdef8891b6ec92c4bbe2cfa20530a6d5c11e06a176b6109763f1e7fbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 05c08ca7955585d15e578e3bb2a02fc724ba52dbe04d14da40862a9a21a7841d
MD5 030f16ac51338a8842685aee943bb6f6
BLAKE2b-256 04e34556fef6171e14b7cac7d86f65d64326dce35eb12f57dd1550106f5d336b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9f723cf2d9e980f84ecbe773897f92b8b32612ba160f3f05ec85043c495bb186
MD5 ef872d2602168200119f550966b5e521
BLAKE2b-256 2ca0e5c4643f60194b498bc6e0af85bad2909cbd11374cb50f276ad681de63cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 3b91880ad3cf31ea40ad91304d4925da0e90136516612e0afc51245077f8e602
MD5 3f133bc8096f93f308255a0cc8a8750b
BLAKE2b-256 6f4b21e98bd642f3fe50e84569e9a12638cb623fc300798db4d621728f74f3c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d720a520f050bfaaf8eca655e19b0d7b876ce9193634ec153f3b16cac5b0eca4
MD5 b9252c7c46f05197d5c5e1cdc858035b
BLAKE2b-256 f68477a93200175dfb453a712e1d91aa6819701250e34f256d07335332105b8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4bf5b4127f360aca13ba48c3cfb8e8144ff9eb6a8658846c58da0478eb043cc2
MD5 d8bd346be1e292d25b635a4aba6cf63d
BLAKE2b-256 0b6d2e51847d22949cc3d9d0d1112550b83a074450d079a85bc870f955b137b2

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

6.4.1 This release

7 files

6.4.0

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