Files
datawave/docker/config/annotation.yml

222 lines
6.3 KiB
YAML

spring:
cache:
type: caffeine
caffeine:
spec: maximumSize=1000,expireAfterWrite=5m
rabbitmq:
publisher-confirm-type: correlated
publisher-returns: true
cloud:
stream:
rabbit:
bindings:
annotationSource-out-0:
producer:
useConfirmHeader: true
logAnnotationSink-in-0:
consumer:
autoBindDlq: true
accumuloAnnotationSink-in-0:
consumer:
autoBindDlq: true
dumpAnnotationSink-in-0:
consumer:
autoBindDlq: true
bindQueue: false
bindings:
annotationSource-out-0:
destination: 'annotation'
content-type: application/x-protobuf
producer:
errorChannelEnabled: true
logAnnotationSink-in-0:
destination: 'annotation'
content-type: application/x-protobuf
group: 'log'
accumuloAnnotationSink-in-0:
destination: 'annotation'
content-type: application/x-protobuf
group: 'accumulo'
dumpAnnotationSink-in-0:
destination: 'annotation'
content-type: application/x-protobuf
group: 'dump'
consumer:
concurrency: 5
jackson:
default-property-inclusion: non-null
deserialization:
fail-on-unknown-properties: false
hazelcast:
client:
# Annotation has no distributed cache state; all roles use local caches.
enabled: false
annotation:
# Activate exactly one of api, writer, or combined.
# The matching Config Server overlay is required.
system-from: "datawave-annotation-service"
health:
rabbit:
enabled: true
attemptRecovery: true
fixMissing: true
fixInvalid: true
# Both roles require the persistence route, even while no writer is running.
# Keep these lists aligned with the required stream destinations/groups.
# Deployment overrides replace lists; include every required route.
queues:
- name: 'annotation.accumulo'
durable: true
exclusive: false
autoDelete: false
arguments:
'x-dead-letter-exchange': 'DLX'
'x-dead-letter-routing-key': 'annotation.accumulo'
- name: 'annotation.accumulo.dlq'
durable: true
exclusive: false
autoDelete: false
exchanges:
- name: 'annotation'
type: 'topic'
durable: true
autoDelete: false
internal: false
delayed: false
- name: 'DLX'
type: 'direct'
durable: true
autoDelete: false
internal: false
delayed: false
bindings:
- destination: 'annotation.accumulo'
destinationType: 'queue'
source: 'annotation'
routingKey: '#'
- destination: 'annotation.accumulo.dlq'
destinationType: 'queue'
source: 'DLX'
routingKey: 'annotation.accumulo'
cluster:
expectedNodes: 1
failIfNodeMissing: true
numChecksBeforeFailure: 3
management:
scheme: 'http'
host: 'rabbitmq'
port: 15672
uri: '/api/'
annotationAckEnabled: true
# The maximum amount of queries we support before reporting Unready
maxConnections: 40
# By default, query content cloud - set cluster specific config overrides
annotationTableName: 'datawave.annotation'
annotationSourceTableName: 'datawave.annotationSource'
connPoolName: 'WAREHOUSE'
priority: 'NORMAL'
enableInternalIdLookup: 'true'
lookup:
datawave-query-host: "webservice:8443"
datawave-response-classes:
- "datawave.webservice.result.GenericResponse"
- "datawave.webservice.result.VoidResponse"
- "datawave.webservice.result.DefaultEventQueryResponse"
annotation-unknown-fields-ignores: true
writers:
log:
enabled: false
accumulo:
enabled: true
health:
enabled: true
accumuloConfig:
zookeepers: '${accumulo.zookeepers}'
instanceName: '${accumulo.instanceName}'
username: '${accumulo.username}'
password: '${accumulo.password}'
file:
# Direct API fallback on publish failure; disabled automatically in the writer role.
enabled: true
pathUri: 'file:///annotation'
dump:
# Queue-driven file output in writer/combined mode; provision its queue (bindQueue: false).
enabled: false
pathUri: 'file:///annotation-dump'
datawave:
swagger:
title: "Annotation Service"
description: "REST API provided by the Annotation Service"
metadata:
all-metadata-auths:
- PRIVATE,PUBLIC
type-substitutions:
"[datawave.data.type.DateType]": "datawave.data.type.RawDateType"
connection:
factory:
defaultPoolName: "WAREHOUSE"
pools:
"WAREHOUSE":
zookeepers: '${accumulo.zookeepers}'
instance: '${accumulo.instanceName}'
username: '${accumulo.username}'
password: '${accumulo.password}'
lowPriorityPoolSize: 40
normalPriorityPoolSize: 40
highPriorityPoolSize: 40
adminPriorityPoolSize: 40
server:
ssl:
client-auth: NEED
# Authorization requires a client certificate - this will be used when running from the dev
#server:
# port: 8748
# non-secure-port: 8780
# servlet:
# context-path: /annotation
# outbound-ssl:
# key-store: ${server.ssl.key-store}
# key-store-password: ${server.ssl.key-store-password}
# key-store-type: ${server.ssl.key-store-type}
# trust-store: ${server.ssl.trust-store}
# trust-store-password: ${server.ssl.trust-store-password}
# trust-store-type: ${server.ssl.trust-store-type}
#
#management:
# endpoints:
# web:
# base-path: "/mgmt"
#
#app:
# packages: datawave.microservice
swagger:
doc:
packages: datawave.microservice.annotation
springdoc:
api-docs:
path: /apidocs
show-actuator: true
writer-with-default-pretty-printer: true
swagger-ui:
docExpansion: 'none'
operationsSorter: 'method'
tagsSorter: 'alpha'
logging:
level:
root: INFO
datawave.microservice.annotation: DEBUG
datawave.microservice.annotation.health.rabbit: TRACE
org.apache.zookeeper: INFO
org.apache.accumulo: ERROR
org.springframework.messaging: INFO
org.springframework.amqp: INFO