Azure / Azure/azure-functions-core-tools

func kubernetes deploy generates invalid KEDA definition for Event Hub scaler

Open
#3,367 1 comment 0 reactions 0 assignees View on GitHub
area: kubernetes bug needs-investigation
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.