mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
init file system spec
This commit is contained in:
parent
7ce8389d83
commit
197b9106f9
51
Documentation/etcd-file-system.md
Normal file
51
Documentation/etcd-file-system.md
Normal file
@ -0,0 +1,51 @@
|
||||
#Etcd File System
|
||||
|
||||
## Structure
|
||||
[TODO]
|
||||

|
||||
|
||||
## Node
|
||||
The building ingredients of etcd file system are two kinds of nodes -- files and directories:
|
||||
- File has data associated with it.
|
||||
- Directory has children nodes associated with it.
|
||||
|
||||
### Attributes:
|
||||
####Expiration Time [optional]
|
||||
The node will be deleted when it expires.
|
||||
####ACL
|
||||
The path of access control list of the node.
|
||||
|
||||
### Operation:
|
||||
#### Get (path, recursive)
|
||||
Get the content of the node
|
||||
- If the node is a file, the data of the file will be returned.
|
||||
- If the node is a directory, the child nodes of the directory will be returned.
|
||||
- If recursive is true, it will recursively get the nodes of the directory.
|
||||
|
||||
####Set (path, value[optional], ttl [optional])
|
||||
Set the value to a file. Set operation will help to create intermediate directories with no expiration time.
|
||||
- If the value is given, set will create a file
|
||||
- If the value is not given, set will crate a directory
|
||||
- If ttl is given, the node will be deleted when it expires.
|
||||
|
||||
####Delete (path, recursive)
|
||||
Delete the node of given path.
|
||||
- If the node is a directory:
|
||||
- If recursive is true, the operation will delete all nodes under the directory.
|
||||
- If recursive is false, error will be returned.
|
||||
|
||||
####TestAndSet (path, prevValue [prevIndex], value, ttl)
|
||||
Atomically test and set value to a file. If test succeeds, this operation will change the previous value of the file to the given value.
|
||||
- If the prevValue is given, it will test against previous value of the node.
|
||||
- If the prevValue is empty, it will test if the node is not existing.
|
||||
- If the prevValue is not empty, it will test if the prevValue is equal to the current value of the file.
|
||||
- If the prevIndex is given, it will test if the create/last modified index of the node is equal to prevIndex.
|
||||
|
||||
####Renew (path, ttl)
|
||||
Set the node's expiration time to (current time + ttl)
|
||||
|
||||
## ACL
|
||||
[TODO]
|
||||
|
||||
## User Group
|
||||
[TODO]
|
BIN
Documentation/img/etcd_fs_structure.jpg
Normal file
BIN
Documentation/img/etcd_fs_structure.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
Loading…
x
Reference in New Issue
Block a user