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
148
149
150
151
152
|
[[!meta title="Road map"]]
# Roadmap
The current goal of Obnam development to get the software to a state
where its author uses it for real, for at least a subset of their live
data, and is ready to ask others to try the software.
~~~roadmap
goal:
label: "Lars uses Obnam2 for real"
depends:
- incremental_backup
- docs
- clean_code
docs:
label: "Obnam has docs"
depends:
- manual
- code_docs
e2_server:
label: "Lars has an Obnam server running on home server"
depends:
- server_provision
server_provision:
label: "The Obnam server at home is provisioned with automation"
depends:
- access_token
access_token:
label: "The Obnam server at home requires using an access token signed by a well-known public key"
client_token:
label: "The Obnam client generates the access token itself"
depends:
- access_token
e1_client:
label: "Lars has the Obnam client installed on his laptop, configured to back up personal projects"
depends:
- nice_ux
initial_backup:
label: "Lars has made an initial backup of personal projedts in less than an hour"
depends:
- e1_client
- e2_server
incremental_backup:
label: "Lars has made a no-op incremental backup of personal data in less than a minute"
depends:
- initial_backup
- incremental
filetypes:
label: "The Obnam client backs up and restores all interesting types of files"
depends:
- symlinks
regular_files:
label: "The Obnam client backs up and restores regular files, with uid, gid, mtime, permissions"
directories:
label: "The Obnam client backs up and restores directories, with uid, gid, mtime, permissions"
depends:
- regular_files
symlinks:
label: "The Obnam client backs up and restores symlinks, with uid, gid, mtime, permissions, target"
depends:
- directories
incremental:
label: "The Obnam client backs up only new or changed files"
depends:
- filetypes
nice_ux:
label: "The Obnam client provides a nice user experience"
depends:
- client_token
clean_code:
label: "Lars has reviewed all code and tidied up anything that's not clean and idiomatic"
depends:
- code_docs
code_docs:
label: "The code is documented for someone wanting to use the Obnam create as a library"
depends:
- manual
tests:
label: "Everything in Obnam has automated tests"
depends:
- acceptance_criteria
acceptance_criteria:
label: "The Obnam acceptance criteria are up to date and sufficiently comprehensive"
manual:
label: "There is a rudimentary user manual for others"
depends:
- tests
~~~
# Roadmap legend
```roadmap
goal:
label: |
This is the end goal:
if we reach here, there
is nothing more to be
done in the project
depends:
- finished
- blocked
finished:
status: finished
label: |
This task is finished;
the arrow indicates what
follows this task (unless
it's blocked)
ready:
label: |
This task is ready
to be done: it is not
blocked by anything
next:
status: next
label: |
This task is chosen
to be done next
blocked:
label: |
This task is blocked
and can't be done until
something happens
depends:
- ready
- next
```
|