The `decrypt` filter can be used in Tera templates to decrypt a string using `age`. This will allow the template context to contain encrypted vaules that are only decrypted if they are actually used to render a template. I considered using the [age] crate to implement this filter, rather than using the `age` command, but I decided against it for two reasons: 1. The way I intend for the `keys.txt` file to be populated is by fetching the keys from *keyserv.pyrocufflink.blue*, which returns an encrypted file that has to be decrypted with the `age` command before it can be used. Since that means `age` will always be available, it makes less sense to increase the size of the `tmpl` binary with what is effectively duplicate code. 2. The Rust API for *age* is rather un-ergonomic, particularly with respect to loading identites from a file. It's much easier to [age]: https://crates.io/crates/age |
||
---|---|---|
.. | ||
decrypt.rs | ||
mod.rs |