Skip to content

Use WatchAsync for the functions of both ListAsync and WatchAsync in RunAsync in YARP Kubernetes Ingress Controller #3033

@Xulei-NL

Description

@Xulei-NL

Introduction

The RunAsync in ResourceInformer.cs first invokes ListAsync to list all resources of a given type and then invokes WatchAsync to watch newly events. I recently found this blog Kubernetes v1.33: Streaming List responses
and its feature state is beta.

What should we add or change to make your life better?

I'm wondering if we could refactor the current code to only use WatchAsync performing List + Watch, following the documentation https://kubernetes.io/docs/reference/using-api/api-concepts/#streaming-lists.

Why is this important to you?

We could make the code simplier by adopting the new Kubernetes's feature. In addition, for my own good, I learned C# and YARP along the way based on YARP's Ingress Controller implementation.

Caveat: The feature state is Beta. I'm not sure if we want to implement this before its state is GA.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions