Skip to content

[Sprint 6] Implement Administration API Module #78

@talltechy

Description

@talltechy

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 information
  • GET /api/3/administration/license - Get license details
  • GET /api/3/administration/settings - Get system settings
  • PUT /api/3/administration/settings - Update settings
  • GET /api/3/administration/properties - Get console properties
  • POST /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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions