Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Reverse Proxy (YARP) docker image to the nightly branch #6155

Open
wants to merge 2 commits into
base: nightly
Choose a base branch
from

Conversation

benjaminpetit
Copy link
Member

Related issue: #6154

@benjaminpetit benjaminpetit requested a review from a team as a code owner January 17, 2025 12:01
Copy link
Member

@MichaelSimons MichaelSimons left a comment

Choose a reason for hiding this comment

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

Thanks for introducing YARP images.


# Installer image
FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer
RUN tdnf install -y \
Copy link
Member

Choose a reason for hiding this comment

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

Nit: There should be a blank line between the FROM and RUN statements. This improves the readability/scanability. It also makes the Dockerfile consistent with the others e.g. https://github.com/dotnet/dotnet-docker/blob/main/src/monitor/9.0/azurelinux-distroless/amd64/Dockerfile


Tags | Dockerfile | OS Version
-----------| -------------| -------------
2.3.0-preview.1, 2.3-preview, 2-preview, latest | [Dockerfile](src/reverse-proxy/2.3/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0
Copy link
Member

Choose a reason for hiding this comment

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

Do you want "Preview" images published to main or will you wait until you have an official release? If you want to merge to main, we always place the preview tags under a preview heading. It is not so critical now with only one supported version. It is more important when there is a release version(s) + preview versions. Example

Releasing a preview to main would also impact the featured tags section. Currently the featured tags gives the impression the image is a non-preview release which I don't think we would want to do if merged to main.


See [documentation](https://microsoft.github.io/reverse-proxy/articles/index.html) for how to configure the image and documentation for the reverse proxy configuration.

The support policy can be found [here](https://github.com/microsoft/reverse-proxy/blob/main/docs/roadmap.md).
Copy link
Member

Choose a reason for hiding this comment

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

It feels to me that this would be better placed in the Support section.

Copy link
Member

Choose a reason for hiding this comment

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

That'll require some conditional content in https://github.com/dotnet/dotnet-docker/blob/nightly/eng/readme-templates/Support.md?plain=1. There are variables defined at the top of that file that you can follow for a pattern to match with reverse-proxy and then condition on that.

&& rm reverse-proxy.zip


# YARP Base image
Copy link
Member

Choose a reason for hiding this comment

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

I was under the impression that this wasn't considered a Base image and that it was intended to be used directly. Advanced configuration user's would not be using this as a base image. If this is the case, I think 'Base' should be removed here.


See [Basic YARP Sample](https://github.com/microsoft/reverse-proxy/tree/main/samples/BasicYarpSample) for a sample config to use with this container.

YARP expect the config file to be in `/etc/reverse-proxy.config`, and listen by default on port 5000.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
YARP expect the config file to be in `/etc/reverse-proxy.config`, and listen by default on port 5000.
YARP expects the config file to be in `/etc/reverse-proxy.config` and listens by default on port 5000.


See [documentation](https://microsoft.github.io/reverse-proxy/articles/index.html) for how to configure the image and documentation for the reverse proxy configuration.

The support policy can be found [here](https://github.com/microsoft/reverse-proxy/blob/main/docs/roadmap.md).
Copy link
Member

Choose a reason for hiding this comment

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

That'll require some conditional content in https://github.com/dotnet/dotnet-docker/blob/nightly/eng/readme-templates/Support.md?plain=1. There are variables defined at the top of that file that you can follow for a pattern to match with reverse-proxy and then condition on that.


namespace Microsoft.DotNet.Docker.Tests;

[Trait("Category", "reverse-proxy")]
Copy link
Member

Choose a reason for hiding this comment

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

You'll want to add reverse-proxy to the list of categories in the build/test script:

[ValidateSet("runtime", "runtime-deps", "aspnet", "sdk", "pre-build", "sample", "image-size", "monitor", "aspire-dashboard")]
[string[]]$TestCategories = @("runtime", "runtime-deps", "aspnet", "sdk", "monitor", "aspire-dashboard")

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.

3 participants