You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: enhance Gateway API plugin with in-progress label management
- Added support for automatic labeling of Gateway API routes during canary deployments to prevent GitOps drift.
- Updated documentation to reflect new features, including the ability to customize or disable the in-progress label.
- Improved tests to verify the addition and removal of the in-progress label for HTTP, gRPC, TCP, and TLS routes.
This change enhances the integration with GitOps tools like Argo CD, ensuring smoother deployments and better resource management.
- if .metadata.labels["rollouts.argoproj.io/gatewayapi-canary"] == "in-progress" then .spec.rules
133
+
```
134
+
135
+
Duplicate the block for `GRPCRoute`, `TCPRoute` and `TLSRoute` if you manage those kinds as well. If you have customised the
136
+
label key or value on the plugin, update the `jqPathExpressions` condition to match your configuration. The same structure applies
137
+
when you configure `resource.customizations` directly on an Application manifest (outside of Helm).
138
+
113
139
## Automatic Route Discovery with Label Selectors
114
140
115
141
Instead of explicitly listing each route name, you can use label selectors to automatically discover routes. This is particularly useful when managing many routes or when routes are created dynamically.
@@ -200,7 +226,7 @@ trafficRouting:
200
226
The plugin supports selectors for different route types:
201
227
202
228
- `httpRouteSelector`: Discovers HTTPRoutes
203
-
- `grpcRouteSelector`: Discovers GRPCRoutes
229
+
- `grpcRouteSelector`: Discovers GRPCRoutes
204
230
- `tcpRouteSelector`: Discovers TCPRoutes
205
231
206
232
You can use multiple selectors simultaneously:
@@ -247,4 +273,4 @@ To verify which routes will be discovered by your selector, use kubectl:
247
273
kubectl get httproutes -n default -l app=my-app,canary-enabled=true
248
274
```
249
275
250
-
The plugin logs discovered routes during reconciliation, which can help with debugging.
276
+
The plugin logs discovered routes during reconciliation, which can help with debugging.
Copy file name to clipboardExpand all lines: docs/quick-start.md
+34-10Lines changed: 34 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ to control your Http Routes. In this guide we will see how to use [the Rollouts
5
5
6
6
You can find more examples at the [provider status page](provider-status.md).
7
7
8
-
## Prerequisites
8
+
## Prerequisites
9
9
10
10
Get access to a Kubernetes cluster. You can use a cluster on the cloud or on your workstation like [k3s](https://k3s.io/), [k3d](https://k3d.io/) or [Docker for Desktop](https://www.docker.com/products/docker-desktop/).
- if .metadata.labels["rollouts.argoproj.io/gatewayapi-canary"] == "in-progress" then .spec.rules
289
+
```
290
+
291
+
Apply the same snippet to `GRPCRoute`, `TCPRoute` and `TLSRoute` kinds if you manage them. If you configure `resource.customizations`
292
+
directly inside an Application manifest rather than Helm values, reuse the same structure under `spec.source.plugin` or
293
+
`spec.source.helm.values`.
294
+
271
295
```yaml
272
296
[...snip...]
273
297
spec:
@@ -307,4 +331,4 @@ The application should gradually change now to yellow.
307
331
308
332
The deployment has finished. If you change the Rollout image again, the process will start over.
309
333
310
-
Feel free to learn more about all Rollout options in the [Specification documentation](https://argo-rollouts.readthedocs.io/en/stable/features/specification/).
334
+
Feel free to learn more about all Rollout options in the [Specification documentation](https://argo-rollouts.readthedocs.io/en/stable/features/specification/).
0 commit comments