Skip to main content

Fix Inventory Core Configuration

Network Interfaces

For security reasons, Fix Inventory Core only listens on the loopback interface by default. This can be changed via the fixcore.api.web_hosts option in the fix.core configuration.

Execute the following command in Fix Inventory Shell to open the relevant configuration for editing:

> config edit fix.core
Configuration to listen on all IPv6 and IPv4 interfaces
fixcore:
...
# API related properties.
api:
...
# TCP host(s) to bind on (default: ['localhost'])
web_hosts:
- '::'
- '0.0.0.0'
# TCP port to bind on (default: 8900)
web_port: 8900
...

Alternatively, you can use the config set command:

> config set fix.core fixcore.api.web_hosts=["::", "0.0.0.0"]

TLS Certificate

Fix Inventory attempts to find all local IP addresses and hostnames and add them to the subject alternative names (SAN) list of the x509 certificate. If your system has additional DNS names, you can add them to the SAN list via the fixcore.api.host_certificate.san_dns_names option in the fix.core configuration.

Execute the following command in Fix Inventory Shell to open the relevant configuration for editing:

> config edit fix.core
Configuration with additional DNS names on SAN list
fixcore:
...
# API related properties.
api:
...
# The certificate configuration for this server.
host_certificate:
# The common name of the certificate
common_name: 'some.engineering'
# Include loopback in certificate
include_loopback: true
# List of DNS names to include in CSR
san_dns_names:
- 'some.engineering'
- 'fixinventory.some.engineering'
- '*.some.engineering'
# List of IP addresses to include in CSR
san_ip_addresses: []
...

Workflow Schedules

By default, the collect_and_cleanup workflow runs at the start of each hour. This setting can be configured using standard cron syntax.

Execute the following command in Fix Inventory Shell to open the relevant configuration for editing:

> config edit fix.core
fixcore:
...
# Workflow related properties.
workflows:
...
collect_and_cleanup:
# Cron expression as schedule for the workflow to run.
schedule: '0 * * * *'
...

Alternatively, you can use the config set command:

Configure the collect_and_cleanup workflow to run twice per hour
> config set fix.core fixcore.workflows.collect_and_cleanup.schedule="0,30 * * * *"

Snapshot Schedules

Fix Inventory allows you to set up automated snapshots. You can specify the number of snapshots to retain per label and the associated schedule.

Execute the following command in Fix Inventory Shell to open the relevant configuration for editing:

> config edit fix.core.snapshots

Here's an example of a snapshot schedule configuration:

snapshots:
hourly:
retain: 24
schedule: 0 * * * *
daily:
retain: 7
schedule: 0 0 * * *
weekly:
retain: 4
schedule: 0 0 * * 0
monthly:
retain: 12
schedule: 0 0 1 * *
yearly:
retain: 10
schedule: 0 0 1 1 *

These labels (hourly, daily, etc.) are user-definable, allowing for a wide range of snapshot schedules. The schedule is a crontab syntax. The above values are the defaults, resulting in a total of 57 snapshots. Depending on your available storage you can increase or decrease the number of snapshots retained.