kewlfft / ansible-aur

Ansible module to manage packages from the AUR
GNU General Public License v3.0
299 stars 47 forks source link

README.md: Add missing .py suffix in setup instructions and misc fixes #7

Closed panchoh closed 6 years ago

panchoh commented 6 years ago

Tried without the .py just in case, and it doesn't work.

kewlfft commented 6 years ago

Why do you prefer https rather than ssh ?

HTTPS is recommended by Github because its a port that is open in all firewalls. SSH is not always open as a port for communication on a network and is often blocked by network firewalls.

A Github repository is therefore more universally accessible using HTTPS than SSH.

SSH Keys are more secure in that they do not provide access to your Github account, although if someone does get hold of your private key they can do a force push of an empty repository and wipe out your change history.

My preference is to use SSH with a passphrase protected key. SSH can be tunneled over HTTPS if the network you are on blocks the SSH port.

https://help.github.com/articles/using-ssh-over-the-https-port/

panchoh commented 6 years ago

Let me explain my reasoning before discarding the commit.

I think that the purpose of these instructions is to allow people to install ansible-aur and use it, not for them to become committers to the project. For that, adding the requeriment for the user to have a GitHub account, plus a configured SSH key in the box they are trying to install it to, is just another barrier to overcome, with no benefit whatsoever.

And, if the box that is hosting the ansible setup is a server and not your actual workstation, having your SSH key with access to your personal GitHub account there is, IMHO, a hassle at least and a security risk at worst. An anonymous fetch via HTTPS looks way more simple, and equally safe.

I, too, favor SSH keys protected with a passphrase (and not the default, but rather ED25519, reportedly more secure and faster than the others, but I digress), but only to repos that I plan to push to directly.

And, even if the user plans on contributing to this project, they would do so via PR, by pushing to their fork, via SSH, while possibly pulling from upstream via HTTPS (as is my case).

Furthermore, if the user prefers to pull via SSH, it is a trivial change for them to make, but I suspect that that would be a minority, for the reasons mentioned above.

So, to sum up, I think that the SSH handle is the way to go for just one person on the planet, you, :-), since you are the only committer to the project. Everybody else would benefit from the simplicity of the HTTPS clone.

My 2¢.

That being said, say the word and I'll drop the commit at once, but I thought I'd better explain myself first.

Cheers!

kewlfft commented 6 years ago

Thanks for the explanations No problem I will keep your proposal

panchoh commented 6 years ago

Aye, ansible-doc can't find it, even when ansible can. Weird.

panchoh commented 6 years ago

And thanks for listening, by the way.

kewlfft commented 6 years ago

no problem, and do you confirm with .py both ansible and ansible-doc work fine

panchoh commented 6 years ago

I tested ansible and ansible-doc with aur{,.py} living under /usr/share/ansible/plugin/modules, and only with .py does ansible-doc find it. On an ansible repo, under library I have tested only ansible, but not yet ansible-doc. I'll be able to check it in an hour, approx.

kewlfft commented 6 years ago

Ok your PR should be an improvement and we will adjust again if necessary

kewlfft commented 6 years ago

I will wait for your confirmation and then release v0.20

panchoh commented 6 years ago

Hi again. Well, surprise surprise, it turns out that ansible-doc can't find it when either aur{,.py} lives in ansible-prj/library:

$ ansible-doc aur
 [WARNING]: module aur not found in:
/home/pancho/.ansible/plugins/modules:/usr/share/ansible/plugins/modules:/usr/lib/python3.6/site-
packages/ansible/modules

Maybe we should recommend its installation in ~/.ansible/plugins/modules. I just tested, and there it works just fine.

kewlfft commented 6 years ago

you are welcome to propose an installation that works more reliably than the current one. ~/.ansible/plugins/modules sounds fine.