mirror of
https://github.com/amidaware/tacticalrmm.git
synced 2026-04-26 15:05:57 +03:00
[GH-ISSUE #1850] Feature Request: Plugin Architecture #3098
Labels
No labels
In Process
bug
bug
dev-triage
documentation
duplicate
enhancement
fixed
good first issue
help wanted
integration
invalid
pull-request
question
requires agent update
security
ui tweak
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/tacticalrmm#3098
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @SoarinFerret on GitHub (Apr 19, 2024).
Original GitHub issue: https://github.com/amidaware/tacticalrmm/issues/1850
Is your feature request related to a problem? Please describe.
Lots of us have ideas on ways we would like to extend Tactical RMM. However, things that are useful for one user may not be useful for another. For example, an integration with an external monitoring system like Zabbix or PRTG.
Describe the solution you'd like
It would be nice if we could build plugins to extend the functionality of TacticalRMM. For example, lets say I wanted a plugin for Zabbix. It could add an additional tab to the UI for each host, then allow me to view all the metrics in relation to that host from Zabbix. Same thing for something like PRTG. Another would be I have a plugin I built for Rundeck to access all my hosts. It would be nice if I could execute those rundeck jobs from Tactical RMM. Another nice item would be integration with a ticketing system.
Describe alternatives you've considered
Building a system that integrates all the services I use, and integrating this RMM with that as well.
Additional context
For other Django applications that have built a plugin architecture, you could look at Netbox.
Essentially, any data for a plugin would exist in a separate table from the rest of the RMM (starting with
plugin_), to ensure a clean uninstall. Additionally, plugins should not affect Core UI elements, only add on. For example, adding on new tabs to the Host View, maybe an additional dropdown in the right click menu, etc. Plugins should also be able to be enabled / disabled from the GUI.I would be happy to help build out this functionality if its considered useful, while providing some example plugins that would help my use case.
@silversword411 commented on GitHub (Apr 24, 2024):
It's on a long-term wish list.
The main concerns are making sure any extension with a security vulnerability or bugs can't adversely compromise TRMM.
If you think you have a viable start keep it small and simple. Do a PR so it can be evaluated for integration.