Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9337583
D6673.id24249.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Subscribers
None
D6673.id24249.diff
View Options
diff --git a/README.md b/README.md
deleted file mode 100644
--- a/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-swh-vault
-=========
-
-User-facing service that allows to retrieve parts of the archive as
-self-contained bundles.
-
-See the
-[documentation](https://docs.softwareheritage.org/devel/swh-vault/index.html)
-for more details.
diff --git a/README.rst b/README.rst
new file mode 120000
--- /dev/null
+++ b/README.rst
@@ -0,0 +1 @@
+docs/README.rst
\ No newline at end of file
diff --git a/docs/README.rst b/docs/README.rst
new file mode 100644
--- /dev/null
+++ b/docs/README.rst
@@ -0,0 +1,49 @@
+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**
+
+.. _vault-backend:
+
+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 component of the archive, and
+its interface is described in :mod:`swh.vault.interface`.
+
+.. _cookers:
+
+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
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,11 +1,6 @@
.. _swh-vault:
-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.)
+.. include:: README.rst
.. toctree::
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -12,7 +12,7 @@
here = path.abspath(path.dirname(__file__))
# Get the long description from the README file
-with open(path.join(here, "README.md"), encoding="utf-8") as f:
+with open(path.join(here, "README.rst"), encoding="utf-8") as f:
long_description = f.read()
@@ -39,7 +39,7 @@
name="swh.vault",
description="Software Heritage vault",
long_description=long_description,
- long_description_content_type="text/markdown",
+ long_description_content_type="text/x-rst",
python_requires=">=3.7",
author="Software Heritage developers",
author_email="swh-devel@inria.fr",
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Jul 3 2025, 8:10 AM (10 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3231159
Attached To
D6673: Add an introduction to the vault documentation
Event Timeline
Log In to Comment