Prerequisites
Before installing the SCANOSS Go API, ensure the following components are already installed and operational on the target system.Installation
Before starting the installation, ensure you have received a.tar.gz archive
containing the following:
- Installation scripts
- API binary
- Engine binary (optional)
Note: The Engine binary is optional if the SCANOSS Engine is already installed as a prerequisite (see above).
Create a Dedicated User
Create a system user under which the SCANOSS Go API service will run:Download the API
Download the latest release for your architecture (AMD64 or ARM64) from the SCANOSS Go API releases, or use the following commands:Build the API Binary
Note: This step is only required if you are building from source rather than using a pre-built release binary.Navigate to the source directory and build the binary for your architecture:
Set Up the Environment and Install
Run the setup script included in the package:Start the Service
Verify the Service
Confirm the service is running by checking the following endpoints:Configuration & Tuning
The behaviour of the SCANOSS Go API can be customised by modifying the configuration file located at:Default Configuration
Configuration Parameters
Application Settings (App)
| Parameter | Description |
|---|---|
App.Name | Display name for the API, shown on startup. |
App.Port | Port to which the service binds. |
App.Addr | Hostname or IP address for binding. Leave blank to bind to all interfaces (0.0.0.0), allowing remote connections. |
App.Debug | Enables debug-level logging when set to true. |
App.Trace | Enables trace-level logging when set to true. |
App.Mode | Logging and behaviour mode. Accepted values: prod (production) or dev (development). |
Logging Settings (Logging)
| Parameter | Description |
|---|---|
Logging.DynamicLogging | Enables dynamic log-level adjustment at runtime when set to true. |
Logging.DynamicPort | Host and port used for runtime log-level control. |
Logging.ConfigFile | Optional path to a Zap logging configuration file. If left blank, default logging settings are used. |
Scanning Settings (Scanning)
WFP refers to Winnowing Fingerprint, the hashing method used by the SCANOSS
Engine to fingerprint source files.
| Parameter | Description |
|---|---|
Scanning.WfpLoc | Directory for temporary WFP files. Defaults to the system temporary directory if left blank. |
Scanning.ScanBinary | Name or absolute path of the SCANOSS Engine binary. |
Scanning.ScanDebug | Enables debug mode for scan operations when set to true. |
Scanning.ScanFlags | Default flags passed to the SCANOSS Engine. Set to 0 for no additional flags. Refer to the Engine documentation for valid values. |
Scanning.ScanTimeout | Timeout in seconds for individual scan commands. |
Scanning.WfpGrouping | Number of WFP requests batched per worker. Increase this value to reduce per-request overhead under high load. |
Scanning.Workers | Number of concurrent scan workers. Tune based on available CPU cores and expected request volume. |
Scanning.TmpFileDelete | Deletes temporary WFP files after processing when set to true. |
Scanning.KeepFailedWfps | Retains WFP files for failed scan operations when set to true. Useful for debugging. |
TLS Settings (Tls)
| Parameter | Description |
|---|---|
Tls.CertFile | Path to the TLS certificate file. |
Tls.KeyFile | Path to the private TLS key file. |