This Document describes the Darkseal server configuration.
Overview
server:rootPath:'/api/*'applicationConnectors: - type:httpport:8585adminConnectors: - type:httpport:8586# Logging settings.# https://logback.qos.ch/manual/layouts.html#conversionWordlogging:level:INFOloggers:org.openmetadata.service.common:DEBUGio.swagger:ERRORappenders: - type:filethreshold:TRACElogFormat:"%level [%d{HH:mm:ss.SSS}] [%t] %logger{5} - %msg %n"currentLogFilename:./logs/openmetadata.logarchivedLogFilenamePattern:./logs/openmetadata-%d{yyyy-MM-dd}-%i.log.gzarchivedFileCount:7timeZone:UTCmaxFileSize:50MBdatabase:# the name of the JDBC driver, mysql in our casedriverClass:com.mysql.cj.jdbc.Driver# the username and passworduser:openmetadata_userpassword:openmetadata_password# the JDBC URL; the database is called openmetadata_dburl:jdbc:mysql://localhost/openmetadata_db?useSSL=false&serverTimezone=UTCelasticsearch:host:localhostport:9200eventHandlerConfiguration:eventHandlerClassNames: - "org.openmetadata.service.events.AuditEventHandler"health:delayedShutdownHandlerEnabled:trueshutdownWaitPeriod:1shealthCheckUrlPaths: ["/api/v1/health-check"]healthChecks: - name:UserDatabaseCheckcritical:trueschedule:checkInterval:2500msdowntimeInterval:10sfailureAttempts:2successAttempts:1
By default, the Darkseal server runs on port 8585. It uses Jetty Server. The above config can be changed to make it run on a different port. Once you have updated the port details in config restart the server.
Database
Darkseal supports MySQL or Postgres as the database. The database configurations and connection strings must be as specified below.
The section below refers to the database connection details to MySQL database. We recommend you create a MySQL user with a strong password and update this section accordingly.
database:# the name of the JDBC driver, mysql in our casedriverClass:com.mysql.cj.jdbc.Driver# the username and passworduser:openmetadata_userpassword:openmetadata_password# the JDBC URL; the database is called openmetadata_dburl:jdbc:mysql://localhost/openmetadata_db?useSSL=false&serverTimezone=UTC
The section below refers to the database connection details to Postgres database. Darkseal uses stored generated columns which is supported in Postgres 12. Ensure that you have Postgres 12 or a later version. We recommend you create a Postgres user with a strong password and update this section accordingly.
database:# the name of the JDBC driver, postgres in our casedriverClass:org.postgresql.Driver# the username and passworduser:openmetadata_userpassword:openmetadata_password# the JDBC URL; the database is called openmetadata_dburl:jdbc:postgresql://localhost:5432/openmetadata_db?useSSL=false&serverTimezone=UTC
Elasticsearch
elasticsearch:host:localhostport:9200
Elasticsearch is one of the prerequisites to run Darkseal. Default configuration expects a single instance of Elasticsearch running on the local machine. Please make sure you update it with your production elastic search.
EventHandler configuration is optional. It will update the AuditLog in MySQL DB and also ElasticSearch indexes whenever any entity is updated either through UI or API interactions. We recommend you leave it there as it enhances the user experience.
Health check API provides an API endpoint to check the Darkseal server health. We recommend in production settings to use this API to monitor the health of your Darkseal instance. Please tune the above configuration according to your production needs.
Security
Please follow our Enable Security guide to configure security for your Darkseal server.