You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We could also create our own internal client that interacts with the endpoints that need to be interacted with instead of relying on a external dependency.
The text was updated successfully, but these errors were encountered:
msgraphsdk-go-core seems very unergonomic and mostly intended for use in the autogenerated code of msgraph-sdk-go. Seems like to use it, we'd need to implement stuff like their serialization abstractions etc.
Hamilton looks pretty good. My one nit is that the only way it does pagination is by accumulating an array of all results, which, to be fair, is what we do anyway at the reconciler level, so it's like, we'll have 2 in-memory copies of a dataset instead of 1. 😅
Writing our own client is an option. MS Graph uses OData, but we don't particularly need to implement all of it (or pull in a 3rd party library), as our usage patterns are pretty simple: mostly "get all", "get one", "create one", "update one". I'd like to keep azidentity for this, since we're probably not removing it anytime soon: it is used extensively in lib/cloud/azure etc.
Let me know your thoughts about Hamilton vs. writing a client.
The msgraph dependencies caused the teleport binary to increase by ~50MB.
Relevant issue upstream: microsoftgraph/msgraph-sdk-go#129
The ms graph folks seem to recommend building a custom client via https://github.com/microsoft/kiota to reduce the API surface of the package.
There is also an alternative package listed in that issue: https://github.com/manicminer/hamilton.
We could also create our own internal client that interacts with the endpoints that need to be interacted with instead of relying on a external dependency.
The text was updated successfully, but these errors were encountered: