pinpox / lollypops

Lollypop Operations - NixOS Deployment Tool
https://pinpox.github.io/lollypops/
GNU General Public License v3.0
118 stars 17 forks source link

feature: Support `sudo` & SSH connection options #14

Closed cmacrae closed 1 year ago

cmacrae commented 1 year ago

These changes (based on @arouzing's initial work, thank you!) introduce configuration options for SSH connections and add support for using sudo.

Tested thoroughly on several systems and works as expected :)
I also fixed a bug on initial deploys by adding the --mkpath arg to rsync, otherwise systems fail to deploy on initial attempt.

pinpox commented 1 year ago

Hey @cmacrae, thanks a ton for this PR!

I reviewed the code and it looks good, just one question: I see you have removed the set -o pipefail -e; in https://github.com/pinpox/lollypops/pull/14/files#diff-206b9ce276ab5971a2489d75eb1b12999d4bf3843b7988cbe8d687cfde61dea0R101-R125 Those where necessary to stop deployment if any error occurs. Without those the execution will continue on error, which I think is a bad idea. Have you found a better solution?

I know it's a bit repetitive to add that to every SSH command, but there is not a way to add it in general (yet), see more about it here

cmacrae commented 1 year ago

You're very welcome! Thanks for sharing this awesome tool ✨
Ah, whoops! That was unintentional. I'll add them back shortly after I've finished my work day :)

cmacrae commented 1 year ago

There we go, added back in :)