Skip to content

Latest commit

 

History

History
254 lines (182 loc) · 6.25 KB

File metadata and controls

254 lines (182 loc) · 6.25 KB

Pangolin CLI Documentation

Overview

The Pangolin CLI provides command-line tools for managing your Pangolin data catalog infrastructure.

CLI Tools

  • pangolin-admin - Administrative tool for managing tenants, warehouses, catalogs, users, and permissions
  • pangolin-user - User-focused tool for data discovery and catalog operations

Quick Start

Installation

# Build from source
cd pangolin
cargo build --release --bin pangolin-admin

# The binary will be at: target/release/pangolin-admin

First Steps

# 1. Login as root
pangolin-admin login --username admin --password password

# 2. Create a tenant
pangolin-admin create-tenant --name my-company \
  --admin-username tenant-admin \
  --admin-password secure-password

# 3. Login as tenant admin
pangolin-admin login --username tenant-admin --password secure-password

# 4. Create a warehouse
pangolin-admin create-warehouse my-warehouse --type s3

# 5. Create a catalog
pangolin-admin create-catalog my-catalog --warehouse my-warehouse

Documentation Index

Admin Tool (pangolin-admin)

User Tool (pangolin-user)

Configuration & Setup

Common Tasks

Warehouse Operations

# Create S3 warehouse
pangolin-admin create-warehouse prod-s3 --type s3 \
  --bucket my-bucket \
  --access-key AKIA... \
  --secret-key ... \
  --region us-east-1

# Create Azure warehouse
pangolin-admin create-warehouse prod-azure --type azure

# Create GCS warehouse
pangolin-admin create-warehouse prod-gcs --type gcs

# List warehouses
pangolin-admin list-warehouses

# Update warehouse credentials
pangolin-admin update-warehouse --id <uuid>

# Delete warehouse
pangolin-admin delete-warehouse my-warehouse

Catalog Operations

# Create catalog
pangolin-admin create-catalog my-catalog --warehouse my-warehouse

# List catalogs
pangolin-admin list-catalogs

# Delete catalog
pangolin-admin delete-catalog my-catalog

User Management

# Create user
pangolin-admin create-user john.doe \
  --email john@example.com \
  --role tenant-user

# List users
pangolin-admin list-users

# Update user
pangolin-admin update-user --id <uuid> --active false

Interactive Mode

The CLI supports an interactive REPL mode:

# Start interactive mode
pangolin-admin

# You'll see a prompt:
(admin:username@tenant)> 

# Type commands without the 'pangolin-admin' prefix:
(admin:username@tenant)> list-warehouses
(admin:username@tenant)> create-catalog my-catalog --warehouse my-warehouse
(admin:username@tenant)> exit

Environment Variables

# Set Pangolin API URL
export PANGOLIN_URL="http://localhost:8080"

# Set tenant context
export PANGOLIN_TENANT="my-tenant"

# Use in commands
pangolin-admin list-warehouses

Configuration Profiles

The CLI saves authentication state in ~/.pangolin/config.json:

{
  "base_url": "http://localhost:8080",
  "username": "admin",
  "token": "...",
  "tenant_id": "...",
  "tenant_name": "my-tenant"
}

Use multiple profiles:

# Use specific profile
pangolin-admin --profile production list-warehouses

# Switch profiles
pangolin-admin --profile staging login --username admin

Getting Help

# General help
pangolin-admin help

# Command-specific help
pangolin-admin create-warehouse --help

# List all commands
pangolin-admin help | grep "  "

Troubleshooting

Connection Issues

# Check API is running
curl http://localhost:8080/health

# Verify URL
echo $PANGOLIN_URL

# Test with explicit URL
pangolin-admin --url http://localhost:8080 list-tenants

Authentication Issues

# Clear saved credentials
rm ~/.pangolin/config.json

# Login again
pangolin-admin login --username admin --password password

Permission Issues

# Check current user context
pangolin-admin list-users  # Shows current user

# Verify tenant context
# Root users must use 'use' command to switch tenants
pangolin-admin use my-tenant

Examples

See individual documentation pages for detailed examples:

Support

Version

Current CLI version: 0.1.0

For API compatibility, see API Documentation.