messagebroker

<messageBroker
>
required

Configuration for Cadenza message broker

<messageBrokerDiscoveryPort
>
required
integer

Port for the cluster discovery process. It must be ensured that the port is available (i.e. not already occupied) and not blocked by firewall rules. If Cadenza is operated on Kubernetes, the same port must be used on all replicas (`kubernetesDiscovery`).

</messageBrokerDiscoveryPort>
<messageBrokerCommunicationPort
>
required
integer

Port for communication between the Cadenza instances. It must be ensured that the port is available (i.e. not already in use) and not blocked by firewall rules.

</messageBrokerCommunicationPort>
<addressMappings
>
optional
<addressMapping
xsd:string
from
optional
=
string

The from part of the AddressMapping (must be unique)

to
optional
=
string

The to part of the AddressMapping

>
requiredmax. unbounded
</addressMapping>
</addressMappings>
Choice: Choose only ONE of the following
<tcpDiscovery
>
optional

Can be used in deployment scenarios with fixed list of cluster members, where all host addresses are known upfront. Recommended for VM deployments.

<clusterMembers
>
required
<member
>
requiredmax. unbounded

Details of a single cluster member.

<host
>
required
string

Host address in one of the forms: - IPv4 address (e.g. 127.0.0.1) - hostname (e.g. cadenza.disy.net) - IPv6 address. IP address should be enclosed by square brackets, as suggested in RFC2732 (e.g. [2001:db8:4006:812::200e])

</host>
<port
>
required
integer

Discovery port of the cluster member. This is the `messageBrokerDiscoveryPort` parameter for each cluster member.

</port>
</member>
</clusterMembers>
<minimalAmountOfAvailableNodes
>
optional
integer

Defines minimal amount of nodes that should be available in the cluster. In case cluster size is lower than provided number, then all instances will be marked as unhealthy in status endpoint. The recommended value can be calculated with formula n/2 + 1, where n is the total amount of nodes in the cluster. Provided value should be bigger than 1.

</minimalAmountOfAvailableNodes>
</tcpDiscovery>
<multicastDiscovery
>
optional

Enables multicast node discovery. Joining node will send the request to configured multicastAddress. All nodes that will answer to this request will form a cluster. Recommended to use in private secured networks.

<multicastAddress
>
required
string

IP address for multicast discovery. Both IPv4 and IPv6 are supported.

</multicastAddress>
<minimalAmountOfAvailableNodes
>
optional
integer

Defines minimal amount of nodes that should be available in the cluster. In case cluster size is lower than provided number, then all instances will be marked as unhealthy in status endpoint. The recommended value can be calculated with formula n/2 + 1, where n is the total amount of nodes in the cluster. Provided value should be bigger than 1.

</minimalAmountOfAvailableNodes>
</multicastDiscovery>
<kubernetesDiscovery
>
optional

Enables node auto-discovery in Kubernetes deployments. Requires additional service, which exposes configured messageBrokerPort.

<serviceName
>
required
string

Name of the Kubernetes service used for cadenza deployment.

</serviceName>
<apiServerUrl
>
optional
string

Kubernetes api server url e.g. https://kubernetes.default.svc.cluster.local (default).

Default: https://kubernetes.default.svc.cluster.local

</apiServerUrl>
<deploymentName
>
required
string

Name of kuberenetes deployment used to deploy Cadenza. It is needed to fetch amount of replicas for purpose of cluster state validation.

</deploymentName>
</kubernetesDiscovery>
Choice End
<TlsConfiguration
>
optional

Activation of TLS 1.3 for cluster-internal communication. If SSL/TLS termination takes place on the Cadenza instances, this existing certificate store (jks) or the certificates can also be used for the message broker system. If you need support with the generation of certificates, please contact us.

<keyStoreFilePath
>
required
string

File path to a JKS store, which contains the TLS certificate and the corresponding private key for the Cadenza instance.

</keyStoreFilePath>
<keyStorePassword
>
required
string

Encoded password to keyStore.

</keyStorePassword>
<trustStoreFilePath
>
required
string

File path to a JKS store that contains the trusted TLS certificates of the other Cadenza instances.

</trustStoreFilePath>
<trustStorePassword
>
required
string

Encoded password to trust store.

</trustStorePassword>
</TlsConfiguration>
</messageBroker>