forked from jackdoe/baxx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO.txt
191 lines (156 loc) · 7.11 KB
/
TODO.txt
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# infra weekend 30/03/2019
the cost of digital ocean is already 60E
(10 + 15 + 5 + 5 + 5 + 5 + 5) * 1.2 = 60
lb + postgres + a.baxx.dev b.baxx.dev ui.baxx.dev notify.baxx.dev spaces + vat
so 60E for 4gb ram 4 cpus and 250gb s3
the 2 machines in finland cost 40E each (vat included)
so 80E for 128gb ram, 16 cpus, 2tb ssd disk
and since i am having so much fun with it i decided to move it to finland
infra night [Fri 30/03/2019]:
* buy 2 machines [ done Fri 29 Mar 17:20:12 CET 2019 ]
* setup 2 machines in Finland
+ config docker and firewall on them [ done Sat 30 Mar 02:25:10 CET 2019 ]
fucking thing took me 2 hours because of the ufw + docker fuckery
fuck
+ setup scylla cluster
+ basic [ done Sat 30 Mar 02:25:10 CET 2019 ]
+ ssl [ done Sat 30 Mar 10:02:11 CET 2019 ]
+ start https://github.com/jackdoe/judoc
+ basic [ done Sat 30 Mar 02:25:10 CET 2019 ]
+ ssl [ done Sat 30 Mar 10:02:11 CET 2019 ]
infra day [Sat 30/03/2019]:
* setup postgres master->slave
+ basic [ done Mon 1 Apr 00:20:38 CEST 2019 ]
+ ssl [ done Mon 1 Apr 00:20:38 CEST 2019 ]
* setup nginx with letsencrypt
+ nginx [ done Mon 1 Apr 00:20:38 CEST 2019 ]
+ letsencrypt [ done Mon 1 Apr 00:20:38 CEST 2019 ]
* setup auth for scylla
* baxx to use https://github.com/jackdoe/judoc [ done Sat 30 Mar 22:35:59 CET 2019 ]
* add 2fa on the host machines [ done Sat 6 Apr 16:27:59 CEST 2019 ]
* add psad https://github.com/imthenachoman/How-To-Secure-A-Linux-Server#psad-iptables-intrusion-detection-and-prevention
* run docker ui.baxx.dev to use port 22 and move normal ssh on port 2222
notify.baxx.dev overhaul:
at the moment in digitalocean it is only one droplet
* run the notification check in both machines [ done Mon 1 Apr 00:20:38 CEST 2019 ]
* run mail sender from both machines [ done Mon 1 Apr 00:20:38 CEST 2019 ]
* use select for update [ done Sat 30 Mar 22:35:59 CET 2019 ]
* run a healthckeck that checks when was the last time mail sender was ran and send slack message [ done Sun 31 Mar 00:07:23 CET 2019 ]
* move to systemd with dependencies [ done Mon 1 Apr 02:10:37 CEST 2019 ]
* monitoring watcher
* alerts for disk/mem
+ disk 80% [ done Sat 30 Mar 22:35:59 CET 2019 ]
+ mem 80% [ done Sat 30 Mar 22:35:59 CET 2019 ]
+ add nice asciigraphs with the stats
infra day [Sun 31/03/2019]:
* move baxx.dev to the new setup from digitalocean [ done Mon 1 Apr 23:36:57 CEST 2019 ]
* shutdown digitalocean [ done Mon 1 Apr 23:36:57 CEST 2019 ]
--
next:
+ gui to manage the tokens and notifications
+ move the todo list to somewhere elsex
+ make stickers
+ make mailing list
+ add nice cli client that does encryption
* experiments
+ upload backups to ipfs
* notifications
+ create [ done Thu 14 Mar 10:12:58 CET 2019 ]
+ modify [ done Thu 14 Mar 10:12:58 CET 2019 ]
+ delete [ done Sat 16 Mar 09:33:58 CET 2019 ]
+ run periodically [ done Sat 16 Mar 14:59:30 CET 2019 ]
+ send email [ done Sat 16 Mar 14:59:30 CET 2019 ]
+ send email on quota reach [ done Thu 21 Mar 09:32:46 CET 2019 ]
* run local copy that sends metadata remotely [ wontfix: not now ]
and uses other s3
so somehow the user is registered on baxx.dev, the tokens are synced
e.g.
BAXX_S3_.. baxx.api -local tokens copied
and it works by not having local users
and sends metadata to baxx.dev for the notifications
+
+ make docker image with minio baxx and postgres
on the outside it should look like:
docker run -p 9123:9123 -e BAXX_TOKENS=A,B,C -m /mnt/backup:/backup baxx
* make travisci for backups [ wontfix: not now ]
if files are stored locally in the customer's s3 (minio)
and they are not encrypted, we can run custom functions
e.g.
start mysql
load the backup
run a query
* payments
+ setup paypal ( jack@baxx.dev ) [ done Sun 3 Mar 14:13:14 CET 2019]
+ fix /thanks_for_paying [ done Sat 9 Mar 14:06:05 CET 2019 ]
+ move to webhooks instead of IPN
* send emails
+ after registration [ done Sat 2 Mar 23:11:08 CET 2019 ]
+ setup mail verification [ done Sat 2 Mar 23:11:08 CET 2019 ]
+ after subscription [ done Sat 3 Mar 01:11:08 CET 2019 ]
+ after cancelation [ done Sat 3 Mar 01:11:08 CET 2019 ]
+ use queue to make sure emails are sent [ done Sat 16 Mar 14:59:30 CET 2019 ]
* files
+ delete api [done Sun 3 Mar 22:25:06 CET 2019]
+ list api [done Sun 3 Mar 22:25:06 CET 2019] (not paginated)
+ search api [ wontfix: dont think its needed ]
+ rename api [ wontfix: there is upload and delete ]
+ quota [size added, done Wed 6 Mar 14:12:33 CET 2019 ]
+ quota number of files per user [ Fri 8 Mar 17:09:13 CET 2019 ]
+ api to compare shasums (like ls but output same as 'shasum *'
you can do `comm` diff between shasum and what is stored)
[ done Fri 8 Mar 21:12:46 CET 2019 ]
+ dont require /protected/ if password is supplied anyway [ done Sat 9 Mar 17:12:10 CET 2019 ]
+ encrypt the files before they go to store, with per token salt, so
if someone steals s3 credentials they also have to steal the database
[ done Mon 11 Mar 22:43:11 CET 2019 ]
+ make bucket per token [ done Mon 11 Mar 22:43:11 CET 2019 ]
+ move to streams instead of local temp files [ done Mon 11 Mar 22:43:11 CET 2019 ]
* tokens
+ list api [ listed in /status Sat 2 Mar 16:30:59 CET 2019 ]
+ add name [ done Fri 8 Mar 21:12:46 CET 2019 ]
+ delete api [ done Wed 6 Mar 14:12:33 CET 2019 ]
- with support to move files
to another token [ wontfix: not now ]
+ limit [ done Wed 6 Mar 14:12:33 CET 2019 ]
* storage
+ add support for configurable storage [ s3 only ]
+ local filesystem [ only for temporary files ]
+ s3 [ done Thu 7 Mar 23:29:59 CET 2019 ]
+ riak/.. [ wontfix ]
* users
+ change password [ done Sat 2 Mar 16:27:39 CET 2019 ]
+ change email [ done Sat 2 Mar 16:27:39 CET 2019 ]
+ add status endpoint
- to show if email is verified [ done Sat 2 Mar 16:30:59 CET 2019 ]
- to show if subscription is acctive [ done Sun 3 Mar 14:13:14 CET 2019 ]
- quota info [ done ]
+ activity info
which <who> did <what> <when>
+ generate new secret
[ done Sat 2 Mar 16:02:37 CET 2019]
(add support for multiple secrets?) [ not now ]
[ deleted Tue 5 Mar 21:49:48 CET 2019 ]
+ forgotten password
(important but not important since we have no users haha)
* gui (can make it like midnight commander)
+ manage tokens
+ list files
+ delete files
+ change password
+ change email
+ fix send verification link (show something that it is sending)
+ add login screen [ done Thu 7 Mar 20:55:18 CET 2019 ]
+ bug when pasting password longer than 11 characters it stops at 11 [ done Sun 10 Mar 07:45:58 CET 2019 ]
+ when you scroll buffer there is no upper/lower bound
* help
+ baxx.dev/help/register* [ done Thu 21 Mar 09:36:16 CET 2019 ]
+ baxx.dev/help/io* [ done Thu 21 Mar 09:36:16 CET 2019 ]
+ baxx.dev/help/token* [ done Thu 21 Mar 09:36:16 CET 2019 ]
+ baxx.dev/help [ done Tue 5 Mar 22:12:29 CET 2019 ]
+ move to templates [ done Tue 5 Mar 22:12:29 CET 2019 ]
* simplify
+ remove /v1/ [ done Wed 6 Mar 14:53:51 CET 2019 ]
+ add the verification link also in the registration email [ done Wed 6 Mar 14:53:51 CET 2019 ]
+ cleanup the file code
* tests
there are zero tests at the moment