Skip to content

Configure ASAB services from the model

Each ASAB-based service in TeskaLabs LogMan.io reads an INI-style configuration file. That file is built automatically and its content can be modified from /Site/model.yaml file in the Library.

This page shows how to add those overrides in the model.

Where to put overrides

Location in model.yaml Effect
Top-level asab: Applies to every ASAB service instance (shared defaults).
Under services.<service-id>: Applies to that service only (all its instances).
Under a specific instance (in object form with node:) Applies to that instance only.

Precedence: More specific wins over more general—instance overrides service, and service overrides the top-level asab.config block.

How asab.config becomes the INI file

Maestro turns the config object into the service’s .conf file: each top-level key under config is an INI section [section], and its nested keys are options in that section. Option names and values are passed through; lists become a multi-line value (joined with newline and tab).

Example:

asab:
  config:
    ini-section:
      ini-option: value

Resulting fragment in the generated config file:

[ini-section]
ini-option=value

Section names that contain a colon (for example compression:event) are written as a single quoted YAML key:

asab:
  config:
    "compression:event":
      ticket_lifetime: 1d

which becomes:

[compression:event]
ticket_lifetime=1d

Per-service

A minimal override for one service (here changing logging level for all lmio-receiver instances):

  lmio-receiver:
    instances:
      - node1
      - node2
      - node2
    asab:
      config:
        logging:
          level: info

Per-instance

Example pattern:

  lmio-alerts:
    instances:
      1:
        node: node1
        asab:
          config:
            "compression:event":
              ticket_lifetime: 1d

      2:
        node: node2

Adjust keys to match the service you run; invalid keys are ignored or rejected by that application.

Site-wide: shared asab.config

Use a top-level asab block when the same INI sections should apply to all ASAB services—for example an extra library provider everyone should use:

asab:
  config:
    logging:
      level: info