Goal
Today I'll plan a road map for opening the Obnam 3 project up for
contributions from others. I'll also change obnam store init
to create
at least one credential chunk, which is a big step forward to being
able to using encryption for chunks in a convenient way.
Plan
- Make a road map for opening up the project.
- Change
obnam store init
to optionally create a credential chunk.
Notes
- Made a road map. Merged into main. I will try to include it in these blog notes in the future.
- The configuration file specifies the credentials the user has. The store init command should take an option to specify a credential for which to create a credential chunk. I don't want to, at this stage, require creating a credential chunk. Also at this stage, I'm OK with just one credential. More can be added later.
obnam client init
needs to be able to init a store, create a client chunk, generate a client key, and create a credential. This code exists in other subcommands, but needs to be abstracted into a convienience layer that can be used for any subcommand. This would avoid the need to duplicate code all over the code base. More importantly, it'll make the subcommand code easier to understand.- Other than that, code changes are fairly straighforward.
- Adding test scenarios for convenient use of
obnam
, however, runs into problems. Nothing major, just had to debug things. Turns out myobnam chunk encrypt
command line interface isn't natural for me to use. May need to change that.
Summary
Spent much more time on Obnam today than the three hours I normally allocate. On the
one hand, went out to look at a medieval knight event near where I live, and on the
other hand, I'm experimenting with the Helix editor and
the lazygit
Git terminal interface. These
tools seem nice, but I'm at the beginning of learning them, so using them is slow.
However, I took a big step towards making Obnam convenient to use. When initializing a
client, obnam
now creates a credential chunk, and that credential is used when
encrypting and decrypting chunks. There's still much to do to make obnam
truly convenient,
but today was important.
Comments?
If you have feedback on this development session, please use the following fediverse thread: https://toot.liw.fi/@liw/115163107363824431.