aboutsummaryrefslogtreecommitdiff
path: root/users/fcuny/exp/buckit/README.org
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2021-05-19 19:17:46 -0700
committerFranck Cuny <franck@fcuny.net>2022-06-13 17:20:38 -0700
commit4463b4a1df5d1ab205537f484d2c30517be41d8c (patch)
treeb90fc2b513e8bc6f85db0559200c107610c6f98c /users/fcuny/exp/buckit/README.org
parentgithub: don't install libpcap (diff)
downloadinfra-4463b4a1df5d1ab205537f484d2c30517be41d8c.tar.gz
delete reference to namespaces
We don't need namespaces, a better abstraction is to use different buckets, as this provides a better abstraction to manage quotas and permissions.
Diffstat (limited to '')
-rw-r--r--users/fcuny/exp/buckit/README.org21
1 files changed, 8 insertions, 13 deletions
diff --git a/users/fcuny/exp/buckit/README.org b/users/fcuny/exp/buckit/README.org
index d6ab4c5..bad0dae 100644
--- a/users/fcuny/exp/buckit/README.org
+++ b/users/fcuny/exp/buckit/README.org
@@ -3,14 +3,13 @@
~buckit~ is a tool to add files to a GCS bucket.
* Store
-=buckit= is a CLI to upload files to a GCS bucket. A file belongs to a *namespace*. A namespace can have multiple *files*. Each files can have multiple *versions*.
+=buckit= is a CLI to upload files to a GCS bucket. A *package* belongs to a *bucket*. A bucket can have multiple *packages*. Each package can have multiple *versions*.
-When a version of a file is added to a namespace, a record is created in the index.
+When a version of a file is added to a bucket, a record is created in the index.
A record is composed of the following information:
- the version of the file
- the name of the file
-- the name of the namespace
- the checksum of the version
- the path in the GCS bucket
- the user who uploaded the version
@@ -19,7 +18,7 @@ A record is composed of the following information:
GCS' ACLs are used to change the visibility of the object in the bucket.
-The index is a single JSON file stored at the root of the bucket. The keys in the index are the namespace. Inside a namespace, keys are the name of the files. Files contain a list of versions, in order (the most recent version is the last entry in the list).
+The index is a single JSON file stored at the root of the bucket. The keys in the index are the packages. Packages contain a list of versions, in order (the most recent version is the last entry in the list).
A lock is used for both read and write of the file.
** Life cycle of files
@@ -34,30 +33,26 @@ When a file is marked for deletion, it can not be fetched anymore. The state can
* CLI
** add
#+begin_src sh
-buckit add <namespace> <file> <file path>
+buckit add <package> <file path>
#+end_src
** list
#+begin_src sh
buckit list
#+end_src
-
-#+begin_src sh
-buckit list <namespace>
-#+end_src
** fetch
#+begin_src sh
-buckit fetch <namespace> <file> <version>
+buckit fetch <package> <version>
#+end_src
** info
#+begin_src sh
-buckit info <namespace> <file> <version>
+buckit info <package> <version>
#+end_src
** delete
#+begin_src sh
-buckit delete <namespace> <file> <version>
+buckit delete <package> <version>
#+end_src
** undelete
#+begin_src sh
-bucket undelete <namespace> <file> <version>
+bucket undelete <package> <version>
#+end_src