Application Insights Kubernetes has been developed for quite a while backing into days of .NET Core 1.x. As time goes by, tech develops, so do we as developers.
I file this issue looking into chances for a big refactor into 3.0 by integrating more mature technologies, more reliable implementations and at the same time, keeps it agile like it has been.
Please share your ideas so that we move forward together. Discussions by reply on this issue is more than welcome👍.
Here are some directional ideas:
Focus on the core
We get K8s related properties and supply it to the logs for diagnosing for Application Insights.
Leverage more on existing mature technologies. For example:
.NET Generic Host for hosting startup scenario;
Use KubernetesClient to query K8s info rather than building/maintaining our own;
Trim down non-related functionality
Remove the support of CPU/Memory metrics.
Anything else should we remove?
Better architecture
Worker service / Background service for bootstrapping
Better testability with dependency injection.
Break down property providers
It would be easier to append or retire properties fetched;
It would be more flexible to work with scenarios where partial properties got fetched;
Is there something you have been wanted? Let us know 👇
Candidate tasks:
[x] #276
[x] #301
[x] #302
[x] #278
[x] #288
[x] #286
[x] #306
[x] #308
[x] #312
[x] #310
[x] #315
[x] Release 3.0.0 package
Backlog:
[ ] Refactor K8sEnv factory to a builder
[ ] Allowing custom service accounts other than default
~~ Look into get PodName from the access token for service account within the pod~~
📢 3.0.0 is released: https://www.nuget.org/packages/Microsoft.ApplicationInsights.Kubernetes/3.0.0
==
Application Insights Kubernetes
has been developed for quite a while backing into days of.NET Core 1.x
. As time goes by, tech develops, so do we as developers.I file this issue looking into chances for a big refactor into 3.0 by integrating more mature technologies, more reliable implementations and at the same time, keeps it agile like it has been.
Please share your ideas so that we move forward together. Discussions by reply on this issue is more than welcome👍.
Here are some directional ideas:
Focus on the core
We get K8s related properties and supply it to the logs for diagnosing for Application Insights.
KubernetesClient
to query K8s info rather than building/maintaining our own;Better architecture
Is there something you have been wanted? Let us know 👇
Candidate tasks:
Backlog: