Pipeline Components and Applications

  1. Home
  2. Docs
  3. Pipeline Components and Applications
  4. Iglu
  5. Iglu Repositories
  6. Iglu Server
  7. Iglu Server configuration reference

Iglu Server configuration reference

This is a complete list of the options that can be configured in the Iglu Server HOCON config file. The example configs in github show how to prepare an input file.

Common options

repoServer.interfaceDefault, the address on which the server listens for http connections
repoServer.portDefault 8080, the port on which the server listens
repoServer.idleTimeoutDefault is 30 seconds. TCP connections are dropped after this timeout expires. If you are running Iglu Server behind a load balancer, this should slightly exceed the load balancer’s idle timeout.
database.typeDefault is postgres, but change to dummy during development for in-memory only storage
database.hostRequired. Host name of the postgres database.
database.portDefault 5432. Port of the postgres database.
database.dbnameRequired. Name of the postgres database.
database.usernameRequired. Username for connecting to postgres.
database.passwordRequired. Password for connecting to postgres.
swagger.baseUrlOptional. Customise the api base url in Swagger. Helpful for when running iglu-server behind a proxy server.
debugDefault false. Enable additional debug api endpoint to respond with all internal state.
patchesAllowedDefault false. If true, schemas sent to the /api/schemas endpoint will overwrite existing ones rather than be skipped if a schema with the same key already exists.
webhooks.schemaPublishedEnable webhooks that will be called when a schema is published or updated with a vendor that matches the specified prefixes. This is a list of uri and vendorPrefixes. See the examples in github.
superApiKeyOptional. Set a super api key with permission to read/write any schema, and add other api keys.

Advanced options

We believe these advanced options are set to sensible defaults, and hopefully you won’t need to ever change them.

repoServer.threadPool.typeConfigures the thread pool used by the underlying BlazeServer for executing Futures. Default “fixed” for a fixed thread pool. Change to “cached” for a cached thread pool.
repoServer.threadPool.sizeDefault is 4. Only relevant for fixed thread pools.
repoServer.maxConnectionsDefault 1024. The maximum number of client connections that may be active at any time.
database.pool.typeConfigures the database connection pool. The default is hikari which is appropriate for production. Change to nopool if you want no upper bound on the number of connections.
database.pool.maximumPoolSizeMaximum number of connections in the Hikari pool. Default is 5.
database.pool.connectionTimeoutConfigures timeout on the Hikari connection pool. Default is 30 seconds.
database.pool.maxLifetimeConfigures the maximum lifetime of a connection in the Hikari pool. Default is 1800 seconds.
database.pool.minimumIdleConfigures the minimum number of idle connections in the Hikari pool. Default is 5.
database.pool.connectionPool.typeThe thread pool used for awaiting connection to the database. Default is fixed for a fixed size thread pool, and this is appropriate for production.
database.pool.connectionPool.sizeNumber of threads, used when the connection pool has type fixed. Default is 4.
database.pool.transactionPool.typeThe thread pool used for blocking JDBC operations. Default is cached which is appropriate for production.
Added in version 0.8.0
Optional, default “1 seconds”. Configures how long the server should pause after receiving a sigterm before starting the graceful shutdown. During this period the server continues to accept new connections and respond to requests.
Added in version 0.8.0
Optional, default false. During the preTerminationPeriod, the server can be configured to return 503s on the /health endpoint. Can be helpful for removing the server from a load balancer’s targets.