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
Applied configuration:

health {
    port="8080"
}
logger {
    format=Plain
    level=Info
    mappings {}
    pattern=Plain
}
pipeline {
    datasource=TransactionStream
    filter {
        contracts="*"
        metadata="!*"
        parties="*"
    }
    ledger {
        start=Latest
        stop=Never
    }
    oauth {
        accessToken=null
        cafile=null
        clientId=null
        clientSecret=null
        endpoint=null
        parameters {}
    }
}
source {
    ledger {
        auth=NoAuth
        host=participant1
        port="5003"
        tls {
            cafile=null
            cert=null
            key=null
        }
    }
}
target {
    postgres {
        database=postgres
        host=pqs1
        maxConnections="16"
        password="********"
        port="5432"
        tls {
            cafile=null
            cert=null
            key=null
            mode=Disable
        }
        username=postgres
    }
    schema {
        autoApply="true"
    }
}

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