Enhanced build system
Description
Onionspray needs a stateful update mechanism.
This would allow for better build and upgrade procedures.
In special, it makes easier to achieve idempotency for configuration management such as Onionspray Ansible Role.
Tasks
-
Build procedure: -
Keep per platform build info in files (!114 (merged)). -
Keep per dependency build info files (Tor and OpenResty). -
Try to determine platform automatically (!119 (merged)). -
Implement simpler build commands: ./onionspray <build|deps|compile>
(!119 (merged)). -
Don't build if already built (but accept --force
). Onionspray should only build if platform or dependency versions changed (!116 (merged)). -
Reflect the updates in Onionspray Ansible Role (tpo/onion-services/ansible/onionspray-role#1 (closed)).
-
-
Upgrade procedure: -
Implement a simpler upgrade procedure: ./onionspray <update|upgrade>
(!119 (merged)). -
Optionally add a command to list available binaries/versions (Tor and NGINX). This is already done by./onionspray version
. -
Optionally implement a command to check if binaries are already on their latest versions (!120 (merged)). -
Reflect the updates in Onionspray Ansible Role (tpo/onion-services/ansible/onionspray-role#1 (closed)).
-
-
Documentation: -
Update the tutorial. -
Update the install documentation. -
Update the upgrade documentation.
-
Time estimation
- Complexity: small (1 day)
- Uncertainty: low (x1.1)
- Reference (adapted)
Edited by Silvio Rhatto