Azure / Azure/azure-functions-host
Support TLS termination at application/container
- Dominant language
- C#
- Stars
- 2k
- Forks
- 482
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 36
Description
#### What problem would the feature you're requesting solve? Please describe.
The functions host and base images don't do anything to support TLS themselves, instead relying on the platform running the container. This can create issues in certain networking topologies where the Functions container exists across a trust boundary from upstream gateway components, and TLS is still desired between them. The inciting example I was asked about was a Kubernetes cluster (non-Arc) which had an ingress controller, but they didn't want termination to occur at that layer due to other aspects of the cluster configuration. I imagine that using NodePort service types could lead to a similar need, although that might be a much more fringe scenario.
#### Describe the solution you'd like
The ability to include a cert reference similar to how you can do it in ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/security/docker-https?view=aspnetcore-5.0
#### Describe alternatives you've considered
There are solutions that are a bit more unwieldy. For example, adding a proxy to each podspec in Kubernetes which does just this, or trying to add layers to the Functions image which do the same.
#### Additional context
Possibly related to https://github.com/Azure/azure-functions-host/issues/5755
Contributor guide
Research direction
Start by reviewing how the Functions host and base images currently handle traffic and compare the requested certificate reference with the ASP.NET Core Docker HTTPS guidance. Read related issue #5755 and determine the configuration, certificate handling, and networking behavior required for TLS between an upstream gateway and the container. Done means the supported approach is defined and verified for the described Kubernetes topology.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, kubernetes
- Domain
- infrastructure, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100