Prior to this change, Koji would always send messages with a hard-coded topic:// prefix. This works fine for ActiveMQ 5 and Artemis, but RabbitMQ does not support that syntax. Instead, RabbitMQ brokers expect clients to use topic addresses with a "/topic/" prefix. The RFE for RabbitMQ to support "topic://" prefixes is https://github.com/rabbitmq/rabbitmq-server/issues/2583 In the meantime, allow users to specify "topic://" or "/topic/" explicitly in their configuration. For backwards-compatibility, if the user chose neither "topic://" nor "/topic/", prepend the "topic://" string, preserving the plugin's existing behavior. (Note: ActiveMQ 5 advertises its expected topic:// prefix in the initial connection properties, so we could read that value dynamically, but RabbitMQ and Artemis do not send an expected topic prefix connection properties, so we just make the user choose explicitly here.)
23 lines
678 B
Text
23 lines
678 B
Text
[broker]
|
|
urls = amqps://broker1.example.com:5671 amqps://broker2.example.com:5671
|
|
cert = /etc/koji-hub/plugins/client.pem
|
|
cacert = /etc/koji-hub/plugins/ca.pem
|
|
topic_prefix = topic://koji
|
|
connect_timeout = 10
|
|
send_timeout = 60
|
|
|
|
[message]
|
|
# limit build.extra size which is sent to bus
|
|
# if field is longer (json.dumps), ignore it
|
|
# default value is 0 - unlimited size
|
|
extra_limit = 0
|
|
|
|
[queue]
|
|
# enable persistent database queue
|
|
enabled = true
|
|
# how many messages are picked from db in one call
|
|
# note, that big number can slow requests if there
|
|
# is a huge message backlog (typically after broker outage)
|
|
batch_size = 100
|
|
# how old messages should be stored (hours)
|
|
max_age = 24
|