Added manual re-replication trigger.
[iwhd.git] / notes.txt
blobb1d74481ae36271a9b6ba1bb007b4b156bd8b782
1 Commands:
3         GET /
4                 list top-level objects
6         POST /
7                 global control operations (none defined)
9         POST /_factory bucket=x,...
10                 create bucket with attributes
12         GET /bucket
13                 list bucket contents
15         GET /bucket?query=xxx
16                 query bucket contents
18         POST /bucket
19                 bucket-level control operations
21         POST /bucket/_factory key=x,...
22                 create object with attributes
24         DELETE /bucket
25                 delete bucket (must be empty)
27         GET /bucket/object
28                 get body/attr* list
30         POST /bucket/object op=repl
31                 trigger re-replication
33         DELETE /bucket/object
34                 delete object
36         GET /bucket/object/body
37                 get object body
39         PUT /bucket/object/body
40                 put object body
42         GET /bucket/object/attrs
43                 get all attributes
45         POST /bucket/object/attrs
46                 set multiple attributes
48         GET /bucket/object/attr_X
49                 get attribute X
51         PUT /bucket/object/attr_X
52                 set attribute X
54         DELETE /bucket/object/attr_X
55                 delete attribute X
57         POST /bucket/object/_control op=repl
58                 trigger re-replication
60 Formats:
62         JSON bucket list
63         [
64                 {
65                         "type": "bucket_factory",
66                         "path": ".../_factory"
67                 },
68                 {
69                         "type": "bucket",
70                         "name": "bucketA",
71                         "path": ".../bucketA"
72                 },
73                 {
74                         "type": "bucket",
75                         "name": "bucketB",
76                         "path": ".../bucketB"
77                 }
78         ]
80         JSON object list
81         [
82                 {
83                         "type": "object_factory",
84                         "path": ".../bucketA/_factory"
85                 },
86                 {
87                         "type": "object",
88                         "name": "objectC",
89                         "path": ".../bucketA/objectC"
90                 },
91                 {
92                         "type": "object",
93                         "name": "objectD",
94                         "path": ".../bucketA/objectD"
95                 }
96         ]
98         JSON body/attribute list
99         [
100                 {
101                         "type": "body",
102                         "path": ".../bucketA/objectC/body"
103                 },
104                 {
105                         "type": "multi_attributes",
106                         "path": ".../bucketA/objectC/attrs"
107                 },
108                 {
109                         "type": "single_attribute",
110                         "name": "abc",
111                         "path": ".../bucketA/objectC/attr_abc"
112                 }
113                 {
114                         "type": "single_attribute",
115                         "name": "xyz",
116                         "path": ".../bucketA/objectC/attr_xyz"
117                 }
118         ]
121 To Do - priority (1 highest) work (5 largest) desc:
122         1 1 policy inheritance
123         1 2 delete metadata as well as data
124         1 3 re-replicate on policy change (single object)
125         2 2 manual re-replication trigger
126         --- done
127         1 5 auth
128         2 4 writes proxied upstream
129         2 5 reconcile dispatch with object with commands/format above
130         3 3 content types
131         3 3 fix string handling (eliminate strtok)
132         3 4 re-replicate on policy change (default)
133         3 5 replicated DB
134         4 2 check for existence before queuing repl job
135         4 2 use MongoDB C driver now that it's supported
136         4 3 chunked encoding
137         4 5 immediate inline replication
138         4 5 fully modular FS/S3/CF driver structure
139         4 5 generate MongoDB queries from ours
140         5 2 deletes proxied upstream
141         5 3 cache control (TTL?)
142         partial-object reads
143         partial-object writes?