theabraxas / Project-Neith

Project Neith is intended to provide an extensible and modular dashboard which conveys important information concisely and enables actions on monitored systems.
https://abraxas.io
GNU General Public License v3.0
22 stars 2 forks source link

Template Generation for Technology Configurations #4

Closed theabraxas closed 5 years ago

theabraxas commented 5 years ago

In order to make this a flexible solution I want it to be easy for people to create integrations and be able to easily benefit from the integrations of others. Enabling new technologies should be simple and a rough process will be outlined below.

1) Go to a 'Integrate new technology' page. 2) Be presented with a dropdown of existing templates 3) Select an item from the dropdown (AD, VMware, Cylance, etc.) 4) Be prompted for the required parameters to query/integrate the technology (API keys, username/pw, hostname/clustername/ip) 5) On submitting the data have it create the appropriate tables in the database if required 6) Create and register the appropriate scheduled tasks for data collection if required (prompted?) 7) Create or move the 'dashboards' for the technology to the active pages location. Adjust the -Pages @($pages) array to include the new pages for the technology.

The process for developing a new technology integration should be something like the following. 1) Create a new entry in the technology dropdown array 2) Add a row to the technology required parameters table which includes the various required parameters (true/false) 3) Write a database loading script which creates tables for the technology integration (ie. vmware hosts, cpu count, # of vms, etc.) 4) Write a script to register a scheduled task for data collection and database loading 5) Create a dashboard and place it in the `/templates/dashboards/ folder

theabraxas commented 5 years ago

The template_generator.ps1 is a partial implementation of steps 1-4 in the stages above.

theabraxas commented 5 years ago

Tasks 1-4 and 7 are implemented. Will open a separate issue for 5-6.