dotnet / dotnet/yarp

Docker Image to go with Aspire

Open
#2,525 1 comment 1 reaction 0 assignees View on GitHub
Type: Idea
Dominant language
C#
Stars
9.6k
Forks
933
Avg merge
12d 18h
Merged PRs (30d)
2

Description

There have been multiple incantations of this concept before including #247 and https://github.com/sebastienros/kassini. With Aspire there is a desire to have a pre-built YARP that can be delivered as a docker container.

This would be an implementation of a pre-built YARP binary with a set of pre-built functionality included.

Suggestion is that this would be a pre-defined YARP project in the repo, that is then built and published to the Microsoft Container Registry on a regular basis. Because it will bundle not only YARP, but also ASP.NET core, it will need to have an automated ship process so that it keeps up with .NET releases (probably the most frequent dependency). When we ship new copies of YARP it will need to pick up the reverse proxy dependency.

YARP should be supplied as a docker container based on the [chiseled base ASP.NET image](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md).

## Functionality to be included:
- Configuration redirection - the location of the config file should be specifiable using an ENV var so that it doesn't need to be mapped into an explicit path
- Instrumentation with OTel - as per Aspire applications, the Proxy should be configured to produce OTel instrumentation and include the OTLP Exporter
- Lets Encrypt - for TLS cert management

## Functionality to be considered:
- Http/3 & Quic support - do we include the Quic & QuicTLS components needed for Http/3?

## Functionality to be excluded for the 1st iteration
- Kubernetes support - we should probably wait for that to be cooked a bit more

## Iteration goals
The main goal / work for the first iteration should be the engineering system to enable it to be built and published automatically, and have systems in place for releasing when the dependencies are updated.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.