# Class ServiceBindingPropertySource

java.lang.Object
org.apache.tomcat.util.digester.ServiceBindingPropertySource

All Implemented Interfaces:
  `IntrospectionUtils.PropertySource`

public class ServiceBindingPropertySource extends Object implements IntrospectionUtils.PropertySource
A `IntrospectionUtils.PropertySource` that uses Kubernetes service bindings to resolve expressions.

The Kubernetes service binding specification can be found at https://servicebinding.io/.

Usage example:

Configure the certificate with a service binding. When the service binding is constructed as follows:

        $SERVICE_BINDING_ROOT/
                             /custom-certificate/
                                                /keyFile
                                                /file
                                                /chainFile
                                                /keyPassword

         <SSLHostConfig>
               <Certificate certificateKeyFile="${custom-certificate.keyFile}"
                            certificateFile="${custom-certificate.file}"
                            certificateChainFile="${custom-certificate.chainFile}"
                            certificateKeyPassword="${chomp:custom-certificate.keyPassword}"
                            type="RSA" />
         </SSLHostConfig>

The optional `chomp:` prefix will cause the ServiceBindingPropertySource to trim a single newline (`\r\n`, `\r`, or `\n`) from the end of the file, if it exists. This is a convenience for hand-edited files/values where removing a trailing newline is difficult, and trailing whitespace changes the meaning of the value.

How to configure:

       echo "org.apache.tomcat.util.digester.PROPERTY_SOURCE=org.apache.tomcat.util.digester.ServiceBindingPropertySource" >> conf/catalina.properties

or add this to `CATALINA_OPTS`

       -Dorg.apache.tomcat.util.digester.PROPERTY_SOURCE=org.apache.tomcat.util.digester.ServiceBindingPropertySource

NOTE: When configured the PropertySource for resolving expressions from system properties is still active.

See Also:
  - `Digester`
  - Tomcat Configuration Reference System Properties

## Constructor Summary

Constructors
Constructor
Description
`ServiceBindingPropertySource()`

## Method Summary

Modifier and Type
Method
Description
`String`
`getProperty(String key)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ServiceBindingPropertySource

public ServiceBindingPropertySource()

## Method Details

### getProperty

public String getProperty(String key)

Specified by:
  `getProperty` in interface `IntrospectionUtils.PropertySource`