168 lines
5.1 KiB
Markdown
168 lines
5.1 KiB
Markdown
# SRS-08: System Management
|
|
|
|
## 1. Overview
|
|
System Management module provides configuration and management of system services, network interfaces, time synchronization, and system administration features.
|
|
|
|
## 2. Functional Requirements
|
|
|
|
### 2.1 Network Interface Management
|
|
**FR-SYS-001**: System shall list network interfaces
|
|
- **Output**: Interface list with name, IP address, status, speed
|
|
- **Refresh**: Auto-refresh every 5 seconds
|
|
|
|
**FR-SYS-002**: System shall allow users to view interface details
|
|
- **Output**: Interface properties, IP configuration, statistics
|
|
|
|
**FR-SYS-003**: System shall allow users to update interface configuration
|
|
- **Input**: Interface name, IP address, subnet, gateway
|
|
- **Validation**: Valid IP configuration
|
|
|
|
**FR-SYS-004**: System shall display interface status
|
|
- **Output**: Connection status (Connected/Down), speed, role
|
|
|
|
### 2.2 Service Management
|
|
**FR-SYS-005**: System shall list system services
|
|
- **Output**: Service list with name, status, description
|
|
- **Refresh**: Auto-refresh every 5 seconds
|
|
|
|
**FR-SYS-006**: System shall allow users to view service status
|
|
- **Output**: Service status (active/inactive), enabled state
|
|
|
|
**FR-SYS-007**: System shall allow users to restart services
|
|
- **Input**: Service name
|
|
- **Action**: Restart service via systemd
|
|
|
|
**FR-SYS-008**: System shall allow users to start/stop services
|
|
- **Input**: Service name, action (start/stop)
|
|
|
|
**FR-SYS-009**: System shall display service logs
|
|
- **Input**: Service name
|
|
- **Output**: Recent service logs
|
|
|
|
### 2.3 NTP Configuration
|
|
**FR-SYS-010**: System shall allow users to configure timezone
|
|
- **Input**: Timezone string
|
|
- **Output**: Updated timezone
|
|
|
|
**FR-SYS-011**: System shall allow users to configure NTP servers
|
|
- **Input**: NTP server list
|
|
- **Output**: Updated NTP configuration
|
|
|
|
**FR-SYS-012**: System shall allow users to add NTP servers
|
|
- **Input**: NTP server address
|
|
- **Validation**: Valid NTP server address
|
|
|
|
**FR-SYS-013**: System shall allow users to remove NTP servers
|
|
- **Input**: NTP server address
|
|
|
|
**FR-SYS-014**: System shall display NTP server status
|
|
- **Output**: Server status, stratum, latency
|
|
|
|
### 2.4 SNMP Configuration
|
|
**FR-SYS-015**: System shall allow users to enable/disable SNMP
|
|
- **Input**: Enabled flag
|
|
- **Action**: Enable/disable SNMP service
|
|
|
|
**FR-SYS-016**: System shall allow users to configure SNMP community string
|
|
- **Input**: Community string
|
|
- **Output**: Updated SNMP configuration
|
|
|
|
**FR-SYS-017**: System shall allow users to configure SNMP trap receiver
|
|
- **Input**: Trap receiver IP address
|
|
- **Output**: Updated SNMP configuration
|
|
|
|
### 2.5 System Logs
|
|
**FR-SYS-018**: System shall allow users to view system logs
|
|
- **Output**: System log entries with timestamp, level, message
|
|
- **Filtering**: By level, time range, search
|
|
|
|
### 2.6 Terminal Console
|
|
**FR-SYS-019**: System shall provide terminal console access
|
|
- **Input**: Command string
|
|
- **Output**: Command output
|
|
- **Validation**: Allowed commands only (for security)
|
|
|
|
### 2.7 Feature License Management
|
|
**FR-SYS-020**: System shall display license status
|
|
- **Output**: License status (active/expired), expiration date, days remaining
|
|
|
|
**FR-SYS-021**: System shall display enabled features
|
|
- **Output**: Feature list with enabled/disabled status
|
|
|
|
**FR-SYS-022**: System shall allow users to update license key
|
|
- **Input**: License key
|
|
- **Validation**: Valid license key format
|
|
- **Action**: Update and validate license
|
|
|
|
**FR-SYS-023**: System shall allow users to download license information
|
|
- **Output**: License information file
|
|
|
|
### 2.8 System Actions
|
|
**FR-SYS-024**: System shall allow users to reboot system
|
|
- **Action**: System reboot (with confirmation)
|
|
|
|
**FR-SYS-025**: System shall allow users to shutdown system
|
|
- **Action**: System shutdown (with confirmation)
|
|
|
|
**FR-SYS-026**: System shall allow users to generate support bundle
|
|
- **Output**: Support bundle archive
|
|
|
|
## 3. User Interface Requirements
|
|
|
|
### 3.1 System Configuration Dashboard
|
|
- Network interfaces card
|
|
- Service control card
|
|
- NTP configuration card
|
|
- Management & SNMP card
|
|
- Feature License card
|
|
|
|
### 3.2 Network Interface Management
|
|
- Interface list with status indicators
|
|
- Interface detail modal
|
|
- Edit interface modal
|
|
|
|
### 3.3 Service Control
|
|
- Service list with toggle switches
|
|
- Service status indicators
|
|
- Service log viewing
|
|
|
|
### 3.4 License Management
|
|
- License status display
|
|
- Enabled features list
|
|
- Update license key modal
|
|
- Download license info button
|
|
|
|
## 4. API Endpoints
|
|
|
|
```
|
|
GET /api/v1/system/interfaces
|
|
PUT /api/v1/system/interfaces/:name
|
|
|
|
GET /api/v1/system/services
|
|
GET /api/v1/system/services/:name
|
|
POST /api/v1/system/services/:name/restart
|
|
GET /api/v1/system/services/:name/logs
|
|
|
|
GET /api/v1/system/ntp
|
|
POST /api/v1/system/ntp
|
|
|
|
GET /api/v1/system/logs
|
|
GET /api/v1/system/network/throughput
|
|
|
|
POST /api/v1/system/execute
|
|
POST /api/v1/system/support-bundle
|
|
```
|
|
|
|
## 5. Permissions
|
|
- **system:read**: Required for viewing interfaces, services, logs
|
|
- **system:write**: Required for updating configuration, executing commands
|
|
|
|
## 6. Error Handling
|
|
- Invalid IP configuration
|
|
- Service not found
|
|
- Service restart failures
|
|
- Invalid NTP server
|
|
- License validation errors
|
|
- Insufficient permissions
|
|
|