Azure / Azure/azure-functions-host
Add configuration for enabling only HTTP or only non-HTTP functions
- Dominant language
- C#
- Stars
- 2k
- Forks
- 482
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 38
Description
#### What problem would the feature you're requesting solve? Please describe.
When deploying function apps containing HTTP and non-HTTP functions to Kubernetes running KEDA/Osiris, we need to split the app into 2 deployments. The Functions Core Tools figures out which functions need to be enabled/disabled in the HTTP and non-HTTP deployments and generates the correct environment variables. For instance:
```yaml
env:
- name: AzureFunctionsJobHost__functions__0
value: QueueTrigger
- name: AzureFunctionsJobHost__functions__1
value: QueueTrigger1
```
This is difficult to do when manually creating deployment scripts for deploying function apps to the environment and also makes it difficult for the Core Tools to use helm for deployment.
#### Describe the solution you'd like
- Add a way to enable only HTTP functions in a function app
- Add a way to enable only non-HTTP functions in a function app
#### Describe alternatives you've considered
Manually creating the correct the environment variables in the deployment scripts, and making sure they stay in sync with the function app.
Contributor guide
Research direction
No files, tests, or entry points are named. Start by tracing how AzureFunctionsJobHost__functions__N currently selects functions and how HTTP versus non-HTTP triggers are identified; done means deployments can enable only HTTP functions or only non-HTTP functions without manually maintaining function lists.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, helm, kubernetes
- Domain
- backend, cloud, devops
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100