Skip to main content

Application properties Windows, Linux

1Gateway is a Spring Boot application. Spring properties can be used to configure the server:
https://docs.spring.io/spring-boot/appendix/application-properties/index.html

This document lists all of the application properties supported by 1Gateway.
1Gateway ships with a default setup defined in the application properties file found in the root folder of your installation. You can modify the properties to adjust how 1Gateway behaves.

Springboot properties

1Gateway is built on the Spring Boot framework, which uses a standardized set of properties to manage core server behavior. These settings allow you to define the underlying infrastructure requirements, such as security protocols, database connection strings (MongoDB), messaging broker details (RabbitMQ), and SSL/TLS certificate configurations for secure communication.

KeyDescriptionDefault value
spring.security.oauth2.resourceserver.jwt.issuer-uriURI that can either be an OpenID Connect discovery endpoint or an OAuth 2.0 Authorization Server Metadata endpoint defined by RFC 8414.
spring.rabbitmq.ssl.enabledWhether to enable SSL support. Determined automatically if an address is provided with the protocol (amqp:// vs. amqps://).
spring.rabbitmq.hostRabbitMQ host. Ignored if an address is set.localhost
spring.rabbitmq.portRabbitMQ port. Ignored if an address is set. Defaults to 5672, or 5671 if SSL is enabled.
spring.rabbitmq.usernameLogin user to authenticate to the broker.guest
spring.rabbitmq.passwordLogin to authenticate against the broker.guest
spring.mongodb.uriMongo database URI. Overrides host, port, username, and password.mongodb://localhost:27017/1gateway
spring.servlet.multipart.max-file-sizeMax file size.1024MB
spring.servlet.multipart.max-request-sizeMax request size.1024MB
spring.web.resources.static-locationsLocations of static resources.file:./www/web
spring.groovy.template.check-template-locationWhether to check that the templates location exists.true
spring.jmx.enabledExpose Spring's management beans to the JMX domain.false
server.portTCP port on which the 1Gateway server listens for incoming HTTPS connections. When HTTPS is enabled, this is typically set to 443.8080
server.ssl.key-storeAbsolute path to the keystore file containing the server certificate and private key. The keystore must be accessible to the running process or container.Not set
server.ssl.key-store-passwordPassword used to protect the keystore file. It is strongly recommended to provide this value in encrypted form using ENC(...).Not set
server.ssl.key-store-typeType of keystore used to store the certificate and private key. Supported values include PKCS12 (recommended) and JKS.PKCS12
server.ssl.key-aliasAlias of the certificate entry inside the keystore.Not set
server.ssl.key-passwordPassword protecting the private key entry within the keystore. In most cases this is the same as the keystore password. Encrypted values are recommended.Same as keystore password

1Gateway properties

These application-specific properties control the internal logic and orchestration engine of 1Gateway. Use these configurations to fine-tune system behavior, including message retry intervals, audit trail retention policies, plugin repository synchronization, and authentication levels for specific API endpoints.

application.rabbitmq

Class: com.faciligate.queue.rabbit.v4.properties.RabbitMqProperties

KeyDescriptionDefault value
batch-sizeThe batch size to use when sending messages10
dead-letter-exchangeThe RabbitMQ exchange where the dead letter queue will be defined1gateway-dlq
dead-letter-queueThe name of the dead letter queuedlq
dead-letter-queue-enabledCreate and enable the dead letter queue during startuptrue
dead-letter-topicThe topic to use when sending dead letter messagesdead.letter
initial-intervalThe initial interval in milliseconds between retries1000
max-delayThe maximum delay in milliseconds when throttling0
max-intervalThe maximum interval between retries30000
max-retry-attemptsHow many times should a message be retried before being sent to the dead letter queue1
multiplierThe multiplier to use for the interval between retries1.5
stopthrottleNumber of messages queued before the producer is stopped0
throttleNumber of messages queued before the producer is throttled0

application.audit

Class: com.faciligate.audit.configuration.AuditProperties

KeyDescriptionDefault value
action-messageDeprecatedfalse
action-mongo-dbDeprecatedfalse
audit-collectionThe name of the audit trail collection. If auditProvider is mongodb, this is the name of the collection.audit
audit-history-collectionThe name of the audit history trail collection. If auditProvider is mongodb, this is the name of the collection.auditHistory
audit-history-retentionHow long do we want to keep history audit logs in days300
audit-pathThe path to the audit trail. If auditProvider is filesystem, this is the path to the audit trail./data/audit
audit-providerWhere do we want to store the audit trail. Options are: mongodb, filesystem, nonemongodb
audit-retentionHow long do we want to keep audit logs in days30
audit-retention-pathWhere do we want to store old audit logs in the file system. If no path is provided, the retention policy will not be applied to old logs.
config-messageDeprecatedfalse
config-mongo-dbDeprecatedtrue
log-collectionThe name of the REST dialog log collection. If logProvider is mongodb, this is the name of the collection.log
log-pathThe path to the REST dialog log. If logProvider is filesystem, this is the path to the log./data/audit
log-providerWhere do we want to store the REST dialog log. Options are: mongodb, filesystem, nonefilesystem
log-retentionHow long do we want to keep REST dialog logs in days30
login-messageDeprecatedfalse
login-mongo-dbDeprecatedfalse
message[Ljava.lang.Object;@4dbca6e4
mongoThe audit destinations (mongo, message) with their filters The filter format is type.action.objecttype.objectname Any of the fields can be replaced with a * to match any value Leading * can be omitted Example: action..plugin. or action.*.plugin will match all plugin actions type is one of: action, login, record, config, error action is one of: delete, create, activate, deactivate, purgue, retry, config, login objecttype is one of: plugin, mapper, queue, message, user objectname is the name of the object[Ljava.lang.Object;@423e05ec
record-logWhen to store logs. Options are: always, never, erroralways
record-messageDeprecatedfalse
record-mongo-dbDeprecatedfalse

application.message.option

Class: com.faciligate.MessageOptionProperties

KeyDescriptionDefault value
auditfalse
audithistoryfalse
feedbackfalse
idmapsubscriber
legacytopicfalse
restauditfalse
transactionalfalse

application.aop

Class: com.faciligate.instrumentation.AopProperties

KeyDescriptionDefault value
classesInternal use onlycom.faciligate.routing.RoutingService
methodcountInternal use only1
methodsInternal use only
packagesInternal use onlycom.faciligate.api

application.rabbitmq.remote

Class: com.faciligate.queue.rabbit.v4.properties.RabbitRemoteExchangeProperties

KeyDescriptionDefault value
enabledShould the remote exchange be enabled - really only used for 1Bonding deploymentsfalse
exchange-nameThe RabbitMQ exchange for remote connections
hostThe RabbitMQ host for remote connections
management-portThe RabbitMQ management port - use only if the user has admin permissions
passwordThe RabbitMQ password for remote connections
portThe RabbitMQ port for remote connections
props
publishShould messages be sent to the remote exchangefalse
sslShould the remote exchange use SSLfalse
ssl-versionSSL version to use for the remote host. Only used if SSL is enabledTLSv1.2
subscribeShould messages be received from the remote exchangefalse
usernameThe RabbitMQ user for remote connections
virtual-hostThe RabbitMQ vhost for remote connections

application.plugin.repository

Class: com.faciligate.plugin.repository.RepositoryProperties

KeyDescriptionDefault value
passwordThe password of the repository
urlThe url of the repository
userThe user of the repository

application.rabbitmq.local

Class: com.faciligate.queue.rabbit.v4.properties.RabbitLocalExchangeProperties

KeyDescriptionDefault value
enabledShould the local exchange be enabledtrue
exchange-nameThe RabbitMQ exchange for local connections
hostThe RabbitMQ host for local connections
management-portThe RabbitMQ management port - use only if the user has admin permissions
passwordThe RabbitMQ password for local connections
portThe RabbitMQ port for local connections
props
publishShould messages be sent to the local exchangefalse
sslShould the local exchange use SSLfalse
ssl-versionSSL version to use for the local host. Only used if SSL is enabledTLSv1.2
subscribeShould messages be received from the local exchangefalse
usernameThe RabbitMQ user for local connections
virtual-hostThe RabbitMQ vhost for local connections

application

Class: com.faciligate.ApplicationProperties

application

Class: com.faciligate.ApplicationProperties

KeyDescriptionDefault value
ai-api-keyThe API key for AI services.
app-nameThe name of the application.
authenticateEnable Authentication for 1Gateway. Possible values: false,basic,oauth false: No authentication is required. The rest of the authentication properties will be ignored. basic: Basic authentication is required. oauth: OAuth2 authentication is required. Alternatively, for backwards compatibility, you can set application.authenticate=true, which will also enable Basic Authentication.
authenticate-mongodbConfigures authentication for the /api/v4/mongo. Possible values: false, strict, token, strictToken. False means the authenticated user can access all MongoDB collections. If strict, the authenticated user can access only the collections that match their username. If token, the endpoint is open and the API key must belong to a user and must not be expired. If strictToken, the endpoint is open and the API key must belong to a user, must not be expired, and the user's name must match the collection name.false
authenticate-queueConfigures authentication for the /api/v3/message/queue and /api/v4/message/queue endpoints. Possible values: false, strict, token, strictToken. False means the authenticated user can access all queues. If strict, the name of the logged in user must match the queue name. If token, the endpoint is open and the API key must belong to a user and must not be expired. If strictToken, the endpoint is open and the API key must belong to a user, must not be expired, and the user's name must match the queue name.false
authenticate-sendThis configures authentication for the /send endpoint, which is used for webhooks. If strict, the endpoint /send verifies that the logged-in user's name matches the webhook parameter. Possible values: false,strict The user always needs to be in the role webhook. Anything else is ignored. Default: false
authenticate-send-no-authEnable SendNoAuth authentication. If this property is set, the authenticate-webhook property is ignored. Possible values: false,true,token,strict If false, the endpoint /sendNoAuth gives a 404. This is the default. If true, the endpoint is open without the need for a token or apiKey. If token, the apiKey must belong to a user and must not be expired. If strict, the apiKey must belong to a user, must not be expired, and the user's name must match the webhook parameter. Default: false
authenticate-webhook@deprecated: Enable Webhook Authentication. If false, the endpoint /sendNoAuth is enabled with no security. If strict, same as authenticate-send=strict. If true, the endpoint /sendNoAuth is disabled. ossible values false,true,strict Default: falsefalse
authorization-urlThe URL for authorization. This property is used by the UI if oAuth is enabled.
backupfolder@deprecated As of version 4.2, the backup directory configuration will be managed within a JSON file located in the "data/config" folder. This property will be removed in a future release. @since 4.2 @see /data/config/backup.json
catalog-pathThe path to the data/catalog directory. This contains runtime artifacts including:
Installed plugins: All currently installed plugins.
Plugin logos: Logo assets for plugins.
Schemas: NormalizedAlarm, NormalizedIncident, and custom schemas.
Archive: Historical record of installed items.
client-idThe client ID for the application. This property is used by the UI if oAuth is enabled.
config-filetypesThe list of configuration file types.
config-pathThe path to the configuration files.
core-nameThe name of the core.
delayed-startupIndicates if the startup should be delayed.false
delayed-startup-in-millisThe delay in milliseconds for the startup.
demoIndicates if the application is running in demo mode.false
demo-catalog-pathThe path to the demo catalog file.
domainThe domain of the application.
enable-experimental-featuresIndicates if experimental features are enabled.false
encryption-keyThe encryption key for encrypted text.
environmentInternal use only.
errorhandling-legacyIndicates if legacy error handling is enabled.true
groupingThe grouping of the plugins. Default is "endpoint". Set to "plugin" to group by the first word of the plugin name.endpoint
http-client-timeoutThe timeout for the HTTP client.60
initial-passwordThe initial password for the application.
initial-userThe initial user for the application.
instance-idThe instance ID of the application.
instance-nameThe instance name of the application.
keep-last-transactionsThe number of transactions to keep.25
log-pathThe path to the log files.
logout-urlThe URL for logout. This property is used by the UI if oAuth is enabled.
main-config-pathThe path to the main configuration file.
mantain-cmdbIndicates if the CMDB should be maintained.false
maxhopsThe maximum number of hops.20
non-proxy-hostsThe non-proxy hosts.
proxy-authenticationIndicates if proxy authentication is enabled.false
proxy-enabledIndicates if the proxy is enabled. Possible values: true, false Default: false.false
proxy-hostThe host for the proxy.
proxy-passwordThe password for the proxy.
proxy-portThe port for the proxy.0
proxy-usernameThe username for the proxy.
repourlThe URL for the plugin repository.https://repo.1bonding.com
staging-config-pathThe path to the staging configuration file.
startup-timeThe startup time of the application.0
subscriber-idThe subscriber ID for the application.
token-urlThe URL for token retrieval. This property is used by the UI if oAuth is enabled.
topic-prefixThe prefix for topics.
use-latest-plugin-versionIndicates if the latest plugin version should be used.true
user-settings-pathThe path to the user settings.
versionThe 1Gateway version

spring.security.oauth2.resourceserver.jwt.issuer-uri spring.rabbitmq.ssl.enabled spring.rabbitmq.host spring.rabbitmq.port spring.rabbitmq.username spring.rabbitmq.password spring.mongodb.uri spring.servlet.multipart.max-file-size spring.servlet.multipart.max-request-size spring.web.resources.static-locations spring.groovy.template.check-template-location spring.jmx.enabled server.port server.ssl.key-store server.ssl.key-store-password server.ssl.key-store-type server.ssl.key-alias server.ssl.key-password batch-size dead-letter-exchange dead-letter-queue dead-letter-queue-enabled dead-letter-topic initial-interval max-delay max-interval max-retry-attempts multiplier stopthrottle throttle action-message action-mongo-db audit-collection audit-history-collection audit-history-retention audit-path audit-provider audit-retention audit-retention-path config-message config-mongo-db log-collection log-path log-provider log-retention login-message login-mongo-db record-log record-message record-mongo-db audit audithistory feedback idmap legacytopic restaudit transactional classes methodcount methods packages enabled exchange-name host management-port password port props publish ssl ssl-version subscribe username virtual-host url user ai-api-key app-name authenticate authenticate-mongodb authenticate-queue authenticate-send authenticate-send-no-auth authenticate-webhook authorization-url backupfolder catalog-path client-id config-filetypes config-path core-name delayed-startup delayed-startup-in-millis demo demo-catalog-path domain enable-experimental-features encryption-key environment errorhandling-legacy grouping http-client-timeout initial-password initial-user instance-id instance-name keep-last-transactions log-path logout-url main-config-path mantain-cmdb