Skip to content

pulp/pulp-cli-console

Repository files navigation

Pulp CLI Console

A command-line interface for Pulp, providing console administrative functionality.

Table of Contents

Overview

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.

Requirements

  • 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

Installation

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

Configuration

Basic Configuration

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

Advanced Options

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

Environment Variables

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"

Usage

Task Management

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/

Available Filters for Tasks

  • --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

Vulnerability Management

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

Vulnerability Commands

  • list: List all vulnerability reports
  • show: Display details of a specific vulnerability report
  • create: Create a new vulnerability report from a JSON file

Options for Vulnerability Commands

  • --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)

Performance Monitoring

# Get system performance metrics
pulp console monitor performance

# View resource utilization
pulp console monitor resources

# Check Pulp server health
pulp console monitor health

Troubleshooting

Common Issues

About

No description, website, or topics provided.

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •