EOX GitLab Instance

Skip to content
Snippets Groups Projects
intro.rst 2.64 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
Stephan's avatar
Stephan committed
   :alt: View Server Architecture

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

Stephan's avatar
Stephan committed
- Reverse proxy (traefik)
Stephan's avatar
Stephan committed
- Cache (cache)
- Renderer (core)
- Registrar (core)
Stephan's avatar
Stephan committed
- Seeder (cache)
- Preprocessor (preprocessor)
- Ingestor (ingestor)
Stephan's avatar
Stephan committed
- Database (postgis)
- Queue Manager (redis)
- Log collector (fluentd)
Fabian Schindler's avatar
Fabian Schindler committed
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

Stephan's avatar
Stephan committed
- mdillon/postgis:10
- redis
- traefik:2.1
Fabian Schindler's avatar
Fabian Schindler committed
- fluent/fluentd
Stephan's avatar
Stephan committed
- 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
Fabian Schindler's avatar
Fabian Schindler committed

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

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

Stephan's avatar
Stephan 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.