summaryrefslogtreecommitdiff
path: root/blog/2022/04/17/plannning.mdwn
blob: 3b22222280f57dd1c1d90ed8b9679c56e4e56e44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
[[!meta title="Iteration planning: April 17 – May 1"]]
[[!meta date="Sun, 17 Apr 2022 09:43:42 +0300"]]
[[!tag meeting]]

[[!toc levels=2]]

# Assessment of the iteration that has ended

[previous iteration]: /blog/2022/04/03/planning

The goal of the [previous iteration][] was:

> The goal for this iteration is to further improve our ability to make
> changes to Obnam safely.

What an non-specific goal. In any case, it was achieved: that's the
nice part of not being specific. Lars changed Obnam to allow it to
migrate to another checksum algorithm for chunks and de-duplication
without breaking existing users. This is [[!issue 203]], and done in
[[!mr 228]], not yet merged.

# Discussion

## Current development theme

The current theme of development for Obnam is **convenience**. The choices
are performance, security, convenience, and tidy-up, at least
currently.

# Repository review

Lars reviewed all the open issues, merge requests, and CI pipelines
for all the projects in the Obnam group on gitlab.com.

## [Container Images](https://gitlab.com/obnam/container-image)

* Open issues: 0
* Merge requests: 0
* Additional branches: 0
* CI: OK, ran on Monday, April 11

## [obnam.org](https://gitlab.com/obnam/obnam.org)

* Open issues: 0
* Merge requests: 0
* Additional branches: 0
* CI: not defined

## [obnam-benchmark](https://gitlab.com/obnam/obnam-benchmark)

* Open issues: 11
* Merge requests: 0
* Additional branches: 0
* CI: not defined

## [cachedir](https://gitlab.com/obnam/cachedir)

* Open issues: 0
* Merge requests: 0
* Additional branches: 0
* CI: not defined

## [summain](https://gitlab.com/obnam/summain)

* Open issues: 0
* Merge requests: 0
* Additional branches: 0
* CI: not defined

## [obnam](https://gitlab.com/obnam/obnam)

* Open issues: 54
* Merge requests: 1
  - [[!mr 228]] - _add support for migrating to new checksum types_
    - to be merged on Tuesday
* Additional branches: 1
  - `perf-stats` -- obsolete, deleted during meeting
* CI: OK

# 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 be easier and safer
to change, both for developers and end users. This means that
developers need to be able to make breaking changes without users
having to suffer. User shall be able to migrate their data, when they
feel it worthwhile, not just because there is a new version.

## Goal for this iteration (new for this iteration)

The goal of this iteration is to prepare for future changes: document
threats against the chunk server API (so that authentication can be
added in the future), and making an client-internal abstraction for
using the chunk store (so that it can later be local as well as
remote).


# Commitments for this iteration

Lars intends to work on the following issues:

* [[!issue 29]] -- _Doesn't provide information on SQLite file sizes_
  - Lars will add that functionality to the Obnam client
  - 1h
* [[!issue 188]] -- _May store large unsigned numbers incorrectly in SQLite?_
  - Lars will add a test to verify that the biggest 64-bit number can
    be stored in SQLite and correctly retrieved back.
  - 1h
* [[!issue 190]] -- _obnam.md doesn't explain why we back up
  CACHEDIR.TAG files_
  - Lars will amend the documentation in the subplot
  - 0.25h
* [[!issue 206]] -- _Lacks a release with recent changes_
  - Lars will make a release and run benchmarks.
  - 1h
* [[!issue 207]] -- _What threats would a server API authentication
  defend against?_
  - Lars to add an initial threat model for server API. This needs to
    be done before it's sensible to discuss how authentication would
    be implemented.
  - 1h
* [[!issue 208]] -- _Needs internal interface for using chunk storage_
  - Lars to add an internal interface and implement it for a remote
    chunk store.
  - 4h


# Meeting participants

* Lars Wirzenius