The role uses `become` towards a non-privileged user
This role creates a non-privileged user that will run the Onionspray proxy. In order to do so, the created user runs scripts from upstream.
One disadvantage of this approach is that it forces us to use become
towards a non-privileged user, which is frowned upon. You may run into the following error when using the role:
fatal: [HOST]: FAILED! => {"msg": "Failed to set permissions on the temporary files Ansible needs to create when becoming an unprivileged user (rc: 1, err: chmod: invalid mode: ‘A+user:onionspray:rx:allow’\nTry 'chmod --help' for more information.\n}). For information on working around this, see https://docs.ansible.com/ansible-core/2.18/playbook_guide/playbooks_privilege_escalation.html#risks-of-becoming-an-unprivileged-user"}
An easy fix is to enable pipelining. In your ansible.cfg
:
[connection]
pipelining=True
We should probably find a way to not rely on these become
. Maybe by adapting the installation process upstream, or by doing things differently here. Not quite sure of the best course of action for now.