P6 Default Settings¶
This page list all the default configuration embedded inside P6.
You can override the default settings by creating an additional conf/application.conf
file in your instance’s data root folder (defined in the .env file).
Read more about the underlying config library.
Jetty Settings¶
The jetty
section sets the configuration of Jetty.
Property | Default value | Description |
---|---|---|
jetty.threads.max | 256 | The maximum number of threads. The default value is 256. |
jetty.threads.idle.timeout | 120000 (2 minutes) | The idle timeout for Jetty threads in milliseconds. |
jetty.http.port | 8080 | The HTTP port for Jetty. |
jetty.http.admin.port | 8091 | The port for Jetty’s admin interface. |
jetty.http.idle.timeout | 60000 (1 minute) | The idle timeout for HTTP connections in milliseconds. |
jetty.https.admin.port | 8443 | The HTTPS port for Jetty. |
jetty.config.size.output.buffer | 65536 (64 KB) | The size of the output buffer in bytes. |
jetty.config.size.request.header | 32768 (32 KB) | The size of the request header buffer in bytes. |
jetty.config.size.response.header | 32768 (32 KB) | The size of the response header buffer in bytes. |
jetty.dos.maxRequestsPerSec | 128 | The maximum number of requests per second. |
jetty.dos.delayMs | -1 | The delay time for denied requests in milliseconds. Set -1 for no delay |
jetty.dos.maxWaitMs | 50 | The maximum wait time for denied requests in milliseconds |
jetty.dos.throttledRequests | 5 | The number of requests to allow in a throttle period |
jetty.dos.throttleMs | 30000 (30 seconds) | The throttle period in milliseconds. |
jetty.dos.maxRequestMs | 60000 (1 minute) | The maximum time a request can take in milliseconds. |
jetty.dos.maxIdleTrackerMs | 30000 (30 seconds) | The maximum idle time for a tracker in milliseconds. |
Common Message Bus Config¶
The cmb
section sets the configuration for the Common Message Bus.
Property | Default value | Description |
---|---|---|
cmb.queue.item.notifier.class | io.platform6.core.impl.cmb.listener.CMBListener | The class for the item notifier. This is for debugging purposes only. |
P6 Auth specific settings¶
The p6auth
section sets the configuration for P6Auth.
Property | Default value | Description |
---|---|---|
p6auth.remote.provider.url | https://login.amalto.io/apis/v2/p6auth | The URL for the remote authentication provider. |
p6auth.client.token.endpoint | /oauth2/token | The endpoint for retrieving tokens. |
p6auth.client.id | p6core | The identifier for the client. |
p6auth.client.secret | The secret for the client. | |
p6auth.client.redirect.uri | http://www.platform6.io | The redirect URI for the client. |
p6auth.org.children.limit | -1 | Set the number of children to be loaded in the tree |
Antivirus settings¶
The antivirus
section sets the configuration for the antivirus.
Property | Default value | Description |
---|---|---|
antivirus.engine | none | Set the antivirus engin (none, clamav) |
antivirus.action | delete | Set the antivirus action on corrupted file (none, delete, quarantine) |
antivirus.clamav.hostname | host.docker.internal | Set the hostname of the antivirus |
antivirus.clamav.port | 3310 | Set the port number of the antivirus |
antivirus.clamav.timeout | 500 | Set the timeout value when analyzing a file |
Hazelcast - default standalone only¶
The hazelcast
section sets the configuration for Hazelcast, an open-source data grid solution.
Property | Default value | Description |
---|---|---|
hazelcast.hazelcast.instance-name | p6core_standalone_node_x | The name of the Hazelcast instance. |
hazelcast.hazelcast.network.port | 5900 | The port for the Hazelcast network. |
hazelcast.hazelcast.network.public-address | 127.0.0.1 | The public address for the Hazelcast network. |
hazelcast.hazelcast.network.join.multicast.enabled | false | The flag that determines whether multicast is enabled. |
hazelcast.hazelcast.network.join.tcp-ip.enabled | false | The flag that determines whether TCP/IP is enabled. |
InMemoryDataGrid Configuration¶
The imdg
section sets the configuration for the InMemoryDataGrid (IMDG).
Property | Default value | Description |
---|---|---|
imdg.distributed.pmap.store.impl | PROXY | The implementation of the PMap store. |
imdg.distributed.pmap.store.provider.class | io.platform6.core.impl.platform.imdg.P6MapPersistenceProvider | The provider class for the PMap store. |
imdg.distributed.pqueue.store.impl | PROXY | The implementation of the PQueue store. |
imdg.distributed.pqueue.store.provider.class | io.platform6.core.impl.platform.imdg.P6QueuePersistenceProvider | The provider class for the PQueue store. |
imdg.cp.members | 0 | The number of nodes in a consensus group |
imdg.cp.discover.wait | 600 | The number of seconds to discover a consensus group |
Database Configuration¶
The database
section sets the configuration for the Database (PostgreSQL).
Property | Default value | Description |
---|---|---|
database.host | database | The database server hostname. |
database.port | 5432 | The database server port number. |
database.name | b2box | The name fo the database. |
database.schema | p6core | The name fo the schema inside the database. |
database.username | b2box | The user authorized to access the schema. |
database.password | The user password. |
p6 Configuration Documentation¶
The p6
section sets the configuration for P6Core.
Property | Default value | Description |
---|---|---|
p6.cache.annotation | false | Enable or disable cache annotations |
p6.log4j.appender.notify.threads | 2 | Set the number of threads for the log4j appender to notify |
p6.org.trustedPublishers.path | /*/Trusted Publishers | Set the path for the Trusted Publishers |
p6.store.context | PGSQL-StoreContext.xml | Set the context source filename for the database |
p6.store.retry.delay | 700 | configure the store retry handler, which is called when failing on concurrent transaction commits |
p6.store.retry.count | 8 | Set the number of retries |
p6.store.timeout.connection | 30000 (30 seconds) | Set the maximum number of milliseconds that a client will wait for a connection from the pool. The lowest acceptable connection timeout is 250ms |
p6.store.timeout.idle | 600000 (10 minutes) | Set the maximum amount of time that a connection is allowed to sit idle in the pool. The minimum allowed value is 10000ms (10 seconds) |
p6.store.pool.size | 10 | Set the maximum size that the pool is allowed to reach, including both idle and in-use connections |
p6.store.lifetime.max | 1800000 (30 minutes) | Set the maximum lifetime of a connection in the pool. A value of 0 indicates no maximum lifetime (infinite lifetime), subject of course to the idleTimeout setting |
p6.camel.context.message.history.enabled | false | Enable or disable message history |
p6.camel.context.tracing.enabled | false | Enable or disable tracing |
p6.camel.context.breadcrumbs.enabled | false | Enable or disable breadcrumbs |
p6.camel.p6ftpd.keyStore.password | Set the keystore password | |
p6.camel.p6log.LogConsumer.QueueSize | 64 | Set the queue size |
p6.camel.p6log.LogConsumer.limiter.capacity | 1 | Set the rate limit capacity |
p6.camel.p6log.LogConsumer.limiter.duration | 5 | Set the rate limit duration |
p6.camel.async.callback.timeout | 10 (minutes) | Determines the number of minutes to wait for an asynchronous callback. |
p6.job.control.execution.messages.length | 1024 | Set the number of messages that could be queued |
p6.job.control.broadcast.get.response.timeout | 10 (minutes) | Set the number of minutes to wait for cluster wide GET broadcast request |
p6.job.control.broadcast.cancel.response.timeout | 30 (secondes) | Set the number of seconds to wait for cluster wide CANCEL broadcast request |
p6.job.control.workspace.entities.ttl.finished | 120000 | Set the Time to live for (ms) workspace entities when job is stable and finished |
p6.job.control.workspace.entities.ttl.stale | 120000 | Set the Time to live for (ms) for workspace entities for old jobs |
p6.xss.json.ignoredKeys | [“mainScript”, “classScripts”, “resources”, “content”, “byteContent”, “xmlStep”, “xmlView”, “scriptSegments”, “query”, “userQueryValue”, “serviceItemsZip”, “entity”, “signature”, “logo”, “schema”, “data”, “secretKey”, “publicKey”, “json”, “xml”, “template”, “javascript”, “text”] | Set the list of JSON attribute keys to ensures these attributes will be ignored by the inbound endpoint JSON sanitizer |
p6.filter.xss.ignoredHeaders | [“message-id”, “subject”] | Set the request headers that are NOT checked for XSS vulnerability |
p6.dsl.securesocket.identityKeyPassword | Set the identity password for the secure socket | |
p6.platform.appProfile.refresh.timer.period | 60 | Set the Tile to live for the application profile |
p6.service.default.runner.pool.size | 2 | Set the thread pool size for inbound message delivery |
p6.service.default.exclude | false | Enable or disable the service start |
p6.allowed.paths | [] | Set the extra paths allowed for transaction documents ($P6DATA and $TMP are default values) |
p6.service.application.job.wait.duration | 700 | Set the duration in milliseconds of a wait step inside a job process |
p6.service.application.job.wait.extensions | [“war”] | Set the extensions of resources casing a wait |
p6.service.auditing.provider | LOG4J | Set the name of the audit provider (LOG4J or ELASTICSEARCH) |
p6.service.auditing.resource.requests | false | Enable or disable the JSX-RS resource request auditer |
p6.service.counters.metrics.cache.ttl | 60000 | Set the Time to live for (ms) metrics cache |
p6.service.counters.date.format | yyyyMMdd’T’HH |
Set the date format |
p6.service.counters.date.timezone | Set the date timezone (if empty, the default one of the system will be used) | |
p6.service.tables.batch.size | 25000 | Set the size of the pagination when doing table data export. |
p6.service.scripts.as2.from.domain | platform6.io | Set the domain used in AS2 envelope MIME headers |
p6.service.scripts.runner.pool.size | 32 | Essential to extend the default(2) size of the cmb queue runner pool for this service |
p6.service.views.max.viewable | 0 | Set the max size uploaded to a browser. (Zero is allow any) |
p6.service.views.default.date.format | yyyy-MM-dd | Set the date format used to read transaction dates. |
p6.service.views.default.date.displayFormat.default | yyyy-MM-dd HH |
Set the display date format for transaction dates. |
p6.service.views.default.date.displayFormat.locale |
yyyy-MM-dd HH |
Optional - Set the display date format for transaction dates for a specific locale . |
p6.service.workflowsteps.transaction.lock.acquire.timeout | 5000 | Set the period to wait for the acquisition of a transaction lock |
p6.service.workflowsteps.runner.pool.size | 16 | Essential to extend the default(2) size of the cmb queue runner pool for this service |
p6.service.workflowsteps.datamodel | TransactionInfo | Set the default transaction datamodel name if none defined on the workflowstep |
p6.service.workflowsteps.expiry.status | EXPIRED | Set the status name when a workflowstep expires |
p6.service.workflowsteps.notification.from | noreply@platform6.io | Set the default sender for workflow notification. This values will be overrided by the docModel if founded |
p6.service.workflowsteps.notification.cc | Set the default cc for workflow notification. This values will be overrided by the docModel if founded | |
p6.service.workflowsteps.user.api.limit | 500 | Maximum number of users to be retrieved on p6auth |
p6.service.workflowsteps.xsd.url | https://doc.p6.sidetrade.io/latest/reference/built-in-services/workflow/resources/WorkflowStep.xsd | Set the XSD validation URL for workflowsteps |
p6.service.workflowsteps.assignee.cache.ttl.secs | 180 | The number of minutes before cached assignees are refreshed |
p6.tmp.folder | /tmp | Set the path where temporary files are stored. |
p6.public.config | [“p6auth.org.children.limit”] | Set the configuration entries to be publicly exposed. |
Note
All the entries under p6.service.default.<key>
can be overridden using: p6.service.<name>.<key>
Docker¶
In your docker-compose.yml
file you can use environment variables to define some configuration entries
Environment variable | Configuration entry |
---|---|
p6auth_client_id | p6auth.client.id |
p6auth_client_secret | p6auth.client.secret |
p6core_instance_id | instance.id |
p6core_tmp_folder | p6.tmp.folder |
p6core_database_host | database.host |
p6core_database_port | database.port |
p6core_database_name | database.name |
p6core_database_schema | database.schema |
p6core_database_username | database.username |
p6core_database_password | database.password |
p6core_antivirus_engine | antivirus.engine |
p6core_antivirus_action | antivirus.action |
p6core_antivirus_clamav_hostname | antivirus.clamav.hostname |
p6core_antivirus_clamav_port | antivirus.clamav.port |
p6core_antivirus_clamav_timeout | antivirus.clamav.timeout |