Azure / Azure/azure-functions-core-tools
func kubernetes deploy generates invalid KEDA definition for Event Hub scaler
- Dominant language
- C#
- Stars
- 1.5k
- Forks
- 498
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 14
Description
Three major points:
- The tool omits the mandatory `storageConnectionFromEnv` field
Though k8s will accept the manifest without this field, without it, the scaledobject cannot probe the checkpoints in the storage account. It needs to do this to compute how far behind the EH client is, for the given consumer group. It should typically be bound to the `AzureStorageWebJobStorage` env var.
- The tool omits the `checkPointStrategy` field
it should be parameterized from the "func" tool. depending on which client SDK is generating the checkpoints, the format will change and needs to be provided. For example, the latest azure sdk requires the "blobMetadata" strategy. But older SDKs may require a different decoding strategy.
- The tool should always emit the `blobContainer` field
Again, this should parameterized in func. Despite the keda documentation, this is neccessary for the blobMetadata strategy to work (as of Keda 2.x)
See: https://keda.sh/docs/2.10/scalers/azure-event-hub/ for the correct scaler definition
Contributor guide
Research direction
Start at the `func kubernetes deploy` entry point that generates the Azure Event Hub KEDA definition, then compare its output with the linked KEDA scaler documentation. Done means the manifest emits `storageConnectionFromEnv`, parameterized `checkPointStrategy` and `blobContainer` fields, including the required blob metadata configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp, kubernetes
- Domain
- cli, cloud, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100