Skip to content

Commit 13b376d

Browse files
Policies: cover policy overrides
1 parent 1546d0d commit 13b376d

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

versioned_docs/version-4.1/policies.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,56 @@ PUT /api/policies/%2f/ttl-fed
374374
By doing that all the queues matched by the pattern "^tf\\." will have the `"federation-upstream-set"`
375375
and the policy definitions applied to them.
376376

377+
## Declaring an Override (a Temporary Overriding Policy) {#override}
378+
379+
[`rabbitmqadmin`](./management-cli) can be used to declare an override, or an overriding policy.
380+
381+
This is a policy that applies to the same set of objects (e.g. queues) as an existing policy
382+
but contains a different definition and a higher priority (by 100, to be exact).
383+
384+
Overriding policies are meant to be short-lived, for example, to enable queue federation
385+
during the final stage of a [Blue/Green cluster migration](./blue-green-upgrade/).
386+
387+
The following example uses `rabbitmqadmin policies declare_override` to override a policy
388+
named "pol.1" and injects a [queue federation](./federated-queues)-related key.
389+
390+
<Tabs groupId="examples">
391+
<TabItem value="bash" label="bash" default>
392+
```bash
393+
rabbitmqadmin --vhost 'vh.1' policies declare_override --name 'pol.1' --definition '{"federation-upstream-set": "all"}'
394+
```
395+
</TabItem>
396+
397+
<TabItem value="PowerShell" label="PowerShell">
398+
```PowerShell
399+
rabbitmqadmin --vhost "vh.1" policies declare_override --name "pol.1" --definition "{""federation-upstream-set"": ""all""}"
400+
```
401+
</TabItem>
402+
</Tabs>
403+
404+
Overrides prefix original policy names with `"overrides."` and truncate the result
405+
at 255 bytes, the policy name length limit.
406+
407+
Deleting an overriding policy is no different from deleting any other policy.
408+
Use `rabbitmqadmin policies delete --name [override policy name]`
409+
410+
411+
<Tabs groupId="examples">
412+
<TabItem value="bash" label="bash" default>
413+
```bash
414+
rabbitmqadmin --vhost 'vh.1' policies delete --name 'overrides.pol.1'
415+
```
416+
</TabItem>
417+
418+
<TabItem value="PowerShell" label="PowerShell">
419+
```PowerShell
420+
rabbitmqadmin --vhost "vh.1" policies delete --name "overrides.pol.1"
421+
```
422+
</TabItem>
423+
</Tabs>
424+
425+
426+
377427
## Operator Policies {#operator-policies}
378428

379429
### Difference From Regular Policies {#why-operator-policies-exist}

0 commit comments

Comments
 (0)