Should we split up different components?
botherder opened this issue · comments
As I go through the code-base, I can't help but feeling it is cluttered. I am wondering if it could make sense to try to separate essential components of the software.
For example, I'm thinking:
- Maintain the current repository for the essential core and CLI.
- Move all modules to a dedicated repository, and a command to the CLI to pull module updates. This (similarly to how we've done with Cuckoo), might also help reducing the need to regularly update the software itself and be more flexible on the packaging and distribution.
- Move the web interface to a dedicated repository.
Thoughts?
I totally agree with you. We should have the essential core and the CLI core and I would say some core modules. Additional modules should go to the 'community' repository and the final user decides what to do.
This is a good approach, the problem being to decide what core and what isn't.
And definitely the web interface should be a dedicated repository, it will also be a lot easier to maintain issues related to it.
I did a first attempt at this and it is committed now.
Now modules are located at:
https://github.com/viper-framework/viper-modules/
And the web interface is located at:
https://github.com/viper-framework/viper-web/
I uploaded a package of the viper core to PyPi, as viper-framework
, so it can now be installed with pip3 install viper-framework
.
I also added an update-modules
command that is just a first draft (it needs a lot of work), which pulls modules from git.
@Rafiot I could use your help fixing up the repositories there and the installation of various dependencies.
I'll try to get some work done on that this week (the 3 weeks after that will be difficult).
That should be fixed now.