https://git.schokokeks.org/derivepassphrase.git/tree/0be132367e57855736c2c4163dd6c606f2b88d23 Recent commits to derivepassphrase.git (0be132367e57855736c2c4163dd6c606f2b88d23) 2024-08-31T13:32:33+02:00 tag:gitlist.org,2012:commit/0be132367e57855736c2c4163dd6c606f2b88d23 Move exporter command-line interface into a separate module 2024-08-31T13:32:33+02:00 Marco Ricci m@the13thletter.info <pre>Also replicate this module structure in the tests, which allows us to use `pytest.importorskip` to deal with missing `cryptography` support. &lt;/pre&gt; tag:gitlist.org,2012:commit/fa1083e98907a6a7dc48e8decfa7146708510341 Add preliminary tests for the exporter 2024-08-25T23:50:03+02:00 Marco Ricci m@the13thletter.info <pre>Includes basic testing of command-line functionality, explicit examples of each supported format, and proper hatch environment and dependency selection (with exporter support, or without) to run tests in. The major missing pieces are weird-to-reach error conditions in the internals of the exporter functions (which require invasive mocking) and explicit API testing of the exporter functions (i.e. beyond each exporter's "main" function). Because the internal API is not yet stable, particularly the v0.2 and v0.3 exporters, this is currently left as a TODO. Since we are attempting to support installations without the cryptography module, we must ensure the exporter modules all stay importable without triggering import errors. (This is also relevant for pytest's test collection phase, where those modules too are scanned for doctests.) Currently we stub out each (sub-)module of the cryptography package implicitly, such that calling any method on the stub raises an import error, as well as explicitly through a `STUBBED` attribute on the exporter module. &lt;/pre&gt; tag:gitlist.org,2012:commit/9fa74020070b37e150e4f34b3bd77ea279d0350c Add command-line interface to the exporter 2024-08-25T23:31:24+02:00 Marco Ricci m@the13thletter.info <pre>A new script `derivepassphrase_export` implements a command-line interface to the exporter machinery. It is implemented as a separate script because it has a very different call signature which doesn't easily map to `derivepassphrase`'s command-line interface. &lt;/pre&gt; tag:gitlist.org,2012:commit/d525f4302bd1f00edffe1159f78b8da745f06d24 Move vault key and path detection logic into the exporter module 2024-08-18T09:41:16+02:00 Marco Ricci m@the13thletter.info <pre>Instead of having both exporters reimplement the logic for determining the vault key and vault configuration path, implement this functionality in the `derivepassphrase.exporter` package, which is otherwise still empty. &lt;/pre&gt; tag:gitlist.org,2012:commit/3b2b65e4f564d15046a348842b2d28a495ec12ff Add prototype for "vault v0.2/v0.3"-type data export 2024-08-18T00:45:19+02:00 Marco Ricci m@the13thletter.info <pre>Based on a rather direct translation of vault's "legacy" configuration migrator, for storeroom-enabled builds of vault. &lt;/pre&gt; tag:gitlist.org,2012:commit/2d7402652cd0b845a1c755939c0d8634519af7b4 Support exports from outside the current directory 2024-08-18T00:14:59+02:00 Marco Ricci m@the13thletter.info <pre>In the storeroom exporter, pass the storeroom directory explicitly, and open and glob all bucket files relative to this directory. &lt;/pre&gt; tag:gitlist.org,2012:commit/28ecd5affbc48b9580e659d62a0589a98f8cf718 Add dependency on cryptography for the exporter 2024-08-17T01:23:36+02:00 Marco Ricci m@the13thletter.info <pre>&lt;/pre&gt; tag:gitlist.org,2012:commit/99a59bb9253dc252723efb1740af9cafb1c20bb8 Add an actual storeroom exporter, not just a reader 2024-08-16T22:49:06+02:00 Marco Ricci m@the13thletter.info <pre>Remove the script-like main function, which wrote decrypted files to the current directory, in favor of an exporter which actually synthesizes the configuration from the storeroom data files. &lt;/pre&gt; tag:gitlist.org,2012:commit/2c2295fea6d47278f346c32dd4a0daf4c2428571 Add docstrings and better variable names on storeroom exporter 2024-08-16T22:48:08+02:00 Marco Ricci m@the13thletter.info <pre>&lt;/pre&gt; tag:gitlist.org,2012:commit/2d5932a0080baf14f1589fcd92b9f9425c2714c3 Add example for "storeroom"-type data export 2024-08-04T09:36:49+02:00 Marco Ricci m@the13thletter.info <pre>&lt;/pre&gt;