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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0rc1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 fd17651e46bcff6540bdd9e51a9c08abd513e878b18d693a60daf3258e75a9aa
MD5 29a459f3e6b90b0d7218f46aee61ef86
BLAKE2b-256 ce07a41cfa301a2b28b06ec75f5f59ca0e4555543815cfddc4b9d28ae95140c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0rc1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2a417a09b1c74e9d2c290f5c3c48c9e674b6d782fb91842e905df59cf2d3705e
MD5 2d34c7079997ea6506d200b6ddfa62d1
BLAKE2b-256 6acb84ccd2e73d66fd869f7e71168b19ab2640622ec302c478b52922941119fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0rc1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 43c867f8e21d4871c954b40a9843ce941a3895be8d4854f7479eee8292fa3274
MD5 4a0336948fb68367b6b309592c3a43bc
BLAKE2b-256 d195f395368714fc6de708d5e81054e478051e7df72a9ff206c3d6428052cc6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0rc1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 44ae5c18ab5c20be2e59383d58ab0917fadad1c4fe6fa586637e055fb5a5fa5f
MD5 9a8551d6fc3a192d0ad59c1aa966d04d
BLAKE2b-256 fdb0357e999ef29aacccaeda1b60653e51f05e4a1151f829f0828cfafa7986f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0rc1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 2077e398b5aae991cad6860887567cf147123e841eaf8a1ccc0d060dcd6c7752
MD5 eb285ef06a101e3222ef2c93a4a8b5d2
BLAKE2b-256 252e98e4521c33560233d0d19e76998824dd5b6a18380578f614063f8d225c9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0rc1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c472490598f484bd68556e0e6fa10c91b1b0d60bb394f28b898788fbe424e794
MD5 ad1357af19a9c501516f10d66fdebfd1
BLAKE2b-256 1bee1edb37de699a8167fcabf2a0de2ae8973b0aa3b66fa714560bc9e7e3e17a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for steampunk_spotter-6.3.0rc1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 acd1321906a00f29be30955329173248195cdcc33fb2350cbecede09519cafe7
MD5 d9b14efbffc1096da09737e10d2864a5
BLAKE2b-256 e51b793adc2f6e0efd3b9ac0e1d61b6397587aaf3cad2bb9324aebfb9c76fa14

See more details on using hashes here.

Release history Release notifications | RSS feed

6.3.0

7 files

This release

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