diff options
author | Lars Wirzenius <liw@liw.fi> | 2021-03-24 10:55:33 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2021-03-24 10:55:33 +0200 |
commit | c75ead5dab1e54fbe70e835b4b3d38e1ccb3c27f (patch) | |
tree | d61c784e5076eeec4223c467b2b8455ec4d753b5 /blog | |
parent | d02ee87cf0d60d9fac3a3333ceb9eadf5bd6e248 (diff) | |
download | obnam.org-c75ead5dab1e54fbe70e835b4b3d38e1ccb3c27f.tar.gz |
docs: planning meeting minutes
Diffstat (limited to 'blog')
-rw-r--r-- | blog/2021/03/28/planning.mdwn | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/blog/2021/03/28/planning.mdwn b/blog/2021/03/28/planning.mdwn new file mode 100644 index 0000000..c29c3aa --- /dev/null +++ b/blog/2021/03/28/planning.mdwn @@ -0,0 +1,97 @@ +[[!meta title="Iteration planning: March 28—April 11"]] +[[!tag meeting]] + +# Agenda + +* Assess previous iteration. +* Discuss goals for new iteration, next few iterations, and long term. +* Review all open issues, and update them as needed. +* Create new milestone and choose issues to resolve. + +# Assessment of the iteration that has ended + +[iteration that has just ended]: /blog/2021/02/28/planning + +The goal for the [iteration that has just ended][] was: + +> By the end of this iteration, Obnam will have a plan for how to +> implement encryption for the initial threat model of the server +> operator reading backed up data. This will cover the encryption +> algorithm, how the encryption secret is handled, and Obnam can +> change its encryption in the future. +> +> A new release will be made by the end of the iteration. + +That goal was reached, if rather late. + +# Discussion + +Due to unforeseen circumstances (CI broke down badly), it took over a +week to actually finish making the release and building Debian +packages. That should now be properly fixed and shouldn't happen +again. Obnam uses Lars's personal CI, which is opaque and strange, but +is what Lars trusts to publish stuff on his personal sites. For +more transparent development it may be good to later set up something +that is more publicly accessible, perhaps using GitLab CI, but that +will need to wait for volunteers. + +During this iteration Lars did some performance profiling, because +Obnam is rather slower than he's willing to accept. Lars has some +multi-gigabyte files that change about every 30 seconds: notmuch index +files. + +The current main cause of slowness is that the client is +single-threaded and spends most of its time computing SHA256 checksums +of live data. Computing the checksums is necessary for de-duplication, +and they can't be skipped, but it would be good for the client to make +use of all the CPU cores available. That was always the intention, but +it would be good to start moving in that direction sooner rather than +later. Lars's current plan is to make use of the Rust async features +for this. + +# Goals + +## Goal for 1.0 (not changed this iteration) + +The goal for version 1.0 is for Obnam to be an utterly boring backup +solution for Linux command line users. It should just work, be +performant, secure, and well-documented. + +It is not a goal for version 1.0 to have been ported to other +operating systems, but if there are volunteers to do that, and to +commit to supporting their port, ports will be welcome. + +Other user interfaces is likely to happen only after 1.0. + +The server component will support multiple clients in a way that +doesn’t let them see each other’s data. It is not a goal for clients +to be able to share data, even if the clients trust each other. + +## Goal for the next few iterations (not changed for this iteration) + +The goal for next few iterations is to have Obnam support encryption +well. This will involve having a documented threat model, which has +been reviewed by all stakeholders participating in the project, and +Obnam defending against all the modeled threats. + +## Goal for the iteration that is starting + +The goal for this iteration is to implement a reasonable `obnam init`, +which reads a passphrase from the user, and derives two keys from it, +and stores them into `~/.config/obnam/secrets.yaml`, with file-system +permissions of 0400 (or `-r------` in ls notation). It is not part of +the goal to actually use those keys in any way. + +# Commitments for this iteration + +[[!milestone 7]] represents this iteration on GitLab. + +For this iteration, Lars is committed to resolving the following +issues: +[[!issue FIXME]] (FIXME estimate). + +That is a total of about FIXME hours, rough estimate. + +# Meeting participants + +* Lars Wirzenius |