microsoft / ApplicationInsights-Kubernetes

Enrich the telemetry data for .NET applications running inside containers that are managed by Kubernetes.
Other
135 stars 57 forks source link

Is it possible to drop dependency of AutoMapper/10.1.1? #320

Closed Ian1971 closed 1 year ago

Ian1971 commented 1 year ago

As automapper is a fairly ubiquitous library, forcing a version change is problematic. It seems that KubernetesClient 6.0.26 has a dependency on Automapper, but later versions of it do not. Can this library have the KubernetesClient upgraded?

xiaomi7732 commented 1 year ago

@Ian1971, Thanks for bringing this up. Technically, it is doable. This is the current dependency tree, it looks easy enough by just bumping up the version of KubernetesClient to 7.2.x.

image

That said, this is trickier than I had expected:

According to Support Period, K8s 1.22 is still supported till 10/28/2022.

And according to Version Compatibility, 6.x is for 1.22.

From that perspective, we will need to bump it up to 7.2.x, but in a couple of weeks.

Do you see AutoMapper causing problems on your project already? Could you please help us understand more about it? With a little bit of justification, we might be able to prioritize it a bit since 3.0 is already there for projects that run on 1.22.

Ian1971 commented 1 year ago

That all sounds fine. For now, we have stuck with the older version of App Insights for Kubernetes (2.0.6). For some of our services which currently use an older version of Automapper the new version would cause us to have to upgrade AutoMapper. Obviously, we want to do that at some point, but to do it now would have been more change than we anticipated in order to get better logging for Kubernetes in app insights.

So, we can wait till you are able to upgrade KubernetesClient safely.

xiaomi7732 commented 1 year ago

I see. Let me repeat what you said so that we are on the same page: the problem is that 3.0 package references KubernetesClient/6.0.26, then references AutoMapper/10.1.1. And that would force your project to upgrade to AutoMapper>= 10.1.1. And that would cause problems for your project, sounds right?

Thank you for letting us know.

That makes sense.

I'll keep this issue open tracking for us to bump up KubernetesClient version - probably to 7.2.x.

xiaomi7732 commented 1 year ago

Hi @Ian1971, I was looking into bumping up K8sClient and found out that AutoMapper/10.1.1 is always on the dependency chain even with the latest version. Here's what the dependency chain looks like with KubernetsClient/9.0.28:

image

We'd like to bump up the client version anyway, but it won't address your problem. I see 2 possibilities:

What do you think?

Ian1971 commented 1 year ago

I think we will just have to upgrade automapper, and stick with the older version of this library until we can.

xiaomi7732 commented 1 year ago

Alright. Thank you for the discussion @Ian1971. I'll close this issue for now. Feel free to open new issues for further discussion.