Skip to main content

Enterprise IT

VIKTOR is a low-code application development platform based on Python. This guide outlines the prerequisites to use VIKTOR within an enterprise IT environment.

Device settings

In order to develop applications on the VIKTOR platform the machine of a developer needs to meet the following requirements:

  • The machine runs a Windows or Linux operating system.
  • Python 3.8 - 3.11 (64-bit) is available or can be installed by the developer.
  • An Integrated Development Environment (IDE) is available or can be installed by the developer.
  • The machine has internet access (TCP over port 443, TLS >= v1.2).
  • The developer should have administrator rights for the installation of the command-line interface (CLI) and VIKTOR worker. These applications are shipped as Microsoft Installer (.msi) files.

Network / proxy settings

The CLI is used to connect local application code (hosted on the machine of the developer) to a cloud-based development workspace. This requires an internet connection with network settings specified below.

Domains

The following domains should be accessible on the machine of the developer in order to be able to use VIKTOR. As these domains may be subject to change we recommend using a wildcard * for the subdomains of viktor.ai and amazonaws.com.

  • addons.viktor.ai
  • api-<dev>.viktor.ai (still used but deprecated)
  • cloud.viktor.ai
  • community.viktor.ai
  • <company>.viktor.ai (for example acme.viktor.ai)
  • connect.viktor.ai
  • developers.viktor.ai
  • docs.viktor.ai
  • errors.viktor.ai
  • sys.viktor.ai
  • viktor.ai
  • viktor-storage.s3.amazonaws.com
  • viktor-system.s3.amazonaws.com

Furthermore, installation of third-party Python packages requires access to:

  • files.pythonhosted.org
  • pypi.org
  • pypi.python.org

SSL certificates

Docker

Docker in combination with a proxy that modifies the SSL certification chain is not supported at the moment. Use a virtual environment (venv) as isolation mode if this is the case.

If a proxy is configured in such a way that the SSL certification chain is modified by replacing the root CA's certificate by a self-signed certificate, additional steps are required before the developer is able to use Python. Python does not use the default system certificate store but uses a bundled CA certificate store to establish secure connections. Because the certificate of the proxy is not present in the bundled CA certificate store an error will occur. It is possible to solve this problem in two ways:

  1. Export CA certificates (including the proxy root certificate) from the system certificate store and save the bundle to a file. Subsequently, set the environment variable CURL_CA_BUNDLE with the path to this file when installing your app (e.g. run the command viktor-cli install -e CURL_CA_BUNDLE="path/to/bundle"). If this variable is set, Python will use the certificates from the file instead of the bundled certificates.
  2. Install the Python package pip-system-certs. This package patches Python at runtime to use the certificates from the system store instead of using the bundled certificates. It might be necessary to use the following flags when installing the pip-system-certs package with pip to prevent SSL errors: --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org