You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment the only ways to customize Mainframer behavior are:
Modify the source code of Mainframer (easy, since we ship it as a bash script, but it's easy to break compatibility and it complicates updates for user)
Make a custom ssh server that'll do necessary work once Mainframer connects to it (pretty hard, limited functionality, but doesn't break compatibility and Mainframer can be updated without problems)
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:
before sync (local machine)
before remote command execution (local machine)
before remote command execution (remote machine)
after remote command execution (remote machine)
after remote command execution (local machine)
after sync (local machine)
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).
Most likely we'll need to allow plugins to resolve some configuration parameters for Mainframer, ie dynamically resolve remote machine connection parameters.
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?
The text was updated successfully, but these errors were encountered: