-
Notifications
You must be signed in to change notification settings - Fork 142
RCS is a fast storage of common metadata in a RCloud deployment instance. For lack of a better name, RCS stands for RCloud Storage. Conceptually, the back-end can be an arbitrary key/value store; RCloud provides out-of-the-box bindings to a Redis back-end and a (deprecated) file-based back-end.
RCS is used internally to store notebook lists and metadata, and user preferences.
NOTE: as of RCloud 1.4, RCS will be inaccessible from the compute (notebook) process. If your notebook needs access to a key-value store, it should use a separate redis instance.
Valid key formats:
<user>/<notebook-id>/<key>...
<user>/system/<key>...
.<domain>/<notebook-id>/<key>...
.<domain>/system/<key>...
Usernames may not start with a dot (.) to not cause ambiguity between domains and usernames. At R level keys should be constructed using usr.key() function or application-specific sub-function such as stash.key()
-
.notebook- information about notebooks -
.stash- stashed notebooks -
.allusers- options for all users -
.cryptgroup- protection groups for notebooks
-
.stash.<stash-name>/<notebook-id>/<version>.giststashed gist -
.stash.<stash-name>/<notebook-id>/<tag>.tagtag - payload is the version hash associated with that tag. TypicallyHEADtag is used to store the most recent version.
-
.notebook/<notebook-id>/public- set to1, if present the notebook is published -
.notebook/<notebook-id>/starcount- star counter -
.notebook/<notebook-id>/stars/<user>- user starred a notebook -
.notebook/<notebook-id>/username- owner -
.notebook/<notebook-id>/description- name of notebook -
.notebook/<notebook-id>/last_commit- last modified timestamp -
.notebook/<notebook-id>/visible- boolean, whether other users can see the notebook inAll Notebooks -
.notebook/<notebook-id>/cryptgroup- protection group (id) of the notebook -
.notebook/<notebook-id>/pull-changes-by- method and notebook id of last notebook pulled into this one -
.notebook/<notebook-id>/merge-changes-by- method and notebook id of last notebook merged into this one
-
<user>/system/config/current/- current open notebook-
<user>/system/config/current/notebook- notebook id -
<user>/system/config/current/version- notebook version (commit hash)
-
-
<user>/system/config/*- per-user options-
<user>/system/config/notebooks/*- all non-deleted notebooks of a user -
<user>/system/config/recent/*- recently opened notebooks,<notebook-id> = <timestamp> -
<user>/system/config/ui/collapse-*- collapse state of side panels -
<user>/system/config/addons- vector of RCloud extension packages to load for this user with each session (Enable Extensions in Settings Panel) -
<user>/system/config/skip-addons- vector of RCloud packages not to load for this user (Disable Extensions in Settings Panel) -
show-command-prompt,show-terse-dates,show-cell-numbers,new-notebook-prefix- also available through Settings Panel -
autosave-timeout- number of seconds to save after; set to 0 or negative to disable autosave
-
-
.allusers/system/config/*- options for all users. Can be set in rcloud.conf usingrcs.system.config.*-
.allusers/system/config/featured_users- vector of users to populate RCloud Sample Notebooks
-
-
<user>/system/session/<id>/info- list of session properties (pid, uid, user etc.)
-
.cryptgroup/<groupid>/name- protection group name -
.cryptgroup/<groupid>/users/<user>- boolean, whether that user is an admin of that group -
<user>/system/cryptgroups/<groupid>- boolean, whether that user is an admin of that group