Open artem-zinnatullin opened 7 years ago
Most likely we'll need to allow plugins to resolve some configuration parameters for Mainframer, ie dynamically resolve remote machine connection parameters.
I still think this is very important feature, but I've removed it from 3.0.0 milestone.
We can ship initial 3.x without it and add it later.
At the moment the only ways to customize Mainframer behavior are:
There are multiple users (including myself) who want custom behavior like @AndreasBackx with Docker integration #167 and @crysxd with AWS EC2 integration #181.
We can of course suggest people to fork Mainframer and maintain own fork with the integration (which complicates life for everyone).
Or we can try to design and develop plugins/hooks system that'll add extension points to Mainframer so such integrations could be maintained as separate projects (that we can list in README) and plugged into Mainframer by modifying only config files.
So far I see it as config entries that'll allow user to specify plugins (in form of executable binaries/scripts) to be run:
Additional information (like working directory, user command, etc) can be passed as environment variables, plus plugins are of course welcome to read Mainframer configs and store their configs in
.mainframer
folder (we'll just need to agree on file names to avoid conflicts).@ming13 @dmitry-novikov @yunikkk @ghostbuster91, @pawegio thoughts?