Files
harbor/PROJECT.md
Username 969f0a5207
All checks were successful
CI / Lint & Check (push) Successful in 11s
add admin commands for system, users, gc, audit, security
Phase 6 implementation:
- system: version, auth mode, storage volumes
- gc, gc-run: schedule, history, manual trigger
- users, user-create, user-delete, user-admin, user-passwd
- audit, audit-purge: view and purge audit logs
- cve-allow: manage system CVE allowlist
- scan-all: trigger system-wide vulnerability scan

Helpers: paginated_request(), confirm_action(), format_size()
2026-01-18 19:10:47 +01:00

51 lines
1.4 KiB
Markdown

# Project: harbor-ctl
## Purpose
Command-line interface for managing Harbor container registry. Provides quick access to common operations without requiring the web UI or manual API calls.
## Scope
### In Scope
- Project, repository, and artifact listing
- Vulnerability scanning and reporting
- SBOM retrieval and display
- Tag management
- Artifact deletion
- Project configuration (auto-scan, auto-sbom)
- System information and storage status
- Garbage collection (status, trigger)
- User management (list, create, delete, admin privileges, password reset)
- Audit log viewing and purging
- CVE allowlist management
- System-wide vulnerability scanning
### Out of Scope
- LDAP/OIDC group management (external provider)
- Replication rule creation (complex, rare)
- Registry endpoint management (rare setup task)
## Success Criteria
- Modular package structure for maintainability
- No external dependencies (stdlib only)
- All common daily operations accessible via CLI
- Clear, scannable output for terminal use
- Exit codes suitable for scripting
- Credentials managed securely (no hardcoding)
## Constraints
- Python 3.10+ stdlib only
- Harbor API v2.0 compatibility
- Must work in minimal environments (no pip install required)
- Legacy single-file script maintained for compatibility
## Assumptions
- Harbor instance is accessible over HTTPS
- User has appropriate permissions for requested operations
- Credentials file follows established format when present