From 48abf9b7f95e3d2c981d07af4281fc2073810ced Mon Sep 17 00:00:00 2001 From: stephane brossier Date: Mon, 29 Sep 2025 16:31:06 -0700 Subject: [PATCH 1/3] aviate health config: Draft doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TODO • Rethink the naming of the groups - i.e. 'Default properties', 'Default system properties' and 'System properties' is confusing Do we need 2 or 3 categories? • Implement/document and precedence algorithm as described in https://github.com/killbill/technical-support/issues/216 --- userguide/aviate/aviate-health.adoc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/userguide/aviate/aviate-health.adoc b/userguide/aviate/aviate-health.adoc index 096d9b158..25b3b90d4 100644 --- a/userguide/aviate/aviate-health.adoc +++ b/userguide/aviate/aviate-health.adoc @@ -93,6 +93,21 @@ The metrics exposed by the Aviate plugin can mainly be categorized in the follow |=== +=== Runtime Properties + +Properties can be specified to configure the Kill Bill system including its plugins. The following https://docs.killbill.io/latest/userguide_configuration#configuration_properties_table[documentation] shows the main configuration properties. + + +The values for these properties can come from a number of sources: + +* Default properties # properties set by Kill Bill system +* Default system properties # e.g. `user.timezone` set to `GMT` +* System properties - either specified as a `-D=` or through a system property file identified by `-Dorg.killbill.server.properties=` +* Environment variable, using the `KB_org_*` syntax +* Per-tenant config # Override of specific system properties on a per tenant level + +This flexibility is offered by default and it allows to adopt different deployment models along with a fine grained granularity at the tenant level. However, to make it easier to understand the runtime values of these properties, we have created the endpoint `/v1/health/config`: It provides the view of what the syystem is running along with the required information about where each property value comes from. + === Queue Metrics Queue metrics can be used to assess the health of the Kill Bill internal queues. From ec68b2eee1936de7d6d680afdef58923c4236954 Mon Sep 17 00:00:00 2001 From: stephane brossier Date: Fri, 2 Jan 2026 18:16:31 -0800 Subject: [PATCH 2/3] aviate health: Update section on runtime properties --- userguide/aviate/aviate-health.adoc | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/userguide/aviate/aviate-health.adoc b/userguide/aviate/aviate-health.adoc index 25b3b90d4..ce8213cc2 100644 --- a/userguide/aviate/aviate-health.adoc +++ b/userguide/aviate/aviate-health.adoc @@ -98,15 +98,16 @@ The metrics exposed by the Aviate plugin can mainly be categorized in the follow Properties can be specified to configure the Kill Bill system including its plugins. The following https://docs.killbill.io/latest/userguide_configuration#configuration_properties_table[documentation] shows the main configuration properties. -The values for these properties can come from a number of sources: +The values for these properties can come from a number of sources and the system will evaluate based on the following order: -* Default properties # properties set by Kill Bill system -* Default system properties # e.g. `user.timezone` set to `GMT` -* System properties - either specified as a `-D=` or through a system property file identified by `-Dorg.killbill.server.properties=` -* Environment variable, using the `KB_org_*` syntax -* Per-tenant config # Override of specific system properties on a per tenant level +* Immutable system properties: Properties set by the Kill Bill system - e.g. `user.timezone` set to `GMT` +* Tenant configurations: Properties that have been overriden on a per-tenant level +* Environment variables: Environment variables that have been set using the `KB_org_*` syntax +* Runtime configurations: Properties that can be specified as a system property using the `-D=` syntax or through a system property file identified by the system property `-Dorg.killbill.server.properties=` +* Default property values: Default values if non of the above overrode the default value + +This flexibility is offered by default and it allows to adopt different deployment models along with a fine grained granularity at the tenant level. However, to make it easier to understand the runtime values of these properties, we have created the endpoint `/v1/health/config`: It provides the view of what the system is running along with the required information about where each property value comes from. -This flexibility is offered by default and it allows to adopt different deployment models along with a fine grained granularity at the tenant level. However, to make it easier to understand the runtime values of these properties, we have created the endpoint `/v1/health/config`: It provides the view of what the syystem is running along with the required information about where each property value comes from. === Queue Metrics From 32e1d1fa7dc46d6057ad2c87e58270801b83af86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Brossier?= Date: Fri, 2 Jan 2026 18:22:43 -0800 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- userguide/aviate/aviate-health.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/userguide/aviate/aviate-health.adoc b/userguide/aviate/aviate-health.adoc index ce8213cc2..ddaef4e28 100644 --- a/userguide/aviate/aviate-health.adoc +++ b/userguide/aviate/aviate-health.adoc @@ -101,10 +101,10 @@ Properties can be specified to configure the Kill Bill system including its plug The values for these properties can come from a number of sources and the system will evaluate based on the following order: * Immutable system properties: Properties set by the Kill Bill system - e.g. `user.timezone` set to `GMT` -* Tenant configurations: Properties that have been overriden on a per-tenant level +* Tenant configurations: Properties that have been overridden on a per-tenant level * Environment variables: Environment variables that have been set using the `KB_org_*` syntax * Runtime configurations: Properties that can be specified as a system property using the `-D=` syntax or through a system property file identified by the system property `-Dorg.killbill.server.properties=` -* Default property values: Default values if non of the above overrode the default value +* Default property values: Default values if none of the above overrode the default value This flexibility is offered by default and it allows to adopt different deployment models along with a fine grained granularity at the tenant level. However, to make it easier to understand the runtime values of these properties, we have created the endpoint `/v1/health/config`: It provides the view of what the system is running along with the required information about where each property value comes from.