]> git.sur5r.net Git - bacula/bacula/blob - bacula/patches/testing/eblstodo
ebl update todo with api stuff
[bacula/bacula] / bacula / patches / testing / eblstodo
1 Idees
2 ------
3
4 Cryptage :
5  - Pouvoir configurer les algos de cryptage
6  - Pouvoir choisir de crypter dans le fileset
7  - Pouvoir choisir de forcer le cryptage dans la definition
8    du client.
9
10 Lister les fichiers sur le client :
11  - Avoir un mode comme restore
12  - Avoir une api list files client=xxx where=yyy
13   Dans la filed/job.c:handle_client_request, ajouter une commande
14   dans struct s_cmds cmds; et si possible utiliser le code de finlib
15  - A voir, pourquoi ne pas utiliser mark/unmark comme dans une resto
16    pour construire un fileset ?
17
18 Sauvegarde des postes nomades :
19  - Le client doit pouvoir initier les sauvegardes
20  - Au niveau firewall, il ne doit y avoir que 1 connexion (1)
21                     
22                                               
23              Localhost     |                  
24                            |   +-------+ (4) +---------------+
25                            |   |       |<----|               |
26 +--------+  (5)  +-------+ |   |       |     |   DIRECTOR    |
27 |        |<------+       | |   |       |---->|               |
28 |   FD   |       | PROXY | |   | PROXY | (3) +-------+-------+
29 |        +------->       <-+--->       |             |
30 +--------+  (6)  +-^-----+ (2) |       |     +-------v-------+
31                   /-\      |   |       | (7) |               |
32                    |       |   |       +----->   STORAGE     |
33                    |       |   |       |     |               |
34   Initiate backup  |       |   +-------+     +---------------+
35      --------------+       |                          
36            (1)          Network                               
37                                                       
38                                               
39 (1) & (2) BEGIN Backup         
40 (3) Bconsole like - Run command
41 (4) & (5) DIR -> (PROX <-> PROX) -> FD connection (fileset, storage..)
42 (6) & (7) FD -> (PROX <-> PROX) -> SD
43
44
45
46 Bconsole :
47  p Ajouter l'historique dans la bconsole
48  - Ajouter une commande pour bloquer un drive
49
50 Sauvegarde SAN :
51  - Avoir un SD sur chaque FD
52  - Avoir une serie de script qui :
53    * bascule le lecteur en local
54    * lance le SD
55    * le script de mtx doit faire ses demandes au director sur
56      un autochanger commun
57
58 Gestion des stats :
59  - Ajouter la gestion des stats dans le client et le sd
60    - Ajouter un M_STATS dans la gestion des messages
61    - générer un format simple UNIXSTAMP|label|unit|value
62    - possibilité d'ajouter ça dans la base de donnée ou dans rrd
63
64 API :
65
66  - apr (apache portable runtime) pour les exemples de chargement
67    de module dynamique (win32, linux, etc...)
68    http://svn.apache.org/viewvc/apr/apr/trunk/dso/
69
70  - exemple apache
71    http://modules.apache.org/doc/API.html
72
73  - comment charger les librairies dependantes d'un hook
74  ex: ACL  -> -lacl
75      GZIP -> -lgz
76
77  - nommer les hook (a la place d'une structure de pointeur)
78  ex:
79         "action", mod_action_handler
80
81  - interface
82    - opendir
83    - readdir
84    - closedir
85    - mkdir
86    - stat
87    - open
88    - close
89    - read
90    - write
91    - seek
92    - get_perm
93    - set_perm
94    - configuration... (ajout automatique avant de charger le fichier de conf)
95    - init
96    - destroy
97
98    - version
99    - name
100
101  - exemple de hook/module
102    - cryptage ?
103    - checksum (MD5/SHA1)
104    - ACL/droits
105    - compression (LZO, GZIP, BZIP)
106
107  - initialiser le jcr avec seulement les hooks utiles
108
109  - configuration 
110    - declarer les modules utiles
111    - les options doivent utiliser le nom du module
112  ex:
113       GZIP level = 2
114       ACL use uid = yes
115       etc...
116
117 TODO
118 ----
119
120 bweb :
121  - Ajouter la liste des fichiers (quand il n'y en a pas trop)
122  - Ajouter la liste des medias qui vont/ont expirer et les pruner
123  - Ajouter un mode qui compte le nombre de fichier sous bfileview
124  - Ajouter une gestion des utilisateurs avec des roles
125    o Liste des roles possibles
126      * view_stats
127      * configure
128      * run_job
129      * run_restore
130      * view_history
131      * view_log
132      * view_media
133      * view_pool
134      * update_media
135      * view_autochanger
136      * update_autochanger
137      * cancel_job
138
139    o Avoir des profiles ayant certains roles
140      * admin (all)
141      * customer (view_stats, view_history, view_log)
142      * production (all - configure)
143      ...
144
145    o Pour faire la difference entre les groupes de la vue et
146      les groupes d'acl, il faut ajouter un champs dans la table
147      client_group (visible bool).
148
149    o Ajout de 4 tables dans le catalogue
150        - bweb_user (userid, username, passwd) passwd with apache ?
151        - bweb_role (roleid, rolename)
152        - bweb_role_member (roleid, userid)
153
154        - bweb_client_group_acl (client_group_id, userid)
155      
156
157      Ou bien on ajoute seulement les roles dans une structure perl
158      que l'on stocke dans le fichier de configuration
159
160  - Integrer brestore en mode javascript
161    o ajouter une api 
162        .ls_dir(jobid,pathid)
163        .ls_file(jobid,pathid)
164        .get_pathid(jobid,"/")
165        .genbsr (fileid, fileid, fileid, fileid, fileid...)
166            -> on peut utiliser une table dans la base pour faire ca
167               cf bat
168
169 manuel :
170  - Avoir la version 2.0 et la version 2.2 en ligne (pour que les utilisateurs
171    ne se trompent pas dans les versions)
172  - Supprimer les (need bacula >= 1.xx) (dans la derniere version)
173
174 bacula :
175  - Faire un test de non regression avec pleins d'erreur
176    o pb inclusion (distante, locale)
177    o pb exclusion (distante, locale)
178    o pb execution de commande
179    o pb de config avec test du -t des differents daemon
180  x Utiliser PQescapeStringConn a la place de PQescapeString
181  - Utiliser la lib pcre
182  - Rendre les scripts bacula-ctl-xxx LSB
183  x Pouvoir utiliser les uid numeriques dans le backup des acl
184  - Avoir un script qui dump la configuration pour faire
185    des bug reports
186  p modifier l'organisation de la table version (pour pouvoir ajouter
187    les versions de bweb par exemple)
188  - utiliser la meme fonction pour read_close_session et append_close_session
189