trdl (stands for "true delivery") is an Open Source tool for implementing automatic updates. It is a universal package manager delivering new versions of your application from a trusted TUF repository. Your application might be distributed in any form of programming code, e.g., a binary file, a shell script, and even an Ansible playbook.
trdl is already used as an update manager for werf CI/CD tool.
trdl combines two key components: the server and the client.
trdl-server:
- builds and releases software versions;
- publishes the release channels (here is an example configuration from werf);
- ensures the release and the publication security via verifying the minimal number of valid GPG signatures associated with an action;
- ensures the object storage security via saving data signed by keys (no one has access to those keys) and continuously rotating TUF keys and metadata.
trdl-client:
- manages software repositories;
- updates software version within the selected release channel;
- provides easy operation with software version artifacts in the shell session;
- ensures safe communication via working with the TUF repository in a reliable fashion.
Download trdl
client binaries from the GitHub Releases page, optionally verifying the binary with the PGP signature.
Project's website is now available with more information (including developers quickstart) to follow soon.
Please feel free to reach developers/maintainers and users via GitHub Discussions for any questions regarding trdl.
Your issues are processed carefully if posted to issues at GitHub.
Apache License 2.0, see LICENSE.