diff --git a/sysadm/mirror-operations/deploy.rst b/sysadm/mirror-operations/deploy.rst index f276871..24f6889 100644 --- a/sysadm/mirror-operations/deploy.rst +++ b/sysadm/mirror-operations/deploy.rst @@ -1,90 +1,90 @@ .. _mirror_deploy: How to deploy a mirror ====================== This section describes how to deploy a mirror using the software stack provided by |swh|. A mirror deployment will consists in running several components of the |swh| stack: - an instance of the storage (swh-storage) with its backend storage (PostgreSQL or Cassandra), - an instance of the object storage (swh-objstorage) with its backend storage solution (in-house with the `pathslicer` backend, or cloud based) - an instance of the front page (swh-web) - an instance of the search engine (swh-search) - the vault service and its support tooling, - the replayer services. Each service consists in an HTTP-based RPC served by a `gunicorn `_ `WSGI `_ server. Docker-based deployment ----------------------- This represents a lot of services to configure and orchestrate. In order to help to start the configuration of a mirror, a `docker-swarm `_ based deployment solution is provided as a working example of the mirror stack: https://forge.softwareheritage.org/source/swh-docker It is strongly recommended to :ref:`start from there ` in a test environment before planning a production-like deployment. Step by step deployment of a mirror ----------------------------------- When using the |swh| software stack to deploy a mirror, a number of |swh| software components must be installed and configured to interact woth each other: #. :ref:`How to deploy the objstorage `: the objstorage consists in an object storage solution (can be cloud-based or on local filesystem like ZFS pools) and the :ref:`swh-objstorage` service, -#. :ref:`How to deploy graph replayer services `: +#. :ref:`How to deploy graph replayer services `: :mod:`swh-devel:swh.objstorage.replayer.replay` service is responsible for consuming the ``content`` topic from the |swh| kafka broker and filling the mirror objstorage, retrieving blob objects from a |swh| objstarage, #. :ref:`How to deploy the storage `: the storage consists in a database to store the graph of the |swh| archive (PostgreSQL or Cassandra) and the :ref:`swh-devel:swh-storage` service, #. :ref:`How to deploy graph replayer services `: :mod:`swh-devel:swh.storage.replay` service is responsible for consuming from the |swh| kafka broker and fill the mirror storage, #. :ref:`How to deploy the frontend `: the :ref:`frontend ` consists in a `django `_ based application serving both the web API and the main UI for browsing the Archive. #. :ref:`How to deploy the search engine `: the :ref:`search engine ` consists in a `ElasticSearch `_ based application used by the frontend. #. :ref:`How to deploy the vault service `: the :ref:`vault service ` consists in a backend asynchronous service allowing the user to ask for a zip archive of a given repository or git history. .. toctree:: :titlesonly: :hidden: docker objstorage storage content-replayer graph-replayer frontend search vault