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
- Pick the binary for your platform and copy it to any destination directory
 - 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. - 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.
 - Config settings in config.yaml:
versionis set by default to '1'host_nameis 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_portis set by default set to 8000. Can be changed to any valid opened portpublic_key_pathis 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 departmenttimeoutis set by default to 10 seconds. Requests or Responses that take longer than this value will be canceled.max_number_of_usersis 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