aboutsummaryrefslogtreecommitdiff
path: root/users/fcuny/exp/buckit/README.org
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-10-27 19:24:57 -0700
committerFranck Cuny <franck@fcuny.net>2022-10-27 19:24:57 -0700
commita5679641aa0eb9e872605b70c263c3e950132647 (patch)
tree7f4a9670365f8f13152d1070e5d5803f3618aa91 /users/fcuny/exp/buckit/README.org
parentfeat(ops/github): archive notes.fcuny.net (diff)
downloadinfra-a5679641aa0eb9e872605b70c263c3e950132647.tar.gz
ref(users/fcuny): and just like that ...
Diffstat (limited to '')
-rw-r--r--users/fcuny/exp/buckit/README.org57
1 files changed, 0 insertions, 57 deletions
diff --git a/users/fcuny/exp/buckit/README.org b/users/fcuny/exp/buckit/README.org
deleted file mode 100644
index 5b8caa1..0000000
--- a/users/fcuny/exp/buckit/README.org
+++ /dev/null
@@ -1,57 +0,0 @@
-#+TITLE: buckit
-
-~buckit~ is a tool to add files to a GCS bucket.
-
-* Store
-=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 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 checksum of the version
-- the path in the GCS bucket
-- the user who uploaded the version
-- the timestamp of when the uploaded happened
-- the state of the file
-
-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 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
-*** Deletion
-By default, when a file is uploaded, we mark the state has *present*.
-
-Versions can be deleted. This is a soft-delete:
-- the state is changed to *tombstone*
-- the expiration date for blob is set 30 days in the future
-
-When a file is marked for deletion, it can not be fetched anymore. The state can be changed to be mark as present. In which case the expiration date is removed on the blob.
-* CLI
-** add
-#+begin_src sh
-buckit add <package> <file path>
-#+end_src
-** list
-#+begin_src sh
-buckit list
-#+end_src
-** fetch
-#+begin_src sh
-buckit fetch <package> <version>
-#+end_src
-** info
-#+begin_src sh
-buckit info <package> <version>
-#+end_src
-** delete
-#+begin_src sh
-buckit delete <package> <version>
-#+end_src
-** undelete
-#+begin_src sh
-bucket undelete <package> <version>
-#+end_src