Skip to main content

csw-tools

A collection of automation utilities for Cisco Secure Workload (CSW, formerly Tetration), available through a single command-line package.

Available Commands

Command Status What it does Docs
init Core Create or replace the user's config.toml. Guide
configure-credentials Core Set user CSW API credentials in the OS keyring Guide
create-scopes Production Create scopes in bulk from .CSV Guide
clean-stale-labels DEV/TESTING Remove static labels for workloads absent from inventory Guide
convert-labels DEV/TESTING Persist dynamic labels as static labels Guide
prune-agents DEV/TESTING Preview and decommission stale agents and related objects Guide
prune-policy DEV/TESTING Remove or filter entries within a workspace policy Guide
sync-collection-rules DEV/TESTING Validate collection rules against scope and filter IPs Guide

Installation

The project requires Python 3.12 or later. uv is the preferred installation and development tool, although normal Python package installation also works.

Once uv is installed, install the package as a tool:

uv tool install csw-tools

Usage

List the available commands, common options, and project version information:

csw-tools --help
csw-tools --version

Global options must appear before the command name. The command and its own options follow:

csw-tools create-scopes scopes.csv
csw-tools --dashboard my-company.tetrationcloud.com prune-agents
csw-tools -d my-company configure-credentials

Command-generated files use csw-tools-outputs/ in the current working directory and a basic CLI log is enabled by default.

Every command's guide is linked from the tables above. The command help is the authoritative option list:

csw-tools COMMAND --help

CSW Dashboard Selection

A dashboard may be supplied as its short SaaS name, a full FQDN, or an HTTPS origin:

csw-tools -d my-company COMMAND
csw-tools -d my-company.tetrationcloud.com COMMAND
csw-tools -d mycsw.example.org COMMAND
csw-tools -d https://mycsw.example.org COMMAND

A short name is auto-appended by default with .tetrationcloud.com. Any FQDN is used as given with HTTPS. IP addresses and single-label on-premises hosts require HTTPS:// explicitly, such as -d https://192.0.2.10 or -d https://csw-local.

TLS certificate verification is enabled by default. Use --no-dashboard-verify-tls only for a trusted deployment whose certificate cannot be validated normally.

Configuration

Settings are resolved in this order:

  1. CLI arguments
  2. config.toml values
  3. Backend defaults from config_defaults.py
  4. Interactive prompt for an unresolved required value

config.toml is optional but useful for values that are reused often. Create or replace it interactively with:

csw-tools init

This copies the packaged config.example.toml to the OS-native per-user location:

  • macOS: ~/Library/Application Support/csw-tools/config.toml
  • Linux: ${XDG_CONFIG_HOME:-~/.config}/csw-tools/config.toml
  • Windows: %APPDATA%\csw-tools\config.toml

If needed, use --config PATH before the command name to select a different file.

Credentials

Secrets are stored through the operating system keyring. For a dashboard named my-company, the default identifiers are:

Service name Username Stored value
csw-tools:my-company csw:api_key CSW API key
csw-tools:my-company csw:api_secret CSW API secret

Inspect/replace the credential pair with:

csw-tools -d my-company configure-credentials

(If using a CSW Dashboard that is not .tetrationcloud.com, then the full HTTPS url is used instead as part of the service name)

Safe Change Workflow

Most edit/write commands default to --dry-run; review the complete plan before using --apply. Supported commands create a timestamped JSON backup before the first API change in the common output directory and update it around each attempted operation.

Rollback support and limitations differ by command. Read the individual command guide before applying or recovering changes.

Development

See DEV-GUIDELINES.md for architecture, shared APIs, contributor workflow, and project checks.

Release files for csw-tools 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for csw-tools 0.3.1
File Size Uploaded
csw_tools-0.3.1.tar.gz 80.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for csw-tools 0.3.1
File Interpreter ABI Platform
csw_tools-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 158.7 kB

Release files / csw_tools-0.3.1.tar.gz

Download URL csw_tools-0.3.1.tar.gz
Size 80.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7d45ee74dbb33b3203d382658c63c639517bf5322cc05fefaedb127b5c8cc31c
BLAKE2b-256 checksum
How to use checksums
b7e5f723190b9928400ff0293b3236446dc128ddf8d036817de711e3626d6a61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / csw_tools-0.3.1-py3-none-any.whl

Download URL csw_tools-0.3.1-py3-none-any.whl
Size 77.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
79ebb4aa22124611e5f416aa70ec18b876542613fb893d8533d7d3d6670e9723
BLAKE2b-256 checksum
How to use checksums
d754506e937b3d374f9f53c1f4b753e524d2dcc32f82f945527a0bef8205bb76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.3.2

2 release files

This release

0.3.1 This release

2 release files

0.3.0

2 release files

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