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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1a1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 314622962374d8dc3ad57687d5a3a16d0ca2bd59751691e856b74e09dbca4bc3
MD5 322c56f47e42de25fcc08fff8a43cecd
BLAKE2b-256 ab9c942bfc84f1060cc2b04bf2c0828bda61623a33c0840389028db7ec723ef9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1a1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3837318fcff4a714589e3884dcf21a4871d86c64cc11cd0449bf3dcc80d8a8a5
MD5 cd339df1bf833207e8296c3f13ae36d5
BLAKE2b-256 5cac283e9883a48ccf52860149dcdcfeba654b1f9b0d7424eddece490298993c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1a1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 43d908aa4cb436253922862d1080945f474cbc5a174522c737b851cf513a2612
MD5 71427cc5914e94c11e1aa8373ce29bbe
BLAKE2b-256 c09ed0c9ce49623f2497c570d47b8e6c9275f9a4c1291bbf970f1ceb557d40a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1a1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c8a84e45fff084012e61947c2618bfa63d2ee1de9b4c71829406c8db5c468549
MD5 cedad7bb2c3a38adfaf41b27b4fe2ec7
BLAKE2b-256 f0f23f41bfa424b4ae69d0ddaec7e40c25372942a9e18659fbc2495abd6c5f85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1a1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 966fc2b5e1a99877c75a048972a9a871a1028be1e7fa18409ff5b70b24957ab6
MD5 6bcc66778ddab68aa18babb09cdd7e87
BLAKE2b-256 06f9e81de1271bf3b0e7e762b9d8909facf4e535aee411b276b8e8727fea377e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1a1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5ad3c0f2669dc3046587e8b3d873e00784be523728d41d1bdfcd2eedf8b9da8
MD5 7f19d333b231a79a9836739740128269
BLAKE2b-256 2712ec5af0247c351bc2a1facc95baf16acdd6e9e3b857a6fea7467bd8572355

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.4.1a1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c09c4d33b7995f104489904b781d1239d24344206fa5a20858069d0a18f66484
MD5 08564d630e24f73bd03291787484193f
BLAKE2b-256 c525a6f9da026d845e4f0103a59e543d6cc363017a10afdecca5746a0b0aaccd

See more details on using hashes here.

Release history Release notifications | RSS feed

6.4.1

7 files

This release

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