docs: Move developer docs from top-level to its own directory. (#1642)

This commit is contained in:
Harshavardhana
2016-05-14 02:47:16 -07:00
parent 025054fb36
commit 74c23a3544
7 changed files with 50 additions and 24 deletions

40
docs/TBD.md Normal file
View File

@@ -0,0 +1,40 @@
# Server command line SPEC - Fri Apr 1 19:49:56 PDT 2016
## Single disk
Regular single server, single disk mode.
```
$ minio server <disk>
```
## Multi disk
```
$ minio controller start - Start minio controller.
```
Prints a secret token to be used by all parties.
Start all servers without disk with `MINIO_CONTROLLER` env set, start in cluster mode.
```
$ MINIO_CONTROLLER=<host>:<token> minio server
```
## Minio Controller cli.
Set controller host and token.
```
$ export MINIO_CONTROLLER=<host>:<token>
```
Create a cluster from the pool of nodes.
```
$ minioctl new <clustername> <ip1>:/mnt/disk1 .. <ip16>:/mnt/disk1
```
Start the cluster.
```
$ minioctl start <clustername>
```
Stop the cluster
```
$ minioctl stop <clustername>
```

33
docs/api-bucket-policy.md Normal file
View File

@@ -0,0 +1,33 @@
## Access Policy
This package implements parsing and validating bucket access policies based on Access Policy Language specification - http://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html
### Supports following effects.
Allow
Deny
### Supports following set of operations.
s3:GetObject
s3:ListBucket
s3:PutObject
s3:GetBucketLocation
s3:DeleteObject
s3:AbortMultipartUpload
s3:ListBucketMultipartUploads
s3:ListMultipartUploadParts
### Supports following conditions.
StringEquals
StringNotEquals
Supported applicable condition keys for each conditions.
s3:prefix
s3:max-keys
### Nested policy support.
Nested policies are not allowed.

33
docs/backend-multipart.md Normal file
View File

@@ -0,0 +1,33 @@
## Multipart
Each incoming part is uploaded in the following format.
Placeholder uploads.json to indicate a leaf.
```EXPORT_DIR/.minio/multipart/BUCKET/PATH/TO/OBJECT/uploads.json```
Incomplete file
```EXPORT_DIR/.minio/multipart/BUCKET/PATH/TO/OBJECT/UPLOADID/00000.incomplete```
Actual parts
```EXPORT_DIR/.minio/multipart/BUCKET/PATH/TO/OBJECT/UPLOADID/PART_NUMBER.MD5SUM_STRING```
## FS Format.
Each of these parts are concatenated back to a single contigous file.
```EXPORT_DIR/BUCKET/PATH/TO/OBJECT```
## XL Format.
Each of these parts are kept as is in the following format.
Special json file indicate the metata multipart information, essentially list of parts etc.
```EXPORT_DIR/BUCKET/PATH/TO/OBJECT/00000.minio.multipart```
All the parts that were uploaded.
```EXPORT_DIR/BUCKET/PATH/TO/OBJECT/PART_NUMBER.minio.multipart```

30
docs/logging.md Normal file
View File

@@ -0,0 +1,30 @@
### Logging.
- `log.Fatalf`
- `log.Errorf`
- `log.Warnf`
- `log.Infof`
Logging is enabled across the codebase. There are three types of logging supported.
- console
- file
- syslog
Sample logger section from `~/.minio/config.json`
```
"console": {
"enable": true,
"level": "error"
},
"file": {
"enable": false,
"fileName": "",
"level": "trace"
},
"syslog": {
"enable": false,
"address": "",
"level": "info"
}
```

40
docs/web-browser.md Normal file
View File

@@ -0,0 +1,40 @@
## Minio Browser
Minio Browser uses Json Web Tokens to authenticate JSON RPC requests.
Initial request generates a token for 'AccessKey' and 'SecretKey'
provided by the user.
<blockquote>
Currently these tokens expire after 10hrs, this is not configurable yet.
</blockquote>
### Start minio server
```
minio server <testdir>
```
### JSON RPC APIs.
JSON RPC namespace is `Web`.
#### Server operations.
* ServerInfo - fetches current server information, includes memory statistics, minio binary
version, golang runtime version and more.
#### Auth operations
* Login - waits for 'username, password' and on success replies a new Json Web Token (JWT).
* SetAuth - change access credentials with new 'username, password'.
* GetAuth - fetch the current auth from the server.
#### Bucket/Object operations.
* ListBuckets - lists buckets, requires a valid token.
* ListObjects - lists objects, requires a valid token.
* MakeBucket - make a new bucket, requires a valid token.
* RemoveObject - removes an object from a bucket, requires a valid token.
* Upload - uploads a new object from the browser, requires a valid token.
* Download - downloads an object from a bucket, requires a valid token.

41
docs/xl-file-json.md Normal file
View File

@@ -0,0 +1,41 @@
### file.json
``file.json`` is a special file captured and written by XL storage API layer
to interpret, manage and extract erasured data from multiple disks.
```json
{
"version": "1.0.0",
"stat": {
"size": 24256,
"modTime": "2016-04-28T00:11:37.843Z",
"delete": false,
"version": 0
},
"erasure": {
"data": 5,
"parity": 5,
"blockSize": 4194304
],
"minio": {
"release": "RELEASE.2016-04-28T00-09-47Z"
}
}
```
#### JSON meaning.
- "version" // Version of the meta json file.
- "stat" // Stat value of written file.
- "size" // Size of the file.
- "modTime" // Modified time of the file.
- "deleted" // Field to track if the file is deleted when disks are down.
- "version" // File version tracked when disks are down.
- "erasure" // Erasure metadata for the written file.
- "data" // Data blocks parts of the file.
- "parity" // Parity blocks parts of the file.
- "blockSize" // BlockSize read/write chunk size.