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
[OTHER]
#: list of active plugins
LUNA_LICENSES_ACTIVE_PLUGINS = []
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