Skip to content

Commit d11f42c

Browse files
committed
Add advanced settings
1 parent 50064e8 commit d11f42c

File tree

1 file changed

+72
-7
lines changed

1 file changed

+72
-7
lines changed

articles/iot-operations/manage-mqtt-broker/howto-configure-availability-scale.md

Lines changed: 72 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,12 +135,77 @@ kubectl apply -f <path-to-yaml-file>
135135

136136
## Configure MQTT broker advanced settings
137137

138-
| Name | Type | Default Value | Description |
139-
|------------------------|-------------------------|---------------|----------------------------------------------------------------|
140-
| clients | ClientConfig | | Configurations related to All Clients. |
141-
| encryptInternalTraffic | Encrypt | Enabled | The setting to enable or disable encryption of internal Traffic. |
142-
| internalCerts | CertManagerCertOptions | | Certificate rotation and private key configuration. |
143-
| tolerations | NodeTolerations | | The details of Tolerations that are applied to all Broker pods.|
138+
The following table lists the properties of the broker advanced settings that include client configurations, encryption of internal traffic, certificate rotation, and node tolerations.
139+
140+
| Name | Type | Description |
141+
|-------------------------------------|--------------------------|-----------------------------------------------------------------------------|
142+
| clients | ClientConfig | Configurations related to all clients |
143+
| clients.maxKeepAliveSeconds | `integer` | Upper bound of a client's keep alive, in seconds |
144+
| clients.maxMessageExpirySeconds | `integer` | Upper bound of message expiry interval, in seconds |
145+
| clients.maxReceiveMaximum | `integer` | Upper bound of receive maximum that a client can request in the CONNECT packet |
146+
| clients.maxSessionExpirySeconds | `integer` | Upper bound of session expiry interval, in seconds |
147+
| clients.subscriberQueueLimit | `SubscriberQueueLimit` | The limit on the number of queued messages for a subscriber |
148+
| clients.subscriberQueueLimit.length | `integer` | The maximum length of the queue before messages are dropped |
149+
| clients.subscriberQueueLimit.strategy | `SubscriberMessageDropStrategy` | The strategy for dropping messages from the queue |
150+
| clients.subscriberQueueLimit.strategy.DropOldest | `string` | The oldest message is dropped |
151+
| clients.subscriberQueueLimit.strategy.None | `string` | Messages are never dropped |
152+
| encryptInternalTraffic | Encrypt | The setting to enable or disable encryption of internal traffic |
153+
| encryptInternalTraffic.Disabled | `string` | Disable internal traffic encryption |
154+
| encryptInternalTraffic.Enabled | `string` | Enable internal traffic encryption |
155+
| internalCerts | CertManagerCertOptions | Certificate rotation and private key configuration |
156+
| internalCerts.duration | `string` | Lifetime of certificate. Must be specified using a *Go* *time.Duration* format (h|m|s). For example, 240h for 240 hours and 45m for 45 minutes. |
157+
| internalCerts.privateKey | `CertManagerPrivateKey` | Configuration of certificate private key |
158+
| internalCerts.renewBefore | `string` | Duration before renewing a certificate. Must be specified using a *Go* *time.Duration* format (h|m|s). For example, 240h for 240 hours and 45m for 45 minutes. |
159+
| internalCerts.privateKey.algorithm | PrivateKeyAlgorithm | Algorithm for private key |
160+
| internalCerts.privateKey.rotationPolicy | PrivateKeyRotationPolicy | Cert-manager private key rotation policy |
161+
| internalCerts.privateKey.algorithm.Ec256 | `string`| Algorithm - EC256 |
162+
| internalCerts.privateKey.algorithm.Ec384 | `string`| Algorithm - EC384 |
163+
| internalCerts.privateKey.algorithm.Ec521 | `string`| Algorithm - EC521 |
164+
| internalCerts.privateKey.algorithm.Ed25519 | `string`| Algorithm - Ed25519|
165+
| internalCerts.privateKey.algorithm.Rsa2048 | `string`| Algorithm - RSA2048|
166+
| internalCerts.privateKey.algorithm.Rsa4096 | `string`| Algorithm - RSA4096|
167+
| internalCerts.privateKey.algorithm.Rsa8192 | `string`| Algorithm - RSA8192|
168+
| internalCerts.privateKey.rotationPolicy.Always | `string`| Always rotate key |
169+
| internalCerts.privateKey.rotationPolicy.Never | `string`| Never rotate key |
170+
| tolerations | NodeTolerations | The details of tolerations that are applied to all *Broker* pods |
171+
| tolerations.effect | `string` | Toleration effect |
172+
| tolerations.key | `string` | Toleration key |
173+
| tolerations.operator | `TolerationOperator` | Toleration operator. For example, "Exists" or "Equal". |
174+
| tolerations.value | `string` | Toleration value |
175+
| tolerations.operator.Equal | `string` | Equal operator |
176+
| tolerations.operator.Exists | `string` | Exists operator |
177+
178+
Here's an example of a *Broker* with advanced settings:
179+
180+
```yml
181+
apiVersion: mq.iotoperations.azure.com/v1beta1
182+
kind: Broker
183+
metadata:
184+
name: broker
185+
namespace: azure-iot-operations
186+
spec:
187+
advanced:
188+
clients:
189+
maxSessionExpirySeconds: 282277
190+
maxMessageExpirySeconds: 1622
191+
subscriberQueueLimit:
192+
length: 1000
193+
strategy: DropOldest
194+
maxReceiveMaximum: 15000
195+
maxKeepAliveSeconds: 300
196+
encryptInternalTraffic: Enabled
197+
internalCerts:
198+
duration: 240h
199+
renewBefore: 45m
200+
privateKey:
201+
algorithm: Rsa2048
202+
rotationPolicy: Always
203+
tolerations:
204+
effect: string
205+
key: string
206+
operator: Equal
207+
value: string
208+
```
144209
145210
## Configure MQTT broker diagnostic settings
146211
@@ -170,7 +235,7 @@ If you don't specify settings, default values are used. The following table show
170235
| `probeImage` | true | String |mcr.microsoft.com/azureiotoperations/diagnostics-probe:0.4.0-preview | Image used for self check |
171236

172237

173-
Here's an example of a Broker CR with metrics and tracing enabled and self-check disabled:
238+
Here's an example of a *Broker* custom resource with metrics and tracing enabled and self-check disabled:
174239

175240
```yml
176241
apiVersion: mq.iotoperations.azure.com/v1beta1

0 commit comments

Comments
 (0)