Skip to content

Commit 986c3af

Browse files
docs: clarify Header based routing process (#153)
Signed-off-by: Kostis (Octopus Deploy) <[email protected]>
1 parent dc25c72 commit 986c3af

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

docs/features/header-based-routing.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,17 +97,19 @@ spec:
9797
9898
This manifest instructs Argo Rollouts to do the following:
9999
100-
1. Create 2 **brand new** HTTP routes called `canary-route1` and `canary-route2`
101-
1. The first route will be created on the fly when the canary is at 10% traffic. The second when the canary is at 50% traffic.
102-
1. These routes will be cloned/copied from the provided `argo-rollouts-http-route`
103-
1. Both of these 2 routes will always point to the canary pods
104-
1. All requests with an HTTP header `X-Canary-start: ten-per-cent` will be sent to the first route while all requests with an http header `X-Canary-middle:half-traffic` will be sent to the second route
100+
1. Create 2 brand new rules called `canary-route1` and `canary-route2` **on the existing HTTPRoute**
101+
1. The first rule/match will be created on the fly when the canary is at 10% traffic. The second when the canary is at 50% traffic.
102+
1. These rules/matches will be cloned/copied from the provided `argo-rollouts-http-route` rule
103+
1. Both of these 2 rules/matches will always point to the canary pods
104+
1. All requests with an HTTP header `X-Canary-start: ten-per-cent` will be sent to the first rule while all requests with an http header `X-Canary-middle:half-traffic` will be sent to the second rule.
105105

106-
Notice that the route names used for headers in `setHeaderRoute` must also be defined in the `managedRoutes` block as well.
106+
Notice that the rule names used for headers in `setHeaderRoute` must also be defined in the `managedRoutes` block as well.
107107

108108
Now when the canary reaches 10% an extra route will be created that uses the `X-Canary-start` header with value `ten-per-cent`. When the canary reaches 50% a different header route will be created. At the end of the canary all header routes are discarded.
109109

110-
These smart routes will be created by Argo Rollouts and will be destroyed automatically when the rollout has finished. In your manifests you only need to provide the `argo-rollouts-http-route` definition. See also the [HTTP routing](https://gateway-api.sigs.k8s.io/guides/http-routing/) documentation.
110+
These smart rules will be created by Argo Rollouts and will be destroyed automatically when the rollout has finished. In your manifests you only need to provide the `argo-rollouts-http-route` definition. See also the [HTTP routing](https://gateway-api.sigs.k8s.io/guides/http-routing/) documentation.
111+
112+
If you are using Argo CD you can use the [ignoreDifferences feature](https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/) to make sure that Argo CD [honors the rule changes](https://argo-rollouts.readthedocs.io/en/stable/features/traffic-management/istio/#integrating-with-gitops).
111113

112114
## Using multiple routes with headers
113115

0 commit comments

Comments
 (0)