Skip to Content
EngineProperties

Properties

Properties provide named string values to Kubling’s template parser. They can be defined for the whole application or for one data source.

Application-wide properties

The application configuration supports inline properties and an external properties file:

properties: REGION: "eu-west" API_BASE_URL: "https://api.example.com" propertiesFilePath: "/etc/kubling/runtime.properties"

Application-wide values are combined in this order, from lowest to highest precedence:

  1. Inline properties
  2. Environment variables
  3. Values loaded from propertiesFilePath

The properties file uses the standard key=value format:

REGION=eu-central API_BASE_URL=https://api.internal.example.com

Blank lines and lines beginning with # are ignored. Whitespace around the key and value is also ignored.

The main application configuration is parsed before its inline and file-based properties are loaded. Use environment variables for templates inside that file. The resulting application properties are available to configuration templates loaded later.

Do not commit credentials in inline properties or properties files. Inject them through the deployment platform’s environment or secret-mount mechanism.

Data source properties

dataSources[].properties adds values to one data source’s template context. These values override application-wide properties with the same name when Kubling parses that data source’s external configuration.

dataSources: - name: inventory dataSourceType: PROVIDER_GRPC properties: PROVIDER_HOST: inventory-provider config: "bundle:inventory-provider.yaml"

The referenced configuration can then use the value directly:

address: "{{ PROVIDER_HOST }}" port: 50051

Use config when data source-scoped interpolation is required. configObject is already part of the VDB document and is not parsed again with the data source’s property scope.

Schema properties

dataSources[].schema.properties carries values that belong to the schema model rather than to the connection configuration:

schema: type: PHYSICAL properties: catalog: inventory ddlFilePaths: - "bundle:inventory.ddl"

Schema DDL templates access these values through the schema object, for example {{ schema.properties.catalog }}. This keeps a shared DDL file independent from one deployment’s schema values.

Last updated on