-
Notifications
You must be signed in to change notification settings - Fork 219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement SSH Proxy Host #1688
Implement SSH Proxy Host #1688
Conversation
Dear Christie, Thank you very much for your contribution on behalf of the team and myself. I am pleased with the style, the unit tests, and your thoughtful refactoring. I appreciate your contribution. Our team currently comprises three members, along with the former maintainer in a supporting role. However, apart from myself, all others are temporary unavailable for various reasons. Therefore, it may take some time before we can thoroughly discuss and decide on all the details of your PR. First and foremost, I would like to gain a better understanding of the use case. I have not previously utilized an SSH proxy. Is it similar to a "jump host"? Additionally, could you share details of your real setup where this feature proves useful to you? Understanding your experience would greatly assist me in visualizing the use case myself. The issue regarding "unmount" and the snapshot list requires investigation. Does this problem occur exclusively when using the proxy, or does it also manifest with "regular" SSH hosts? We are dedicated to enhancing the codebase. Despite its current non-compliance with PEP8 standards, our goal remains to align with PEP8 guidelines, acknowledging its 15-year legacy and our position as the third generation of maintainers. I will consider how best to enhance the dialogue, perhaps by visually disabling the SSH proxy section and enabling it through a checkbox. Ultimately, a redesign of the entire dialogue is necessary, but the current codebase is not conducive to such changes. Therefore, I intend to implement the solution in a simple manner and postpone the redesign. Best regards, EDIT: Note to myself: Have a look at #1298 |
Hi Christian, thanks for your reply! A use case I have also seen would be to limit the attack vector of a backup server by eg. accepting only requests from a certain IP address (the proxy server).
I would be very keen to help with some refactoring work - I can identify some small places to start to show what I'd do then would be great to get some feedback about whether people are happy with my contributions. Very keen to add more tests also. |
I am taking it from here, working on your branch and will come up with some modifications in the next days. Sidenote about translation and localization:
In most cases it makes more sense to make punctuations and other signs part of the string to translate. This make sense for right-to-left (RTL) languages and bidirectional-reading (BIDI) environments. |
@buhtz okay cool thanks |
Hello Christie, |
This is how it looks like and behave now. The label "SSH Proxy (optional)" need to be modified. I would propose to use "SSH Proxy" (the term proxy is used in the man page, too) and add a tooltip to the whole widget explaining the purpose, use alternative term "Jump host" and reference the command switches used (e.g. Needs discussionI also vote to finally remove Open problemsThe thing with the lost snapshot list needs further investigation. |
Not knowingly!
|
New UI looks great - I agree with the checkbox the "(optional)" is no longer needed.
I would agree - these tests are also quite hard to read as a newcomer to the codebase |
I need to setup a jump host scenario in a VM to investigate this further.
EDIT: The failing TravisCI is an issue on their own servers and not related to this PR. |
This happened with any SSH host. Will try get you the output later today - I tested on the main branch and I saw the same behaviour |
If you are able to reproduce the problem with the snapshot timeline on "main" branch independent from this PR then I would suggest you to report it in a separate issue. |
Do you tested it on the branch named I will merge the PR because the bug you describe is not reproducible. I setup a jumps host and it worked fine. Because the bug is not critical I decide to merge this PR but keep the separate issue #1705 open for a while. |
I tested it on the dev branch - haven't tried the main branch. Okay I'll try get some time to reproduce it this week. Thanks for merging! |
Fix crash with SSHProxyWidget when port was of type int. Bug was introduced with #1688
Implemented options for using a proxy/bastion host with SSH backups.
First contribution so please let me know if you are happy with the style, I've tried to maintain the existing style but balance it with pep8 where possible. I think I caught all the places that are required for this but this is my first dive into this codebase so I wouldn't be surprised if I missed some things.
I separated out the ssh-copy-id command generation into its own function so I can run tests on it. I was thinking of doing the same for the ssh default args - let me know what you think.
This is my first time working with any desktop UI, more than open to suggestions of how it should work. I tried to be consistent with the rest of the dialog, however I think a checkbox or similar might be good for enabling these options.
Additionally, when doing a snapshot I found that because the
backup
method unmounts the mount at the end, the snapshot list no longer works and shows only "Now". If I comment the unmount out, it works as expected and shows the existing and new snapshots in the list. Is this a known issue?