Appendices

Appendix A: Hawaii application properties

Various properties can be specified inside your application.properties/application.yml file or as command line switches. This section provides a list of available Hawaii application properties.

# ===================================================================
# HAWAII PROPERTIES
#
# This sample file is provided as a guideline. Do NOT copy it in its
# entirety to your own application.               ^^^
# ===================================================================

# HAWAII SPRING BOOT DEFAULTS
   spring:
     jackson:
       date-format: com.fasterxml.jackson.databind.util.ISO8601DateFormat
       property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
       serialization:
         indent-output: false
         write-dates-as-timestamps: false
         write-date-timestamps-as-nanoseconds: false
   logging:
     level:
       org.hawaiiframework: INFO
       org.springframework: INFO
   hawaii:
     time:
       # Enable creation of the `HawaiiTime` bean.
       enabled: true
       # The timezone to use like `UTC`, `Europe/Amsterdam` or `GMT+1`.
       timezone: UTC
     async:
       # location of the Hawaii async configuration file
       configuration: ./config/async-config.yml
     logging:
       opentracing:
         # Must set explicitly to false if opentracing is not required. If the property is not present, the default is "enabled = true".
         enabled: true
       # For console logging, the allowed content types, empty means allow all,
       # including binary files, so not a good idea.
       allowed-content-types:
       - application/json
       - text/plain
       - text/xml
       - application/vnd.spring-boot.actuator.v1+json
       - application/vnd.spring-boot.actuator.v3+json
       fields-to-mask:
         - password
         - keyPassphrase
       filters:
         kibana-log-cleanup:
           enabled: true
           order: -900
         request-duration:
           enabled: true
           order: -800
         software-version:
           enabled: true
           order: -792
         container-name:
           enabled: true
           order: -791
           http-header: X-Hawaii-Hostname
           hostname: ${HOSTNAME:localhost}
         oidc:
           # Must set explicitly to false if oidc is not required. If the property is not present, the default is "enabled = true".
           enabled: true
           order: -790
         opentracing-response:
           # Must set explicitly to false if opentracing is not required. If the property is not present, the default is "enabled = true".
           enabled: true
           order: -790
         open-telemetry-response:
           # Must set explicitly to false if open telemetry is not required. If the property is not present, the default is "enabled = true".
           enabled: true
           order: -790
           http-header: ${OPEN_TELEMETRY_TRACE_ID_HEADER:trace-id}
         client-ip-log:
           # Must set explicitly to false if client ip logging is not required. If the property is not present, the default is "enabled = true".
           enabled: true
           order: -700
           http-header: X-Hawaii-Frontend-IP-Address
         transaction-type:
           # Must set explicitly to false if client ip logging is not required. If the property is not present, the default is "enabled = true".
           enabled: true
           order: -600
         business-transaction-id:
           # Must set explicitly to false if client ip logging is not required. If the property is not present, the default is "enabled = true".
           enabled: true
           order: -500
           http-header: X-Hawaii-Business-Tx-Id
         transaction-id:
           # Must set explicitly to false if client ip logging is not required. If the property is not present, the default is "enabled = true".
           enabled: true
           order: -500
           http-header: X-Hawaii-Tx-Id
         request-id:
           # Must set explicitly to false if client ip logging is not required. If the property is not present, the default is "enabled = true".
           enabled: true
           order: -400
           http-header: X-Hawaii-Request-Id
         request-response:
           # Must set explicitly to false if client ip logging is not required. If the property is not present, the default is "enabled = true".
           enabled: true
           order: -300

         user-details:
           enabled: true
           order: 110