Discovery server configuration
This page lists describes configuration items for the Discovery server.
Changes to Discovery’s configuration while Discovery is running does not take effect until Discovery is restarted.
application.properties
The application.properties
configuration file includes configuration options for Discovery’s web management UI and database connection.
By default, Discovery is configured to use a bundled HyperSQL database (HSQLDB). Example configuration, commented out, is included for MySQL and PostgreSQL.
logging.level.namespace
The logging level for a logging namespace.
For more information on logging.level
, see Logging in the Spring Boot 2.1.6 documentation.
logging.level.namespace={TRACE|DEBUG|INFO|WARN|ERROR}
logging.level.root=INFO
logging.level.com.caplin=DEBUG
logging.file
Specifies the path to Discovery’s log file. If this option is not specified, Discovery write logs to the console only, which the example start script, start.sh
, redirects to discovery.log
.
Log files rotate when they reach logging.file.max-size, which defaults to 10MB.
For more information on logging.file
, see Logging in the Spring Boot 2.1.6 documentation.
logging.file={full_path}
logging.file=logs/discovery.log
logging.file.max-history
The maximum number of rolled log files to retain. Defaults to 7.
For more information on logging.file.max-history
, see Logging in the Spring Boot documentation.
logging.file.max-history={integer}
logging.file.max-size=7
logging.file.max-size
The maximum size a log file can reach before it is rotated. Defaults to 10MB.
Rotated log files use the file name format {logging.file}.YYYY-MM-DD.n.gz
, where n
is a zero-based sequential integer (0 oldest). Example: discovery.log.2021-11-02.0.gz
.
For more information on logging.file.max-size
, see Logging in the Spring Boot documentation.
logging.file.max-size={integer}{KB|MB|GB}
logging.file.max-size=10MB
management.endpoints.web.exposure.include
Lists the IDs of actuator endpoints that are exposed over HTTP at URI /actuator/ID
.
For more information about available end points, see Endpoints in the Spring Boot 2.1.6 documentation.
management.endpoints.web.exposure.include={id}[,…]
management.endpoints.web.exposure.include=metrics,prometheus
license.file.path
The path to the Discovery licence. The path can be absolute or relative. Relative paths are resolved in relation to the Discovery installation root.
license.file.path={path}
license.file.path=discovery.lic
server.port
The HTTP port of Discovery’s web management UI.
server.port={integer}
server.port=4567
spring.datasource.driverClassName
The class name of the JDBC driver for Discovery’s database.
For more information on configuring database connections in Spring Boot, see Working with SQL Databases in the Spring Boot 2.1.6 documentation.
spring.datasource.driverClassName={fully_qualified_class_name}
spring.datasource.driverClassName=org.hsqldb.jdbc.JDBCDriver
spring.datasource.url
The JDBC URL to Discovery’s database.
If the database does not exist, Discovery throws an error.
For more information on configuring database connections in Spring Boot, see Working with SQL Databases in the Spring Boot 2.1.6 documentation.
spring.datasource.url={jdbc_url}
spring.datasource.url=jdbc:hsqldb:hsql://localhost/clouddb
spring.datasource.username
The username for Discovery’s database connection.
The database user account must have permission to run DDL statements CREATE TABLE
, ALTER TABLE
, and DROP TABLE
on Discovery’s database schema.
For more information on configuring database connections in Spring Boot, see Working with SQL Databases in the Spring Boot 2.1.6 documentation.
spring.datasource.username={username}
spring.datasource.username=SA
spring.datasource.password
The password to Discovery’s database connection.
For more information on configuring database connections in Spring Boot, see Working with SQL Databases in the Spring Boot 2.1.6 documentation.
spring.datasource.password={password}
spring.datasource.password=qWvw4QUDbnTBxmf2
hazelcast.yaml
The hazelcast.yaml
configuration file contains options for the Hazelcast IMDG library, which provides distributed data-structures to Discovery and connected DataSource applications.
hazelcast/cluster-name
hazelcast:
cluster-name: caplin-platform
The name of this Discovery server’s Hazelcast cluster. Choose a unique name for each of your Caplin Platform deployments.
If no cluster name is specified in hazelcast.yaml
, it defaults to caplin-platform
.
All Discovery servers in a cluster must be configured with the same cluster name. All DataSource applications that connect to the cluster must be configured with the same cluster name (see discovery-cluster-name
in the DataSource documentation).
hazelcast/network/join
hazelcast:
network:
join:
...
Configures how Discovery cluster members discover each other. For detailed information on this configuration option, see Discovery mechanisms and the Join element in the Hazelcast documentation.
We recommend a maximum of two Discovery servers in a cluster, with cluster member locations listed as hostnames or IP addresses. For more information, see TCP/IP discovery in the Hazelcast documentation.
hazelcast:
network:
join:
tcp-ip:
enabled: true
member-list:
- <hostname or IP>
- <hostname or IP>
See also: