37 lines
702 B
Markdown
37 lines
702 B
Markdown
# Plugin Design
|
|
|
|
Plugins will let OrbitWard add collectors and discovery logic without hard-coding every integration into the core API.
|
|
|
|
Target shape:
|
|
|
|
```python
|
|
class OrbitWardPlugin:
|
|
name: str
|
|
display_name: str
|
|
|
|
def test_connection(self, target, credentials):
|
|
pass
|
|
|
|
def discover(self, target, credentials):
|
|
pass
|
|
|
|
def collect(self, monitor):
|
|
pass
|
|
|
|
def default_alert_rules(self, discovered_item):
|
|
pass
|
|
```
|
|
|
|
The first implementation can use simple internal collectors, but the interfaces should preserve this path.
|
|
|
|
Planned plugin areas:
|
|
|
|
- Website checks
|
|
- Generic SNMP
|
|
- Proxmox VE
|
|
- Docker
|
|
- UniFi
|
|
- TrueNAS
|
|
- Technitium DNS
|
|
- Active Directory
|