All checks were successful
CI / Lint & Check (push) Successful in 12s
- add --tag alias for --digest in vulns, scan, info, sbom commands - tags command now shows digest column for each tag - add delete-repo, delete-project, purge, clean-all commands - add config command for project settings - bump version to 0.3.0
1.5 KiB
1.5 KiB
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
References
- Harbor API docs:
~/git/harbor/docs