Skip to content

Conversation

zachcasper
Copy link
Contributor

No description provided.

Signed-off-by: Zach Casper <zachcasper@microsoft.com>
@zachcasper zachcasper requested review from a team as code owners September 3, 2025 17:45
Signed-off-by: Zach Casper <zachcasper@microsoft.com>
Signed-off-by: Zach Casper <zachcasper@microsoft.com>
Copy link
Contributor

@willtsai willtsai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This design spec needs to include examples of what the Routes resource type looks like and how it will be used in various scenarios (e.g. in conjunction with a container, etc.)

The design should also follow the template: https://github.com/radius-project/design-notes/blob/main/template/YYYY-MM-design-template.md

Signed-off-by: Zach Casper <zachcasper@microsoft.com>
Signed-off-by: Zach Casper <zachcasper@microsoft.com>
Comment on lines +203 to +204
1. Deploy and configure their ingress controller of choice
2. Create a Kubernetes Gateway resource
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can these be built into the Routes Recipe? It'd still be a platform eng concern, but being bundled into the Routes Recipe seems like the right unit of work.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. But when you install a Gateway Controller like NGINX, a Gateway resource will get created also. https://github.com/nginx/nginx-gateway-fabric/blob/main/charts/nginx-gateway-fabric/templates/gateway.yaml


### Miscellaneous Gateway routes properties

The following Gateways properties no longer supported since they are ingress controller-specific:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the developer needs access to these platform-specific properties, how would that be enabled for them? Would the platform engineer need to customize the Radius.Compute/routes resource being used? Or would we consider adding a platformOptions property to enable passthroughs?

I think this consideration is especially important for the timeoutPolicy properties as that was something that was community-implemented due to user need (see PR#8739)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are not platform-specific properties. They are Contour properties. Timeout would be the exception.

There is a request and backendRequest timeout on the HTTPRoute. However, on an AWS ALB used with ECS, the timeout values are set on the ALB itself (not even the target group).

So I chose to defer support for timeouts in order to accomodate ECS in the future. This of course, is a two-way door and we can add timeout support for the Gateway API anytime.

WDYT?


### TLS configuration

Gateways expects the developer to provide a certificate stored in a Radius Secret. Because TLS is ingress controller-specific, TLS configuration is delegated to the platform engineer and their ingress controller of choice.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would this be delegated to the Routes Recipe implementation and thus owned by the platform eng?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. The Gateway Controller is set up as a prerequisite outside of Radius. It's not part of a Recipe. Here is an example using AKS.

Signed-off-by: Zach Casper <zachcasper@microsoft.com>
Signed-off-by: Zach Casper <zachcasper@microsoft.com>
@nicolejms nicolejms merged commit 0d2c326 into radius-project:main Sep 11, 2025
2 checks passed
brooke-hamilton pushed a commit to radius-project/resource-types-contrib that referenced this pull request Sep 12, 2025
Implementation of
radius-project/design-notes#110

---------

Signed-off-by: Zach Casper <zachcasper@microsoft.com>
andrewmatveychuk pushed a commit to andrewmatveychuk/resource-types-contrib that referenced this pull request Sep 18, 2025
Implementation of
radius-project/design-notes#110

---------

Signed-off-by: Zach Casper <zachcasper@microsoft.com>
Signed-off-by: Andrew Matveychuk <andrew@andrewmatveychuk.com>
superbeeny pushed a commit to superbeeny/resource-types-contrib that referenced this pull request Oct 6, 2025
Implementation of
radius-project/design-notes#110

---------

Signed-off-by: Zach Casper <zachcasper@microsoft.com>
@zachcasper zachcasper deleted the routes-resource-type branch October 7, 2025 08:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants