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:
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 portpublic_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 departmenttimeout
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