Installation

This section describes LUNA Licenses installation and configuration.

Service requirements

  • The service can be installed on CentOS 7 (not tested on other system versions)

  • Python v.3.11.0 or higher is required

  • It is strongly recommended to create virtual surroundings for the Python dependencies installation

Install Python

The recommended version is 3.11.0.

Install Python libraries

Note: The virtual environment is strongly recommended for the installation of the service.

  • Go to the project source directory:

cd ./luna-licenses/
  • Create a virtual environment:

python3.11 -m venv venv
  • Activate the virtual environment by the command:

source ./venv/bin/activate
  • Install dependencies by the command:

pip install -r requirements.txt
  • Use the following command for the virtual environment deactivation:

deactivate

Check configs

Check and change the service settings in the configuration file ./luna-licenses/luna_licenses/configs/config.conf (if necessary):


[LUNA_CONFIGURATOR]
#: load configs from LUNA Configurator
USE_CONFIGURATOR = 0
#: LUNA Configurator protocol, IP address, and port
LUNA_CONFIGURATOR_ORIGIN = http://127.0.0.1:5070
#: API version of the LUNA Configurator
LUNA_CONFIGURATOR_API  = 1


[LUNA_LICENSES_LOGGER]

#: folder, where logs are saved
FOLDER_WITH_LOGS = ./
#: level of debug print, by priority: "ERROR", "WARNING", "INFO", "DEBUG"
LOG_LEVEL = INFO
#: time format used in log records: "LOCAL" or "UTC"
LOG_TIME = LOCAL
#: maximum log file size in megabytes before performing rotation (0 - without rotation)
MAX_LOG_FILE_SIZE = 1024
#: send log to stdout
LOG_TO_STDOUT = 1
#: send log to file
LOG_TO_FILE = 0
#: allow multiline stack trace in logs
MULTILINE_STACK_TRACE = 1


[INFLUX_MONITORING]

#: send data for monitoring to InfluxDB
SEND_DATA_FOR_MONITORING = 1
#: [string] InfluxDB 2.x workspace
ORGANIZATION = luna
#: [string] InfluxDB 2.x authentication token
TOKEN = kofqt4Pfqjn6o0RBtMDQqVoJLgHoxxDUmmhiAZ7JS6VmEnrqZXQhxDhad8AX9tmiJH6CjM7Y1U8p5eSEocGzIA==
#: [string] InfluxDB 2.x bucket name
BUCKET = luna_monitoring
#: InfluxDB IP address
HOST = 127.0.0.1
#: InfluxDB port
PORT = 8086
#: use HTTPS to connect to InfluxDB
USE_SSL = 0
#: frequency of sending monitoring data to InfluxDB (in seconds)
FLUSHING_PERIOD = 1


[LUNA_LICENSES_HTTP_SETTINGS]
#: web server http settings

#: [integer] service request timeout (in seconds)
REQUEST_TIMEOUT = 60
#: [integer] service response timeout (in seconds)
RESPONSE_TIMEOUT = 600
#: [integer] max request size (in bytes), default 1gb
REQUEST_MAX_SIZE = 1073741824
#: [integer] service http keep-alive timeout (in seconds)
KEEP_ALIVE_TIMEOUT = 15

[LICENSE_VENDOR]

#: vendor: one of 'hasp' or 'guardant'
VENDOR = hasp
#: server address
SERVER_ADDRESS = 127.0.0.1

Run service

See the instruction launch service

Test service

See the instruction test service

Deploy service

See the information about different ways to deploy the service deploy service