summaryrefslogtreecommitdiff
path: root/blog/2022/04/03/planning.mdwn
blob: 5ca721764e4f998f8d1c81dd4a1ea4f9e284c542 (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
[[!meta title="Iteration planning: April 4 – 17"]]
[[!meta date="Sun, 03 Apr 2022 19:45:24 +0300"]]
[[!tag meeting]]

[[!toc levels=2]]

# Assessment of the iteration that has ended

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

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

> The goal of this iteration is to add a "root object" for a user's
> backups, which lists the backup generations in order.

This was completed.

# 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.

## `cachedir` utility

Lars created a simple `cachedir` utility, in Rust. It's not yet on
crates.io, and there's not yet a Debian package, as those are both
blocked on a Subplot release. The git repository is at
<https://gitlab.com/obnam/cachedir>.


# 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, March 28

## [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: 2
  - [[!mr 226]] - _Log some performance measurements_
    - to be merged on Monday
* Additional branches: 0
* 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 for this iteration is to further improve our ability to make
changes to Obnam safely.

# Commitments for this iteration

Lars intends to work on the "root object" change, as described above.
This will affect, and hopefully resolve the following issues:

* [[!issue 202]] - _Server HTTP API is not versioned_
  - Lars will make all the current HTTP API end points be verisoned:
    `/v1/chunks` etc.
* [[!issue 203]] - _No migration to new checksum types_
  - Lars will add a prefix to all checksum, and add a second supported
    checksum type. User will be able to configure which checksum is
    used for new chunks, while old chunks are used with whatever they
    were labelled as.

# Meeting participants

* Lars Wirzenius