Kill Bill supports configuring the system by specifying external properties. This document explains how such properties can be configured.
Kill Bill Configuration
Overview
At a high level, Kill Bill configuration can be done in one of the following ways:
Per-tenant configuration - Used to define tenant-specific configuration properties (such as Catalog/Overdue XML files, Invoice, Payment properties, etc.).
Properties file - Used to define properties global to the system.
Java System Properties - Used to define certain "special" configuration properties.
Third Party Configuration Files - Can be used to specify third-party configuration (e.g. EhCache configuration file, logback configuration file, etc.
Environment variables - Can also be used to define configuration properties.
The subsequent sections elaborate each of these approaches.
Per Tenant Properties
Per tenant properties refers to properties that can be specified at a tenant level. Thus, each tenant can have different values for these properties.
Such properties are stored in the Kill Bill database and can be set by invoking the uploadPerTenantConfig endpoint.
For instance to set the invoice dry run notification schedule for the boblazar
tenant, you can invoke the endpoint as follows:
curl -v \
-X POST \
-u 'admin:password' \
-H "X-Killbill-ApiKey: bob" \
-H "X-Killbill-ApiSecret: lazar" \
-H "Content-Type: text/plain" \
-H "X-Killbill-CreatedBy: configurator" \
-d '{"org.killbill.invoice.dryRunNotificationSchedule":"48h"}' \
"http://127.0.0.1:8080/1.0/kb/tenants/uploadPerTenantConfig"
This sets org.killbill.invoice.dryRunNotificationSchedule=48h
for the boblazar
tenant.
Important Notes:
Each call overwrites previous properties, so it is necessary to specify the full list of properties for a given tenant.
These properties can also be specified in the killbill properties file in which case they become global properties applicable to all tenants.
If a property is specified in the properties file as well as at a per-tenant level, the per-tenant configuration takes precedence.
The "Configuration Properties Table" below lists all the per tenant properties.
Properties File
Kill Bill configuration properties can also be defined within an explicit .properties
file. Properties defined within this file are global and are applicable across all tenants. Typically, a default killbill.properties
exists as explained in the "Setup Specific Notes" section. You can add new properties/modify property values in this file as required.
The "Configuration Properties Table" below lists all the global properties.
Environment Variables
Kill Bill also allows setting configuration properties via environment variables. In such a case, the value specified via the environment variable overrides the value defined in the killbill.properties
file.
In order for environment variables to be enabled, you need to set the following property in the property file:
org.killbill.server.lookupEnvironmentVariables=true
Once enabled, you can define an environment variable corresponding to any property by prefixing the property name with KB_. For example, you can define an environment variable corresponding to the org.killbill.dao.url
property as follows:
KB_org_killbill_dao_url = <jdbc URL here>
The "Configuration Properties Table" below lists all the environment variables.
Java System Properties
Certain "special" configuration properties need to be specified as Java system properties and cannot be specified in the properties
file or as environment variables. Typically, you would not need to modify such properties.
The "Configuration Properties Table" below lists all the system properties.
Third Party Configuration Files
Third party configuration files can be used to specify configuration related to third party libraries like ehcache, logback, etc. The path of a third party configuration file in turn needs to be specified as a configuration property.
The following table lists the third party configuration files supported by Kill Bill and their corresponding configuration properties.
Third-Party Configuration | Configuration Property | Default Location |
---|---|---|
ehcache | org.killbill.cache.config.location | |
logback | logback.configurationFile | |
shiro | org.killbill.security.shiroResourcePath |
Configuration Properties Table
The following table lists all the Kill Bill configuration properties.
Category | Property Name/Environment Variable Name | Description | Default Value | Configuration Method |
---|---|---|---|---|
Payment | org.killbill.payment.retry.days/ KB_org_killbill_payment_retry_days | Specify the number of payment retries along with the interval in days between payment retries when payment failures occur | 8,8,8 | Per-Tenant/Config File/Environment Variable |
Payment | org.killbill.payment.failure.retry.start.sec/ KB_org_killbill_payment_failure_retry_start_sec | Specify the interval of time in seconds before retrying a payment that failed due to a plugin failure (gateway is down, transient error, …) | 300 | Per-Tenant/Config File/Environment Variable |
Payment | org.killbill.payment.failure.retry.multiplier/ KB_org_killbill_payment_failure_retry_multiplier | Specify the multiplier to apply between in retry before retrying a payment that failed due to a plugin failure (gateway is down, transient error, …) | 2 | Per-Tenant/Config File/Environment Variable |
Payment | org.killbill.payment.janitor.unknown.retries/ KB_org_killbill_payment_janitor_unknown_retries | Delay before which unresolved transactions should be retried | 5m,1h,1d,1d,1d,1d,1d | Per-Tenant/Config File/Environment Variable |
Payment | org.killbill.payment.janitor.pending.retries/ KB_org_killbill_payment_janitor_pending_retries | Delay before which unresolved transactions should be retried | 1h, 1d | Per-Tenant/Config File/Environment Variable |
Payment | org.killbill.payment.failure.retry.max.attempts/ KB_org_killbill_payment_failure_retry_max_attempts | Specify the max number of attempts before retrying a payment that failed due to a plugin failure (gateway is down, transient error, …) | 8 | Per-Tenant/Config File/Environment Variable |
Payment | org.killbill.payment.invoice.plugin/ KB_org_killbill_payment_invoice_plugin | Default payment control plugin names | - | Per-Tenant/Config File/Environment Variable |
Payment | org.killbill.payment.janitor.rate/ KB_org_killbill_payment_janitor_rate | Rate at which janitor tasks are scheduled | 1h | Config File/Environment Variable |
Payment | org.killbill.payment.janitor.attempts.delay/ KB_org_killbill_payment_janitor_attempts_delay | Delay before which unresolved attempt should be retried | 12h | Config File/Environment Variable |
Payment | org.killbill.payment.provider.default/ KB_org_killbill_payment_provider_default | Default payment provider to use | __external_payment__ | Config File/Environment Variable |
Payment | org.killbill.payment.plugin.timeout/ KB_org_killbill_payment_plugin_timeout | Timeout for each payment attempt | 30s | Config File/Environment Variable |
Payment | org.killbill.payment.plugin.threads.nb/ KB_org_killbill_payment_plugin_threads_nb | Number of threads for plugin executor dispatcher | 10 | Config File/Environment Variable |
Payment | org.killbill.payment.globalLock.retries/ KB_org_killbill_payment_globalLock_retries | Maximum number of times the system will retry to grab global lock (with a 100ms wait each time) | 50 | Config File/Environment Variable |
Invoice | org.killbill.invoice.maxNumberOfMonthsInFuture/ KB_org_killbill_invoice_maxNumberOfMonthsInFuture | Maximum target date to consider when generating an invoice | 36 | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.sanitySafetyBoundEnabled/ KB_org_killbill_invoice_sanitySafetyBoundEnabled | Whether internal sanity checks to prevent mis- and double-billing are enabled | true | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.disable.usage.zero.amount/ KB_org_killbill_invoice_disable_usage_zero_amount | Whether we disable writing $0 usage amounts | false | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.usage.missing.lenient/ KB_org_killbill_invoice_usage_missing_lenient | Whether we fail invoice when we discover missing past usage records | false | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.maxDailyNumberOfItemsSafetyBound/ KB_org_killbill_invoice_maxDailyNumberOfItemsSafetyBound | Maximum daily number of invoice items to generate for a subscription id | 15 | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.dryRunNotificationSchedule/ KB_org_killbill_invoice_dryRunNotificationSchedule | DryRun invoice notification time before targetDate (ignored if set to 0s) | 0s | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.readMaxRawUsagePreviousPeriod/ KB_org_killbill_invoice_readMaxRawUsagePreviousPeriod | Maximum number of past billing periods we use to fetch raw usage data (usage optimization) | 2 | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.globalLock.retries/ KB_org_killbill_invoice_globalLock_retries | Maximum number of times the system will retry to grab global lock (with a 100ms wait each time) | 50 | Config File/Environment Variable |
Invoice | org.killbill.invoice.plugin/ KB_org_killbill_invoice_plugin | Default invoice plugin names | - | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.emailNotificationsEnabled/ KB_org_killbill_invoice_emailNotificationsEnabled | Whether to send email notifications on invoice creation (for configured accounts) | false | Config File/Environment Variable |
Invoice | org.killbill.invoice.enabled/ KB_org_killbill_invoice_enabled | Whether the invoicing system is enabled | true | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.parent.commit.local.utc.time/ KB_org_killbill_invoice_parent_commit_local_utc_time | UTC Time when parent invoice gets committed | 23:59:59.999 | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.item.result.behavior.mode/ KB_org_killbill_invoice_item_result_behavior_mode | How the result for an item will be reported (aggregate mode or detail mode). | AGGREGATE | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.inArrear.mode/ KB_org_killbill_invoice_inArrear_mode | Determine how the system should behave for in-arrear plans. | DEFAULT | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.parkAccountsWithUnknownUsage/ KB_org_killbill_invoice_parkAccountsWithUnknownUsage | Whether to park accounts when usage data is recorded but not defined in the catalog | false | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.rescheduleIntervalOnLock/ KB_org_killbill_invoice_rescheduleIntervalOnLock | Time delay to reschedule an invoice run when lock is held | 0s | Per-Tenant/Config File/Environment Variable |
Invoice | org.killbill.invoice.maxInvoiceLimit/ KB_org_killbill_invoice_maxInvoiceLimit | How far back in time should invoice generation look at | P200Y | Per-Tenant/Config File/Environment Variable |
Database | org.killbill.dao.url/ KB_org_killbill_dao_url | The jdbc url for the database | jdbc:h2:file:/var/tmp/killbill;MODE=MYSQL; DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE | Config File/Environment Variable |
Database | org.killbill.dao.user/ KB_org_killbill_dao_user | The jdbc user name for the database | killbill | Config File/Environment Variable |
Database | org.killbill.dao.password/ KB_org_killbill_dao_password | The jdbc password for the database | killbill | Config File/Environment Variable |
Database | org.killbill.dao.minIdle/ KB_org_killbill_dao_minIdle | The minimum allowed number of idle connections to the database | 1 | Config File/Environment Variable |
Database | org.killbill.dao.maxActive/ KB_org_killbill_dao_maxActive | The maximum allowed number of active connections to the database | 100 | Config File/Environment Variable |
Database | org.killbill.dao.leakDetectionThreshold/ KB_org_killbill_dao_leakDetectionThreshold | Amount of time that a connection can be out of the pool before a message is logged indicating a possible connection leak | 60s | Config File/Environment Variable |
Database | org.killbill.dao.connectionTimeout/ KB_org_killbill_dao_connectionTimeout | How long to wait before a connection attempt to the database is considered timed out | 10s | Config File/Environment Variable |
Database | org.killbill.dao.idleMaxAge/ KB_org_killbill_dao_idleMaxAge | The time for a connection to remain unused before it is closed off | 60m | Config File/Environment Variable |
Database | org.killbill.dao.maxConnectionAge/ KB_org_killbill_dao_maxConnectionAge | Any connections older than this setting will be closed off whether it is idle or not. Connections currently in use will not be affected until they are returned to the pool | 0m | Config File/Environment Variable |
Database | org.killbill.dao.idleConnectionTestPeriod/ KB_org_killbill_dao_idleConnectionTestPeriod | Time for a connection to remain idle before sending a test query to the DB | 5m | Config File/Environment Variable |
Database | org.killbill.dao.connectionInitSql/ KB_org_killbill_dao_connectionInitSql | Sets a SQL statement executed after every new connection creation before adding it to the pool | null | Config File/Environment Variable |
Database | org.killbill.dao.prepStmtCacheSize/ KB_org_killbill_dao_prepStmtCacheSize | Number of prepared statements that the driver will cache per connection | 500 | Config File/Environment Variable |
Database | org.killbill.dao.prepStmtCacheSqlLimit/ KB_org_killbill_dao_prepStmtCacheSqlLimit | Maximum length of a prepared SQL statement that the driver will cache | 2048 | Config File/Environment Variable |
Database | org.killbill.dao.cachePrepStmts/ KB_org_killbill_dao_cachePrepStmts | Enable prepared statements cache | true | Config File/Environment Variable |
Database | org.killbill.dao.useServerPrepStmts/ KB_org_killbill_dao+useServerPrepStmts | Enable server-side prepared statements | true | Config File/Environment Variable |
Database | org.killbill.dao.dataSourceClassName/ KB_org_killbill_dao_dataSourceClassName | DataSource class name provided by the JDBC driver, leave null for autodetection | null | Config File/Environment Variable |
Database | org.killbill.dao.driverClassName/ KB_org_killbill_dao_driverClassName | JDBC driver to use (when dataSourceClassName is null) | null | Config File/Environment Variable |
Database | org.killbill.dao.mysqlServerVersion/ KB_org_killbill_dao_mysqlServerVersion | MySQL server version | 5.1 | Config File/Environment Variable |
Database | org.killbill.dao.logLevel/ KB_org_killbill_dao_logLevel | Log level for SQL queries | DEBUG | Config File/Environment Variable |
Database | org.killbill.dao.poolingType/ KB_org_killbill_dao_poolingType | Connection pooling type | HIKARICP | Config File/Environment Variable |
Database | org.killbill.dao.healthCheckConnectionTimeout/ KB_org_killbill_dao_healthCheckConnectionTimeout | How long to wait before a connection attempt to the database is considered timed out (healthcheck only) | 10s | Config File/Environment Variable |
Database | org.killbill.dao.healthCheckExpected99thPercentile/ KB_org_killbill_dao_healthCheckExpected99thPercentile | Expected 99th percentile calculation to obtain a connection (healthcheck only) | 50ms | Config File/Environment Variable |
Database | org.killbill.dao.initializationFailFast/ KB_org_killbill_dao_initializationFailFast | Whether or not initialization should fail on error immediately | false | Config File/Environment Variable |
Database | org.killbill.dao.transactionIsolationLevel/ KB_org_killbill_dao_transactionIsolationLevel | Set the default transaction isolation level | TRANSACTION_READ_COMMITTED | Config File/Environment Variable |
Database | org.killbill.dao.readOnly/ KB_org_killbill_dao_readOnly | Whether to put connections in read-only mode | false | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.url/ KB_org_killbill_billing_osgi_dao_url | The jdbc url for the database | jdbc:h2:file:/var/tmp/killbill;MODE=MYSQL; DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.user/ KB_org_killbill_billing_osgi_dao_user | The jdbc user name for the database | killbill | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.password/ KB_org_killbill_billing_osgi_dao_password | The jdbc password for the database | password | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.minIdle/ KB_org_killbill_billing_osgi_dao_minIdle | The minimum allowed number of idle connections to the database | 1 | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.maxActive/ KB_org_killbill_billing_osgi_dao_maxActive | The maximum allowed number of active connections to the database | 100 | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.leakDetectionThreshold/ KB_org_killbill_billing_osgi_dao_leakDetectionThreshold | Amount of time that a connection can be out of the pool before a message is logged indicating a possible connection leak | 60s | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.connectionTimeout/ KB_org_killbill_billing_osgi_dao_connectionTimeout | How long to wait before a connection attempt to the database is considered timed out | 10s | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.idleMaxAge/ KB_org_killbill_billing_osgi_dao_idleMaxAge | The time for a connection to remain unused before it is closed off | 60m | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.maxConnectionAge/ KB_org_killbill_billing_osgi_dao_maxConnectionAge | Any connections older than this setting will be closed off whether it is idle or not. Connections currently in use will not be affected until they are returned to the pool | 0m | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.idleConnectionTestPeriod/ KB_org_killbill_billing_osgi_dao_idleConnectionTestPeriod | Time for a connection to remain idle before sending a test query to the DB | 5m | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.prepStmtCacheSize/ KB_org_killbill_billing_osgi_dao_prepStmtCacheSize | Number of prepared statements that the driver will cache per connection | 500 | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.prepStmtCacheSqlLimit/ KB_org_killbill_billing_osgi_dao_prepStmtCacheSqlLimit | Maximum length of a prepared SQL statement that the driver will cache | 2048 | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.cachePrepStmts/ KB_org_killbill_billing_osgi_dao_cachePrepStmts | Enable prepared statements cache | true | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.useServerPrepStmts/ KB_org_killbill_billing_osgi_dao_useServerPrepStmts | Enable server-side prepared statements | true | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.dataSourceClassName/ KB_org_killbill_billing_osgi_dao_dataSourceClassName | DataSource class name provided by the JDBC driver, leave null for autodetection | Null | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.driverClassName/ KB_org_killbill_billing_osgi_dao_driverClassName | JDBC driver to use (when dataSourceClassName is null) | Null | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.mysqlServerVersion/ KB_org_killbill_billing_osgi_dao_mysqlServerVersion | MySQL server version | 5.1 | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.logLevel/ KB_org_killbill_billing_osgi_dao_logLevel | Log level for SQL queries | DEBUG | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.poolingType/ KB_org_killbill_billing_osgi_dao_poolingType | Connection pooling type | HIKARICP | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.initializationFailFast/ KB_org_killbill_billing_osgi_dao_initializationFailFast | Whether or not initialization should fail on error immediately | false | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.transactionIsolationLevel/ KB_org_killbill_billing_osgi_dao_transactionIsolationLevel | Set the default transaction isolation level | TRANSACTION_READ_COMMITTED | Config File/Environment Variable |
Plugin Database | org.killbill.billing.osgi.dao.readOnly/ KB_org_killbill_billing_osgi_dao_readOnly | Whether to put connections in read-only mode | false | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.enabled/ KB_org_killbill_billing_main_ro_dao_enabled | Whether the read-only datasource is enabled. If enabled, read-only database queries are redirected to a separate read-only datasource details of which are configured via the other | false | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.url/ KB_org_killbill_billing_main_ro_dao_url | The jdbc url for the database | jdbc:h2:file:/var/tmp/killbill;MODE=MYSQL;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;ACCESS_MODE_DATA=r | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.user/ KB_org_killbill_billing_main_ro_dao_user | The jdbc user name for the database | killbill | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.password/ KB_org_killbill_billing_main_ro_dao_password | The jdbc password for the database | killbill | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.minIdle/ KB_org_killbill_billing_main_ro_dao_minIdle | The minimum allowed number of idle connections to the database | 1 | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.maxActive/ KB_org_killbill_billing_main_ro_dao_maxActive | The maximum allowed number of active connections to the database | 100 | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.leakDetectionThreshold/ KB_org_killbill_billing_main_ro_dao_leakDetectionThreshold | Amount of time that a connection can be out of the pool before a message is logged indicating a possible connection leak | 60s | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.connectionTimeout/ KB_org_killbill_billing_main_ro_dao_connectionTimeout | How long to wait before a connection attempt to the database is considered timed out | 10s | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.idleMaxAge/ KB_org_killbill_billing_main_ro_dao_idleMaxAge | The time for a connection to remain unused before it is closed off | 60m | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.maxConnectionAge/ KB_org_killbill_billing_main_ro_dao_maxConnectionAge | Any connections older than this setting will be closed off whether it is idle or not. Connections currently in use will not be affected until they are returned to the pool | 0m | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.idleConnectionTestPeriod/ KB_org_killbill_billing_main_ro_dao_idleConnectionTestPeriod | Time for a connection to remain idle before sending a test query to the DB | 5m | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.prepStmtCacheSize/ KB_org_killbill_billing_main_ro_dao_prepStmtCacheSize | Number of prepared statements that the driver will cache per connection | 500 | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.prepStmtCacheSqlLimit/ KB_org_killbill_billing_main_ro_dao_prepStmtCacheSqlLimit | Maximum length of a prepared SQL statement that the driver will cache | 2048 | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.cachePrepStmts/ KB_org_killbill_billing_main_ro_dao_cachePrepStmts | Enable prepared statements cache | true | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.useServerPrepStmts/ KB_org_killbill_billing_main_ro_dao_useServerPrepStmts | Enable server-side prepared statements | true | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.dataSourceClassName/ KB_org_killbill_billing_main_ro_dao_dataSourceClassName | DataSource class name provided by the JDBC driver, leave null for autodetection | null | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.driverClassName/ KB_org_killbill_billing_main_ro_dao_driverClassName | JDBC driver to use (when dataSourceClassName is null) | null | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.mysqlServerVersion/ KB_org_killbill_billing_main_ro_dao_mysqlServerVersion | MySQL server version | 5.1 | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.logLevel/ KB_org_killbill_billing_main_ro_dao_logLevel | Log level for SQL queries | DEBUG | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.poolingType/ KB_org_killbill_billing_main_ro_dao_poolingType | Connection pooling type | HIKARICP | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.initializationFailFast/ KB_org_killbill_billing_main_ro_dao_initializationFailFast | Whether or not initialization should fail on error immediately | false | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.transactionIsolationLevel/ KB_org_killbill_billing_main_ro_dao_transactionIsolationLevel | Set the default transaction isolation level | TRANSACTION_READ_COMMITTED | Config File/Environment Variable |
RO Database | org.killbill.billing.main.ro.dao.readOnly/ KB_org_killbill_billing_main_ro_dao_readOnly | Whether to put connections in read-only mode | true | Config File/Environment Variable |
Push Notifications | org.killbill.billing.server.notifications.retries/ KB_org_killbill_billing_server_notifications_retries | Delay before which unresolved push notifications should be retried | 15m,30m,2h,12h,1d | Per-Tenant/Config File/Environment Variable |
Catalog | org.killbill.catalog.uri/ KB_org_killbill_catalog_uri | Default Catalog location, either in the classpath or in the filesystem. For multi-tenancy, one should use APIs to load per-tenant catalog | SpyCarAdvanced.xml | Config File/Environment Variable |
Catalog | org.killbill.catalog.loader.threads.pool.nb/ KB_org_killbill_catalog_loader_threads_pool_nb | Number of threads for the XML loader | 1 | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.inMemory/ KB_org_killbill_persistent_bus_${instanceName}_inMemory | Whether the bus should be an in memory bus | false | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.max.failure.retry/ KB_org_killbill_persistent_bus_${instanceName}_max.failure_retry | Number of retries for a given event when an exception occurs | 3 | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.inflight.min/ KB_org_killbill_persistent_bus_${instanceName}_inflight_min | Min number of bus events to fetch from the database at once (only valid in 'STICKY_EVENTS') | 1 | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.inflight.max/ KB_org_killbill_persistent_bus_${instanceName}_inflight_max | Max number of bus events to fetch from the database at once (only valid in 'STICKY_EVENTS') | 100 | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.claimed/ KB_org_killbill_persistent_bus_${instanceName}_claimed | Number of bus events to fetch from the database at once (only valid in 'polling mode') | 10 | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.queue.mode/ KB_org_killbill_persistent_bus_${instanceName}_queue_mode | How entries are put in the queue | STICKY_EVENTS | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.claim.time/ KB_org_killbill_persistent_bus_${instanceName}_claim_time | Claim time | 5m | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.sleep/ KB_org_killbill_persistent_bus_${instanceName}_sleep | Time in milliseconds to sleep between runs (only valid in STICKY_POLLING, POLLING) | 3000 | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.off/ KB_org_killbill_persistent_bus_${instanceName}_off | Whether to turn off the persistent bus | false | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.nbThreads/ KB_org_killbill_persistent_bus_${instanceName}_nbThreads | Max number of dispatch threads to use | 30 | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.lifecycle.dispatch.nbThreads/ KB_org_killbill_persistent_bus_${instanceName}_lifecycle_dispatch_nbThreads | Max number of lifecycle dispatch threads to use | 1 | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.lifecycle.complete.nbThreads/ KB_org_killbill_persistent_bus_${instanceName}_lifecycle_complete_nbThreads | Max number of lifecycle complete threads to use | 2 | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.queue.capacity/ KB_org_killbill_persistent_bus_${instanceName}_queue_capacity | Size of the inflight queue (only valid in STICKY_EVENTS mode) | 30000 | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.tableName/ KB_org_killbill_persistent_bus_${instanceName}_tableName | Bus events table name | bus_events | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.historyTableName/ KB_org_killbill_persistent_bus_${instanceName}_historyTableName | Bus events history table name | bus_events_history | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.reapThreshold/ KB_org_killbill_persistent_bus_${instanceName}_reapThreshold | Time span when the bus event must be re-dispatched | 10m | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.maxReDispatchCount/ KB_org_killbill_persistent_bus_${instanceName}_maxReDispatchCount | Max number of bus events to be re-dispatched at a time | 10 | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.reapSchedule/ KB_org_killbill_persistent_bus_${instanceName}_reapSchedule | Reaper schedule period | 3m | Config File/Environment Variable |
Persistent Bus | org.killbill.persistent.bus.${instanceName}.shutdownTimeout/ KB_org_killbill_persistent_bus_${instanceName}_shutdownTimeout | Shutdown sequence timeout | 15s | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.inMemory/ KB_org_killbill_notificationq_${instanceName}_inMemory | Set to false, not available for NotificationQueue | false | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.max.failure.retry/ KB_org_killbill_notificationq_${instanceName}_max_failure_retry | Number retry for a given event when an exception occurs | 3 | Config File/Environment Variable |
Notification Queue | org.killbill.persistent.bus.${instanceName}.inflight.min/ KB_org_killbill_persistent_bus_${instanceName}_inflight_min | Min number of bus events to fetch from the database at once (only valid in 'STICKY_EVENTS') | -1 | Config File/Environment Variable |
Notification Queue | org.killbill.persistent.bus.${instanceName}.inflight.max/ KB_org_killbill_persistent_bus_${instanceName}_inflight_max | Max number of bus events to fetch from the database at once (only valid in 'STICKY_EVENTS') | -1 | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.claimed/ KB_org_killbill_notificationq_${instanceName}_claimed | Number of notifications to fetch at once | 10 | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.queue.mode/ KB_org_killbill_notificationq_${instanceName}_queue_mode | How entries are put in the queue | STICKY_POLLING | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.claim.time/ KB_org_killbill_notificationq_${instanceName}_claim_time | Claim time | 5m | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.sleep/ KB_org_killbill_notificationq_${instanceName}_sleep | Time in milliseconds to sleep between runs | 3000 | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.notification.off/ KB_org_killbill_notificationq_${instanceName}_notification_off | Whether to turn off the notification queue | false | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.notification.nbThreads/ KB_org_killbill_notificationq_${instanceName}_notification_nbThreads | Number of threads to use | 10 | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.lifecycle.dispatch.nbThreads/ KB_org_killbill_notificationq_${instanceName}_lifecycle_dispatch_nbThreads | Max number of lifecycle dispatch threads to use | 1 | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.lifecycle.complete.nbThreads/ KB_org_killbill_notificationq_${instanceName}_lifecycle_complete_nbThreads | Max number of lifecycle complete threads to use | 2 | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.queue.capacity/ KB_org_killbill_notificationq_${instanceName}_queue_capacity | Capacity for the worker queue | 100 | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.tableName/ KB_org_killbill_notificationq_${instanceName}_tableName | Notifications table name | notifications | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.historyTableName/ KB_org_killbill_notificationq_${instanceName}_historyTableName | Notifications history table name | notifications_history | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.reapThreshold/ KB_org_killbill_notificationq_${instanceName}_reapThreshold | Time span when a notification must be re-dispatched | 10m | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.maxReDispatchCount/ KB_org_killbill_notificationq_${instanceName}_maxReDispatchCount | Max number of notification to be re-dispatched at a time | 10 | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.reapSchedule/ KB_org_killbill_notificationq_${instanceName}_reapSchedule | Reaper schedule period | 3m | Config File/Environment Variable |
Notification Queue | org.killbill.notificationq.${instanceName}.shutdownTimeout/ KB_org_killbill_notificationq_${instanceName}_shutdownTimeout | Shutdown sequence timeout | 15s | Config File/Environment Variable |
Events | org.killbill.billing.server.event.post.type.skip/ KB_org_killbill_billing_server_event_post_type_skip | List of event types to be skipped (not posted) | - | Config File/Environment Variable |
Events | org.killbill.billing.server.event.dispatch.type.skip/ KB_org_killbill_billing_server_event_dispatch_type_skip | List of event types to be skipped (not dispatched internally) | - | Per-Tenant/Config File/Environment Variable |
Events | org.killbill.billing.server.event.bulk.subscription.aggregate/ KB_org_killbill_billing_server_event_bulk_subscription_aggregate | Coming Soon | false | Per-Tenant/Config File/Environment Variable |
Currency | org.killbill.currency.provider.default/ KB_org_killbill_currency_provider_default | Default currency provider to use | killbill-currency-plugin | Config File/Environment Variable |
Broadcast | org.killbill.billing.util.broadcast.rate/ KB_org_killbill_billing_util_broadcast_rate | Rate at which broadcast service task is scheduled | 5s | Config File/Environment Variable |
Jax-rs | org.killbill.jaxrs.threads.pool.nb/ KB_org_killbill_jaxrs_threads_pool_nb | Number of threads for jaxrs executor | 10 | Config File/Environment Variable |
Jax-rs | org.killbill.jaxrs.timeout/ KB_org_killbill_jaxrs_timeout | Total timeout for all callables associated to a given api call (parallel mode) | 30s | Config File/Environment Variable |
Jax-rs | org.killbill.jaxrs.location.full.url/ KB_org_killbill_jaxrs_location_full_url | Type of return for the jaxrs response location URL | true | Config File/Environment Variable |
Jax-rs | org.killbill.jaxrs.location.useForwardHeaders/ KB_org_killbill_jaxrs_location_useForwardHeaders | Whether to respect X-Forwarded headers for redirect URLs | true | Config File/Environment Variable |
Jax-rs | org.killbill.jaxrs.location.host/ KB_org_killbill_jaxrs_location_host | Base host address to use for redirect URLs | null | Config File/Environment Variable |
Jax-rs | org.killbill.jaxrs.get.ro/ KB_org_killbill_jaxrs_get_ro | Whether GET calls should leverage the read-only database connection | true | Config File/Environment Variable |
Tenant | org.killbill.tenant.broadcast.rate/ KB_org_killbill_tenant_broadcast_rate | Rate at which tenant broadcast task is scheduled | 5s | Config File/Environment Variable |
Kill Bill Server | org.killbill.server.multitenant/ KB_org_killbill_server_multitenant | Whether multi-tenancy is enabled | true | Config File/Environment Variable |
Kill Bill Server | org.killbill.server.test.mode/ KB_org_killbill_server_test_mode | Whether to start in test mode | false | Config File/Environment Variable |
Kill Bill Server | org.killbill.server.test.clock.redis/ KB_org_killbill_server_test_clock_redis | Whether Redis integration for the clock is enabled | false | Config File/Environment Variable |
Kill Bill Server | org.killbill.server.test.clock.redis.url/ KB_org_killbill_server_test_clock_redis_url | Redis clock URL | redis://127.0.0.1:6379 | Config File/Environment Variable |
Kill Bill Server | org.killbill.server.test.clock.redis.connectionMinimumIdleSize/ KB_org_killbill_server_test_clock_redis_connectionMinimumIdleSize | Minimum number of connections for the Redis clock | 1 | Config File/Environment Variable |
Kill Bill Server | org.killbill.server.baseUrl/ KB_org_killbill_server_baseUrl | Server base url | Config File/Environment Variable | |
Kill Bill Server | org.killbill.server.region/ KB_org_killbill_server_region | Region or data center where the server is deployed | local | Config File/Environment Variable |
Kill Bill Server | org.killbill.server.http.gzip/ KB_org_killbill_server_http_gzip | Allow Kill Bill to return gzip json when Content-Encoding is set with gzip | false | Config File/Environment Variable |
Kill Bill Server | org.killbill.server.shutdownDelay/ KB_org_killbill_server_shutdownDelay | Shutdown delay before starting shutdown sequence | 0s | Config File/Environment Variable |
Metrics Graphite | org.killbill.metrics.graphite/ KB_org_killbill_metrics_graphite | Whether metrics reporting to Graphite is enabled | false | Config File/Environment Variable |
Metrics Graphite | org.killbill.metrics.graphite.host/ KB_org_killbill_metrics_graphite_host | Graphite Hostname | localhost | Config File/Environment Variable |
Metrics Graphite | org.killbill.metrics.graphite.port/ KB_org_killbill_metrics_graphite_port | Graphite Port | 2003 | Config File/Environment Variable |
Metrics Graphite | org.killbill.metrics.graphite.prefix/ KB_org_killbill_metrics_graphite_prefix | Prefix all metric names with the given string | killbill | Config File/Environment Variable |
Metrics Graphite | org.killbill.metrics.graphite.interval/ KB_org_killbill_metrics_graphite_interval | Reporter polling interval in seconds | 30 | Config File/Environment Variable |
OSGI | org.killbill.osgi.bundle.property.name/ KB_org_killbill_osgi_bundle_property_name | Name of the properties file for OSGI plugins | killbill.properties | Config File/Environment Variable |
OSGI | org.killbill.osgi.root.dir/ KB_org_killbill_osgi_root_dir | Bundles cache area for the OSGI framework | /var/tmp/felix | Config File/Environment Variable |
OSGI | org.killbill.osgi.bundle.cache.name/ KB_org_killbill_osgi_bundle_cache_name | Bundles cache name | osgi-cache | Config File/Environment Variable |
OSGI | org.killbill.osgi.bundle.install.dir/ KB_org_killbill_osgi_bundle_install_dir | Bundles install directory | /var/tmp/bundles | Config File/Environment Variable |
OSGI | org.killbill.osgi.system.bundle.export.packages.api/ KB_org_killbill_osgi_system_bundle_export_packages_api | Kill Bill API packages to export from the system bundle | org.killbill.billing.account.api, org.killbill.billing.analytics.api.sanity, org.killbill.billing.analytics.api.user, org.killbill.billing.beatrix.bus.api, org.killbill.billing.catalog.api, org.killbill.billing.catalog.api.rules, org.killbill.billing.invoice.plugin.api, org.killbill.billing.invoice.api, org.killbill.billing.invoice.api.formatters, org.killbill.billing.entitlement.api, org.killbill.billing, org.killbill.clock, org.killbill.billing.notification.api, org.killbill.billing.notification.plugin.api, org.killbill.billing.notification.plugin, org.killbill.billing.osgi.api, org.killbill.billing.osgi.api.config, org.killbill.billing.overdue, org.killbill.billing.overdue.api, org.killbill.billing.payment.api, org.killbill.billing.payment.plugin.api, org.killbill.billing.control.plugin.api, org.killbill.billing.tenant.api, org.killbill.billing.usage.api, org.killbill.billing.util.api, org.killbill.billing.util.nodes, org.killbill.billing.util.audit, org.killbill.billing.util.callcontext, org.killbill.billing.util.customfield, org.killbill.billing.util.email, org.killbill.billing.util.entity, org.killbill.billing.util.tag, org.killbill.billing.util.template, org.killbill.billing.util.template.translation, org.killbill.billing.currency.plugin.api, org.killbill.billing.catalog.plugin.api, org.killbill.billing.entitlement.plugin.api, org.killbill.billing.currency.api, org.killbill.billing.usage.plugin.api, org.killbill.billing.security, org.killbill.billing.security.api, org.killbill.billing.osgi.libs.killbill, org.joda.time;org.joda.time.format;version=2.9, org.apache.shiro;org.apache.shiro.subject;org.apache.shiro.util;version=1.3, org.slf4j;version=1.7.2, org.slf4j.event;version=1.7.2, org.slf4j.helpers;version=1.7.2, org.slf4j.spi;version=1.7.2, org.osgi.service.log;version=1.3, org.osgi.service.http;version=1.2.0, org.osgi.service.deploymentadmin;version=1.1.0, org.osgi.service.event;version=1.2.0 | Config File/Environment Variable |
OSGI | org.killbill.osgi.system.bundle.export.packages.java/ KB_org_killbill_osgi_system_bundle_export_packages_java | Java extension/platform Packages to export from the system bundle | com.sun.xml.internal.ws, com.sun.xml.internal.ws.addressing, com.sun.xml.internal.ws.addressing.model, com.sun.xml.internal.ws.addressing.policy, com.sun.xml.internal.ws.addressing.v200408, com.sun.xml.internal.ws.api, com.sun.xml.internal.ws.api.addressing, com.sun.xml.internal.ws.api.client, com.sun.xml.internal.ws.api.config.management, com.sun.xml.internal.ws.api.config.management.policy, com.sun.xml.internal.ws.api.fastinfoset, com.sun.xml.internal.ws.api.ha, com.sun.xml.internal.ws.api.handler, com.sun.xml.internal.ws.api.message, com.sun.xml.internal.ws.api.message.stream, com.sun.xml.internal.ws.api.model, com.sun.xml.internal.ws.api.model.soap, com.sun.xml.internal.ws.api.model.wsdl, com.sun.xml.internal.ws.api.pipe, com.sun.xml.internal.ws.api.pipe.helper, com.sun.xml.internal.ws.api.policy, com.sun.xml.internal.ws.api.server, com.sun.xml.internal.ws.api.streaming, com.sun.xml.internal.ws.api.wsdl.parser, com.sun.xml.internal.ws.api.wsdl.writer, com.sun.xml.internal.ws.binding, com.sun.xml.internal.ws.client, com.sun.xml.internal.ws.client.dispatch, com.sun.xml.internal.ws.client.sei, com.sun.xml.internal.ws.config.management.policy, com.sun.xml.internal.ws.developer, com.sun.xml.internal.ws.encoding, com.sun.xml.internal.ws.encoding.fastinfoset, com.sun.xml.internal.ws.encoding.policy, com.sun.xml.internal.ws.encoding.soap, com.sun.xml.internal.ws.encoding.soap.streaming, com.sun.xml.internal.ws.encoding.xml, com.sun.xml.internal.ws.fault, com.sun.xml.internal.ws.handler, com.sun.xml.internal.ws.message, com.sun.xml.internal.ws.message.jaxb, com.sun.xml.internal.ws.message.saaj, com.sun.xml.internal.ws.message.source, com.sun.xml.internal.ws.message.stream, com.sun.xml.internal.ws.model, com.sun.xml.internal.ws.model.soap, com.sun.xml.internal.ws.model.wsdl, com.sun.xml.internal.ws.org.objectweb.asm, com.sun.xml.internal.ws.policy, com.sun.xml.internal.ws.policy.jaxws, com.sun.xml.internal.ws.policy.jaxws.spi, com.sun.xml.internal.ws.policy.privateutil, com.sun.xml.internal.ws.policy.sourcemodel, com.sun.xml.internal.ws.policy.sourcemodel.attach, com.sun.xml.internal.ws.policy.sourcemodel.wspolicy, com.sun.xml.internal.ws.policy.spi, com.sun.xml.internal.ws.policy.subject, com.sun.xml.internal.ws.protocol.soap, com.sun.xml.internal.ws.protocol.xml, com.sun.xml.internal.ws.resources, com.sun.xml.internal.ws.server, com.sun.xml.internal.ws.server.provider, com.sun.xml.internal.ws.server.sei, com.sun.xml.internal.ws.spi, com.sun.xml.internal.ws.streaming, com.sun.xml.internal.ws.transport, com.sun.xml.internal.ws.transport.http, com.sun.xml.internal.ws.transport.http.client, com.sun.xml.internal.ws.transport.http.server, com.sun.xml.internal.ws.util, com.sun.xml.internal.ws.util.exception, com.sun.xml.internal.ws.util.localization, com.sun.xml.internal.ws.util.pipe, com.sun.xml.internal.ws.util.xml, com.sun.xml.internal.ws.wsdl, com.sun.xml.internal.ws.wsdl.parser, com.sun.xml.internal.ws.wsdl.writer, com.sun.xml.internal.ws.wsdl.writer.document, com.sun.xml.internal.ws.wsdl.writer.document.http, com.sun.xml.internal.ws.wsdl.writer.document.soap, com.sun.xml.internal.ws.wsdl.writer.document.soap12, com.sun.xml.internal.ws.wsdl.writer.document.xsd, javax.annotation, javax.management, javax.naming, javax.naming.ldap, javax.net, javax.net.ssl, javax.crypto, javax.crypto.spec, javax.sql, javax.sql.rowset, javax.sql.rowset.serial, javax.transaction, javax.transaction.xa, javax.xml, javax.xml.bind, javax.xml.validation, javax.xml.namespace, javax.xml.parsers, javax.xml.validation, javax.xml.stream, javax.xml.stream.events, javax.xml.stream.util, javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stax, javax.xml.transform.stream, javax.xml.xpath, javax.jws.soap, javax.security, javax.security.cert, com.sun.org, com.sun.org.apache, com.sun.org.apache.xml, com.sun.org.apache.xml.internal, com.sun.org.apache.xml.internal.utils, com.sun.org.apache.xpath, com.sun.org.apache.xpath.internal, com.sun.org.apache.xpath.internal.jaxp, com.sun.org.apache.xpath.internal.objects, org.w3c.dom, org.w3c.dom.bootstrap, org.w3c.dom.events, org.w3c.dom.ls, org.w3c.dom.css, org.w3c.dom.html, org.w3c.dom.ranges, org.w3c.dom.stylesheets, org.w3c.dom.traversal, org.w3c.dom.views, org.xml.sax, org.xml.sax.ext, org.xml.sax.helpers, sun.misc, sun.misc.unsafe, sun.security, sun.security.util, javax.servlet;version=3.1, javax.servlet.http;version=3.1 | Config File/Environment Variable |
OSGI | org.killbill.osgi.system.bundle.export.packages.extra/ KB_org_killbill_osgi_system_bundle_export_packages_extra | Extra packages to export from the system bundle | - | Config File/Environment Variable |
Rbac | org.killbill.rbac.globalSessionTimeout/ KB_org_killbill_rbac_globalSessionTimeout | System-wide default time that any session may remain idle before expiring | 1h | Config File/Environment Variable |
Security | org.killbill.security.shiroResourcePath/ KB_org_killbill_security_shiroResourcePath | Path to the shiro.ini file (classpath, url or file resource) | classpath:shiro.ini | Config File/Environment Variable |
Security | org.killbill.security.shiroNbHashIterations/ KB_org_killbill_security_shiroNbHashIterations | Sets the number of times submitted credentials will be hashed before comparing to the credentials stored in the system | 200000 | Config File/Environment Variable |
Security | org.killbill.security.ldap.userDnTemplate/ KB_org_killbill_security_ldap_userDnTemplate | LDAP server’s User DN format (e.g. uid={0},ou=users,dc=mycompany,dc=com) | Null | Config File/Environment Variable |
Security | org.killbill.security.ldap.dnSearchTemplate/ KB_org_killbill_security_ldap_dnSearchTemplate | LDAP server’s DN search template (e.g. sAMAccountName={0}) for search-then-bind authentication (in case a static DN format template isn’t enough) | Null | Config File/Environment Variable |
Security | org.killbill.security.ldap.searchBase/ KB_org_killbill_security_ldap_searchBase | LDAP search base to use | Null | Config File/Environment Variable |
Security | org.killbill.security.ldap.groupSearchFilter/ KB_org_killbill_security_ldap_groupSearchFilter | LDAP search filter to use to find groups (e.g. memberOf=uid={0},ou=users,dc=mycompany,dc=com) | memberOf=uid={0} | Config File/Environment Variable |
Security | org.killbill.security.ldap.groupNameId/ KB_org_killbill_security_ldap_groupNameId | Group name attribute ID in LDAP | memberOf | Config File/Environment Variable |
Security | org.killbill.security.ldap.permissionsByGroup/ KB_org_killbill_security_ldap_permissionsByGroup | LDAP permissions by LDAP group | admin = :\n" | Config File/Environment Variable |
Security | org.killbill.security.ldap.url/ KB_org_killbill_security_ldap_url | LDAP server url | ldap://127.0.0.1:389 | Config File/Environment Variable |
Security | org.killbill.security.ldap.systemUsername/ KB_org_killbill_security_ldap_systemUsername | LDAP username | Null | Config File/Environment Variable |
Security | org.killbill.security.ldap.systemPassword/ KB_org_killbill_security_ldap_systemPassword | LDAP password | Null | Config File/Environment Variable |
Security | org.killbill.security.ldap.authenticationMechanism/ KB_org_killbill_security_ldap_authenticationMechanism | LDAP authentication mechanism (e.g. DIGEST-MD5) | simple | Config File/Environment Variable |
Security | org.killbill.security.ldap.disableSSLCheck/ KB_org_killbill_security_ldap_disableSSLCheck | Whether to ignore SSL certificates checks | false | Config File/Environment Variable |
Security | org.killbill.security.ldap.followReferrals/ KB_org_killbill_security_ldap_followReferrals | Whether to follow referrals | false | Config File/Environment Variable |
Security | org.killbill.security.okta.url/ KB_org_killbill_security_okta_url | Okta org full url | Null | Config File/Environment Variable |
Security | org.killbill.security.okta.apiToken/ KB_org_killbill_security_okta_apiToken | Okta API token | Null | Config File/Environment Variable |
Security | org.killbill.security.okta.permissionsByGroup/ KB_org_killbill_security_okta_permissionsByGroup | Okta permissions by Okta group | admin = :\n" | Config File/Environment Variable |
Security | org.killbill.security.auth0.url/ KB_org_killbill_security_auth0_url | Auth0 tenant full url | Null | Config File/Environment Variable |
Security | org.killbill.security.auth0.clientId/ KB_org_killbill_security_auth0_clientId | Auth0 application Client ID | Null | Config File/Environment Variable |
Security | org.killbill.security.auth0.clientSecret/ KB_org_killbill_security_auth0_clientSecret | Auth0 application Client Secret | Null | Config File/Environment Variable |
Security | org.killbill.security.auth0.apiIdentifier/ KB_org_killbill_security_auth0_apiIdentifier | Auth0 API identifier | Null | Config File/Environment Variable |
Security | org.killbill.security.auth0.issuer/ KB_org_killbill_security_auth0_issuer | Auth0 JWT expected issuer | Null | Config File/Environment Variable |
Security | org.killbill.security.auth0.audience/ KB_org_killbill_security_auth0_audience | Auth0 JWT expected audience | Null | Config File/Environment Variable |
Security | org.killbill.security.auth0.usernameClaim/ KB_org_killbill_security_auth0_usernameClaim | JWT claim to use as the user name | sub | Config File/Environment Variable |
Security | org.killbill.security.auth0.databaseConnectionName/ KB_org_killbill_security_auth0_databaseConnectionName | Auth0 database connection name | Null | Config File/Environment Variable |
Security | org.killbill.security.auth0.connectTimeout/ KB_org_killbill_security_auth0_connectTimeout | Auth0 client connect timeout | 5s | Config File/Environment Variable |
Security | org.killbill.security.auth0.readTimeout/ KB_org_killbill_security_auth0_readTimeout | Auth0 client read timeout | 60s | Config File/Environment Variable |
Security | org.killbill.security.auth0.requestTimeout/ KB_org_killbill_security_auth0_requestTimeout | Auth0 client request timeout | 60s | Config File/Environment Variable |
Security | org.killbill.security.auth0.allowedClockSkew/ KB_org_killbill_security_auth0_allowedClockSkew | Auth0 JWT allowed clock skew | 60s | Config File/Environment Variable |
Security | org.killbill.security.skipAuthForPlugins/ KB_org_killbill_security_skipAuthForPlugins | Specifies whether authentication should be skipped for plugins | false | Config File/Environment Variable |
Security | killbill.server.ldap/- | Coming Soon | false | System property |
Security | killbill.server.okta/- | Coming Soon | false | System property |
Security | killbill.server.auth0/- | Coming Soon | false | System Property |
Security | killbill.server.rbac/- | Coming Soon | true | System Property |
Cache | org.killbill.catalog.frequentValuesCacheSize/- | Coming Soon | 1000 | System property |
Cache | org.killbill.cache.disabled/ KB_org_killbill_cache_disabled | Caches to be disabled | null | Config File/Environment Variable |
EhCache | org.killbill.cache.config.location/ KB_org_killbill_cache_config_location | Path to Ehcache XML configuration | ehcache.xml | Config File/Environment Variable |
Redis Cache | org.killbill.cache.config.redis/ KB_org_killbill_cache_config_redis | Whether Redis integration for caching is enabled | false | Config File/Environment Variable |
Redis Cache | org.killbill.cache.config.redis.url/ KB_org_killbill_cache_config_redis_url | Redis URL | redis://127.0.0.1:6379 | Config File/Environment Variable |
Redis Cache | org.killbill.cache.config.redis.connectionMinimumIdleSize/ KB_org_killbill_cache_config_redis_connectionMinimumIdleSize | Minimum number of connections | 1 | Config File/Environment Variable |
Redis Cache | org.killbill.cache.config.redis.password/ KB_org_killbill_cache_config_redis_password | Redis Password | Null | Config File/Environment Variable |
Subscription | org.killbill.subscription.align.effectiveDateForExistingSubscriptions/ KB_org_killbill_subscription_align_effectiveDateForExistingSubscriptions | Whether to align the per-plan effectiveDateForExistingSubscriptions with the next per-subscription BCD | false | Per-Tenant/Config File/Environment Variable |
Persistent Bus/Notification Queue Configuration Notes
Note that the Persistence Bus and Notification Queue configuration properties use a substitution parameter called instanceName
. This is because the properties defined here are built to be used across multiple instances. Kill Bill typically uses two persistent buses named main
and external
and one notification queue named main
. Thus, instanceName
needs to be replaced with these instance names while specifying these properties.
Setup Specific Notes
As explained in the Getting Started guide, there are several ways to install Kill Bill. In addition, you may also be using Kill Bill for development/debugging using a standalone setup.
This section provides some setup specific instructions such as location of the default killbill.properties
and so forth.
AWS
In case of an AWS installation, the killbill.properties
is present at the /var/lib/killbill/config/killbill.properties
location.
Docker
In case of a Docker installation, the killbill.properties
file is present at the /var/lib/killbill/killbill.properties
path within the Docker container. You can modify the properties defined here.
Alternatively, you can bind mount your own file, by specifying -v /path/to/killbill.properties:/var/lib/killbill/killbill.properties
when starting your container.
You can also specify configuration properties using individual environment variables as specified in the "Configuration Properties Table" above.
Tomcat/Jetty
In case of a Tomcat Installation, the global configuration properties and system properties need to be specified within the TOMCAT_HOME/conf/catalina.properties
file.
In case of a Standalone Jetty Setup, configuration properties need to be specified within an explicit killbill.properties
file. Its path needs to be specified via the org.killbill.server.properties
Java system property while starting the application as follows:
mvn -Dorg.killbill.server.properties=file:///PROJECT_ROOT/profiles/killbill/src/main/resources/killbill-server.properties
Kaui Configuration
In addition to Kill Bill, Kaui can also be configured via some configuration properties. These can either be set as system properties or environment variables. Note that in case of a Tomcat installation, system properties can be specified in the catalina.properties
file.
The following table lists the Kaui Configuration properties.
Category | Property Name/Environment Variable | Description | Default Value |
---|---|---|---|
Database | kaui.db.adapter/ KAUI_DB_ADAPTER | Specifies the Kaui Database Adapter | mysql2 |
Database | kaui.db.encoding/ KAUI_DB_ENCODING | Specifies the Kaui Database Encoding | utf8 |
Database | kaui.db.database/ KAUI_DB_DATABASE | Specifies the Kaui Database Encoding (only applicable if | /var/tmp/kaui.sqlite3 |
Database | kaui.db.url/ KAUI_DB_URL | Specifies the Kaui Database URL | jdbc:mysql://localhost:3306/kaui?useUnicode=true&useJDBCCompliantTimezoneShift=true& useLegacyDatetimeCode=false&serverTimezone=UTC |
Database | kaui.db.username/ KAUI_DB_USERNAME | Specifies the Kaui Database Username | root |
Database | kaui.db.password/ KAUI_DB_PASSWORD | Specifies the Kaui Database Password | root |
Database | kaui.db.host/ KAUI_DB_HOST | Specifies the Kaui Database Host | None |
Database | kaui.db.port/ KAUI_DB_PORT | Specifies the Kaui Database Port | None |
Database | kaui.db.pool/ KAUI_DB_POOL | Coming Soon | 50 |
Database | kaui.db.timeout/ KAUI_DB_TIMEOUT | Coming Soon | 5000 |
Kill Bill Client | kaui.url/ KILLBILL_URL/KAUI_KILLBILL_URL | Specifies the Kill Bill URL | |
Kill Bill Client | kaui.disable_ssl_verification/ KILLBILL_DISABLE_SSL_VERIFICATION/ KAUI_KILLBILL_DISABLE_SSL_VERIFICATION | Coming Soon | Coming Soon |
Kill Bill Client | kaui.read_timeout/ KILLBILL_READ_TIMEOUT/ KAUI_KILLBILL_READ_TIMEOUT | Coming Soon | 60000 |
Kill Bill Client | kaui.connection_timeout/ KILLBILL_CONNECTION_TIMEOUT/ KAUI_KILLBILL_CONNECTION_TIMEOUT | Coming Soon | 60000 |
Kaui | kaui.demo/ KAUI_DEMO_MODE | Coming Soon | Coming Soon |
Kaui | kaui.plugins_whitelist/ KAUI_PLUGINS_WHITELIST | Coming Soon | None |
Kaui | kaui.root_username/ KAUI_ROOT_USERNAME | Coming Soon | admin |
Kaui | kaui.disable_sign_up_link/ KAUI_DISABLE_SIGN_UP_LINK | Coming Soon | Coming Soon |
Kaui | kaui.chargeback_reason_codes/ KAUI_CHARGEBACK_REASON_CODES | Default reason codes for chargebacks | None |
Kaui | kaui.credit_reason_codes/ KAUI_CREDIT_REASON_CODES | Default reason codes for credits | None |
Kaui | kaui.invoice_item_reason_codes/ KAUI_INVOICE_ITEM_REASON_CODES | Default reason codes for item adjustments | None |
Kaui | kaui.invoice_payment_reason_codes/ KAUI_INVOICE_PAYMENT_REASON_CODES | Coming Soon | None |
Kaui | kaui.payment_reason_codes/ KAUI_PAYMENT_REASON_CODES | Default reason codes for payments | None |
Kaui | kaui.refund_reason_codes/ KAUI_REFUND_REASON_CODES | Default reason codes for refunds | None |
Encryption | kaui.encryption.filename/ KAUI_ENCRYPTION_FILENAME | Coming Soon | config/symmetric-encryption.yml |