EOX GitLab Instance

Skip to content
Snippets Groups Projects
intro.rst 2.6 KiB
Newer Older
Fabian Schindler's avatar
Fabian Schindler committed
.. _introduction:

Introduction
============

This guide details the operation of a View Server and all of its
Fabian Schindler's avatar
Fabian Schindler committed
components.

Since the View Server is a Docker based software and all of its components are
distributed and executed in context of Docker images and containers, basic
knowledge of Docker and Docker Swarm is a prerequisite.
Fabian Schindler's avatar
Fabian Schindler committed

Fabian Schindler's avatar
Fabian Schindler committed
Components
----------
Fabian Schindler's avatar
Fabian Schindler committed

.. figure:: images/architecture.png

Fabian Schindler's avatar
Fabian Schindler committed
The View Server consists of the following service components (with their
respective Docker image in parenthesis):

.. - Ingestor (ingestor) TODO: re-add this

 - Reverse Proxy (traefik)
Fabian Schindler's avatar
Fabian Schindler committed
 - Preprocessor (preprocessor)
 - Registrar (core)
Fabian Schindler's avatar
Fabian Schindler committed
 - Renderer (core)
 - Cache (cache)
 - Seeder (cache)
 - Client (client)
 - Database (postgis)
 - Queue Manager (redis)
Fabian Schindler's avatar
Fabian Schindler committed
 - Reverse Proxy (traefik)

These services are bundled and managed together in a Docker Swarm via
Docker Compose configuration files.

Fabian Schindler's avatar
Fabian Schindler committed
Docker Images
-------------
Fabian Schindler's avatar
Fabian Schindler committed

The software is distributed as Docker images, which can be instantiated
and run in their intended role. Some images are hosted on
`docker hub <https://hub.docker.com/>`_,
Fabian Schindler's avatar
Fabian Schindler committed
the official and default repository for Docker images. Other images reside
on an `EOX hosted registry <gitlab.eox.at>`_. Images from the official registry
are only identified via their name, whereas images from the EOX registry
conventionally use the full URL, including the domain name. Below is a list of
the used images:
Fabian Schindler's avatar
Fabian Schindler committed

 - mdillon/postgis:10
 - redis
 - traefik:2.1
 - registry.gitlab.eox.at/esa/prism/vs/pvs_core:latest
 - registry.gitlab.eox.at/esa/prism/vs/pvs_cache:latest
 - registry.gitlab.eox.at/esa/prism/vs/pvs_preprocessor:latest
 - registry.gitlab.eox.at/esa/prism/vs/pvs_client:latest

Configuration Files
-------------------

The following configuration files impact the behavior of the View Server:
Fabian Schindler's avatar
Fabian Schindler committed

 - `index.html`: This is the main file to configure the client. In this file,
   the viewing layer, search and download endpoints are configured. Usually
   this is associated with additional backdrop and overlay layers.
 - `preprocessor.yml`: This file configures the preprocessing steps.
 - `mapcache.xml`: This file defines the input sources of the cache and its
   published layers.
 - `init-db.sh`: This file sets up the registrar and renderer side of the VS.
Fabian Schindler's avatar
Fabian Schindler committed

Stephan's avatar
Stephan committed
Initialization and Setup
------------------------
Fabian Schindler's avatar
Fabian Schindler committed

In order to help with the initial setup of a VS, the ``pvs_starter`` package
Stephan's avatar
Stephan committed
described in the section :ref:`initialization` allows to quickly establish the
required structure of configuration files.

The section :ref:`setup` describes how to deploy a Docker Swarm stack using the
configuration files generated in the initialization step.