-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
Overview
Implement comprehensive Administration API module following v2.0 BaseAPI pattern for system administration and configuration management.
Scope
- System settings management
- License information retrieval
- Console properties
- Database backup and restore operations
- System information and health
- Settings configuration
- Helper methods for common workflows
- Integration with InsightVMClient
- Comprehensive docstrings with type hints
- Error handling
- Unit tests (when test framework ready)
API Endpoints
GET /api/3/administration/info- Get system informationGET /api/3/administration/license- Get license detailsGET /api/3/administration/settings- Get system settingsPUT /api/3/administration/settings- Update settingsGET /api/3/administration/properties- Get console propertiesPOST /api/3/administration/commands/sql- Execute SQL (admin only)
Implementation Checklist
- Create
src/rapid7/api/administration.py - Implement AdministrationAPI class extending BaseAPI
- Add administration sub-client to InsightVMClient
- Create documentation in
docs/ADMINISTRATION_API.md - Update Memory Bank (activeContext.md, progress.md)
- Create feature branch:
feature/issue-{number}-administration-api
Key Features
- System Info: Version, uptime, memory, CPU usage
- License Management: Expiration, asset limits, feature availability
- Settings: SMTP, authentication, session timeout, etc.
- Database: Backup status, size, connection info
- Console Properties: JVM settings, environment variables
- Helper Methods:
check_health(),get_license_status(),is_licensed_for()
System Information Includes
- InsightVM version and build
- Operating system details
- Java version and memory settings
- Database type and version
- Disk space usage
- Active scans and engines
Estimated Size
~300-350 lines of code
Definition of Done
- AdministrationAPI module implemented with all endpoints
- Integrated with InsightVMClient as
client.administration - Documented with usage examples
- Memory Bank updated
- PR created and ready for review
Security Notes
- Most operations require Global Administrator role
- Sensitive information should be handled carefully
- Log all administrative actions
References
- Context7 API Documentation:
/riza/rapid7-insightvm-api-docs - BaseAPI Pattern:
src/rapid7/api/base.py