A command-line interface for Pulp, providing console administrative functionality.
The Pulp CLI Console provides a set of commands to manage Pulp resources from the command line. It extends the base Pulp CLI functionality with console-specific administrative tools for system operators and administrators.
The console offers capabilities for task management, vulnerability scanning, system monitoring, and more, all through a unified command-line interface.
- Python 3.8 or higher
- Access to a Pulp 3.x server
- Network connectivity to your Pulp server
- Appropriate user permissions on the Pulp server
You can install the Pulp CLI Console using pip:
pip install pulp-cli-console
For development or the latest features, you can install directly from the repository:
pip install git+https://github.com/pulp/pulp-cli-console.git
The Pulp CLI Console requires configuration to connect to your Pulp server. Create a configuration file at ~/.config/pulp/cli.toml
:
[cli]
base_url = "https://pulp.example.com"
verify_ssl = true
format = "json"
timeout = 30
username = "admin"
password = "password" # Consider using environment variables instead
You can customize various aspects of the CLI behavior:
[cli]
base_url = "https://pulp.example.com"
verify_ssl = true
cert = "/path/to/client/cert.pem" # Optional client certificate
key = "/path/to/client/key.pem" # Optional client key
ca_cert = "/path/to/ca/cert.pem" # Custom CA certificate
format = "json" # Output format: json, yaml, or none
timeout = 60 # Request timeout in seconds
limit = 100 # Default pagination limit
interactive = true # Enable interactive prompts
quiet = false # Suppress non-error output
verbose = 0 # Verbosity level (0-3)
# Use one of the following authentication methods
username = "admin"
password = "password"
token = "your-api-token" # API token authentication
refresh_token = "refresh-token" # For OAuth2 refresh token flow
You can also use environment variables for configuration, which is recommended for sensitive information:
# Base configuration
export PULP_BASE_URL="https://pulp.example.com"
export PULP_VERIFY_SSL="true"
# Authentication
export PULP_USERNAME="admin"
export PULP_PASSWORD="password"
# Alternative authentication
export PULP_TOKEN="your-api-token"
The CLI provides commands for managing administrative tasks:
# List all tasks
pulp console task list
# Filter tasks by state
pulp console task list --state=completed
# List tasks with pagination
pulp console task list --limit=10 --offset=20
# Filter tasks by name
pulp console task list --name="sync" --name-contains="content"
# Filter tasks by time
pulp console task list --started-at-gte="2023-01-01T00:00:00Z"
# Show detailed information for a specific task
pulp console task show --href=/pulp/api/v3/tasks/1234abcd/
# Cancel a running task
pulp console task cancel --href=/pulp/api/v3/tasks/1234abcd/
--limit
: Limit the number of tasks shown--offset
: Skip a number of tasks--name
: Filter by task name--name-contains
: Filter tasks containing this name--logging-cid-contains
: Filter by logging correlation ID--state
: Filter by task state--state-in
: Filter by multiple states (comma-separated)--task-group
: Filter by task group--parent-task
: Filter by parent task--worker
: Filter by worker--created-resources
: Filter by created resources--started-at-gte/--started-at-lte
: Filter by start time--finished-at-gte/--finished-at-lte
: Filter by finish time--reserved-resource/--reserved-resource-in
: Filter by reserved resources--exclusive-resource/--exclusive-resource-in
: Filter by exclusive resources--shared-resource/--shared-resource-in
: Filter by shared resources
The CLI provides commands for managing vulnerability reports:
# List vulnerability reports
pulp console vulnerability list
# Show a specific vulnerability report
pulp console vulnerability show --href=/api/pulp/vulnerability-reports/123/
# Create a vulnerability report
pulp console vulnerability create --file=/path/to/packages.json
list
: List all vulnerability reportsshow
: Display details of a specific vulnerability reportcreate
: Create a new vulnerability report from a JSON file
--href
: Reference to a specific vulnerability report (for show command)--file
: JSON file containing npm packages (required for create command)--chunk-size
: Size of chunks for uploading files (for create command)--severity
: Filter by vulnerability severity (critical, high, medium, low)--status
: Filter by status (open, in-progress, resolved, false-positive)
# Get system performance metrics
pulp console monitor performance
# View resource utilization
pulp console monitor resources
# Check Pulp server health
pulp console monitor health