diff --git a/docs/README.rst b/docs/README.rst index 9bcc47e..f9aee20 100644 --- a/docs/README.rst +++ b/docs/README.rst @@ -1,45 +1,15 @@ Software Heritage - Vault ========================= User-facing service that allows to retrieve parts of the archive as self-contained bundles (e.g., individual releases, entire repository snapshots, etc.) The creation of a bundle is called "cooking" a bundle. - Architecture ------------ The vault is made of two main parts: 1. a stateful RPC server called the **backend** 2. Celery tasks, called **cookers** - -The Vault backend -~~~~~~~~~~~~~~~~~ - -The Vault backend is the RPC server other |swh| components (mainly -:ref:`swh-web <swh-web>`) interact with. - -It is in charge of receiving cooking requests, scheduling corresponding tasks (via -:ref:`swh-scheduler <swh-scheduler>` and Celery), getting heartbeats and final -results from these, cooking tasks, and finally serving the results. - -It uses the same RPC protocol as the other components of the archive, and -its interface is described in :mod:`swh.vault.interface`. - -The cookers -~~~~~~~~~~~ - -Cookers are Python modules/classes, each in charge of cooking a type of bundle. -The main ones are :mod:`swh.vault.cookers.directory` for flat tarballs of directories, -and :mod:`swh.vault.cookers.git_bare` for bare ``.git`` repositories of any -type of git object. -They all derive from :class:`swh.vault.cookers.base.BaseVaultCooker`. - -The base cooker first notifies the backend the cooking task is in progress, -then runs the cooker (which does the bundle-specific handling and uploads the result), -then notifies the backend of the final result (success/failure). - -Cookers may notify the backend of the progress, so they can be displayed in -swh-web's vault interface, which polls the status from the vault backend. diff --git a/docs/index.rst b/docs/index.rst index 9d16724..7855d45 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,21 +1,49 @@ .. _swh-vault: .. include:: README.rst +The Vault backend +~~~~~~~~~~~~~~~~~ + +The Vault backend is the RPC server other |swh| components (mainly +:ref:`swh-web <swh-web>`) interact with. + +It is in charge of receiving cooking requests, scheduling corresponding tasks (via +:ref:`swh-scheduler <swh-scheduler>` and Celery), getting heartbeats and final +results from these, cooking tasks, and finally serving the results. + +It uses the same RPC protocol as the other components of the archive, and +its interface is described in :mod:`swh.vault.interface`. + +The cookers +~~~~~~~~~~~ + +Cookers are Python modules/classes, each in charge of cooking a type of bundle. +The main ones are :mod:`swh.vault.cookers.directory` for flat tarballs of directories, +and :mod:`swh.vault.cookers.git_bare` for bare ``.git`` repositories of any +type of git object. +They all derive from :class:`swh.vault.cookers.base.BaseVaultCooker`. + +The base cooker first notifies the backend the cooking task is in progress, +then runs the cooker (which does the bundle-specific handling and uploads the result), +then notifies the backend of the final result (success/failure). + +Cookers may notify the backend of the progress, so they can be displayed in +swh-web's vault interface, which polls the status from the vault backend. .. toctree:: :maxdepth: 2 :caption: Contents: getting-started.rst api.rst Reference Documentation ----------------------- .. toctree:: :maxdepth: 2 cli /apidoc/swh.vault