Skip to content

Installation Manual - Proxy

Introduction

The DQ0 Proxy serves as a communication gateway between a DQ0 Platform instance (the data quarantine) and outside data science terminals using the DQ0 CLI (command line interface). This manual describes the installation procedure of the DQ0 Proxy.

Prerequisites

The DQ0 Proxy ships pre-built as a binary executable for the following platforms:

  • Linux (tested on CentOS 7)
  • Mac OS, Version 10.15 or higher
  • Windows 10

The Proxy installation zip archive contains the proxy executable and a "config" directory containing a configuration file called "config.yaml".

The Proxy needs the public ssh key of the Platform instance it wants to communicate with. This key file is provided to you by your data owner’s IT department.

Installation

  1. Pick the binary for your platform and copy it to any destination directory
  2. Add the path the the DQ0-Proxy executable to your PATH environment variable to make it accessible from anywhere on your system. E.g. for *nix systems use export PATH=$PATH:/your-path-to-dq0-proxy-dir/ or add it to your bash config file.
  3. You have received a public key file from the DQ0 Platform installation. Copy this file to the "config" directory inside your DQ0-Proxy installation directory.
  4. Config settings in config.yaml:
    • version is set by default to '1'
    • host_name is set by default to 'localhost'. This should be set to your hosting name or IP address of the current computer that is accessible from outside.
    • host_port is set by default set to 8000. Can be changed to any valid opened port
    • public_key_path is set by default to ‘config/public_key.pem’. Should be set to the path of the public key file that you received from the IT department
    • timeout is set by default to 10 seconds. Requests or Responses that take longer than this value will be canceled.
    • max_number_of_users is set by default to 100 users. Concurrent requests from more than 100 clients are rejected with status code 503.

Run as Service (Linux Cent OS example)

Create service.sh file as user, grant executable rights and save with the following content:

#!/bin/bash
./dq0-proxy

As root user we need to create a new file: vi /etc/systemd/system/dq0-proxy.service and add following content:

[Unit]
Description=dq0 proxy service
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
WorkingDirectory=/home/user/dq0-proxy
User=user
Group=user
ExecStart=/home/user/dq0-proxy/service.sh

[Install]
WantedBy=multi-user.target

Start service:

systemctl start dq0-proxy

and enable at system startup:

systemctl enable dq0-proxy