What can go in the PQS Scribe configuration file?

I see that the PQS Scribe application accepts a configuration file on the command line:

--config file
Path to configuration overrides via an external HOCON file (optional)

How do I know what can go in the configuration file?

I have found these ways:

  1. Run scribe pipeline --help-verbose. You will see lines like this:
            :
  --source-ledger-host string    Ledger API host (default: localhost)
                                 + System property: source.ledger.host

  --source-ledger-port int       Ledger API port (default: 6865)
                                 + System property: source.ledger.port
            :

That part about System property: tells you what can go in the configuration file. Here is an example, based on the above:

{
  source {
    ledger {
      host = "participant1"
      port = "5003"
    }
  }
}
Alternative format
source.ledger.host = "participant1"
source.ledger.port = 5003
target.postgres.host = "pqs1"
  1. I also noticed that when Scribe starts up, it shows the “applied configuration” in the logs.
Applied configuration example (v. 0.5.6)
Applied configuration:

health {
    address="127.0.0.1"
    port="8080"
}
logger {
    format=Plain
    level=Info
    mappings {}
    pattern=Plain
}
pipeline {
    datasource=TransactionTreeStream
    filter {
        contracts="*"
        metadata="!*"
        parties="*"
    }
    ledger {
        start=Genesis
        stop=Never
    }
    oauth {
        accessToken=null
        cafile=null
        clientId=null
        clientSecret=null
        endpoint=null
        parameters {}
        preemptExpiry=PT1M
        scope=Default
    }
}
retry {
    backoff {
        base=PT1S
        cap=PT1M
        factor="2.0"
    }
    counter {
        attempts=null
        duration=null
        reset=PT10M
    }
}
source {
    ledger {
        auth=NoAuth
        bufferSize="128"
        cacheDir="/tmp/scribe"
        host=participant1
        keepAlive {
            time=PT40S
            timeout=PT20S
        }
        port="5003"
        tls {
            cafile=null
            cert=null
            key=null
        }
    }
}
target {
    postgres {
        bufferSize="128"
        database=postgres
        host="pqs1_db"
        keepAlive="true"
        maxConnections="16"
        password="********"
        port="5432"
        tls {
            cafile=null
            cert=null
            key=null
            mode=Disable
        }
        username=postgres
    }
    schema {
        autoApply="true"
        baseline="false"
    }
}

HT: Thanks to Peter Garmaz who pointed me in the right direction.