dolittle-obsolete / DotNET.Fundamentals

Reusable, fundamental abstractions and building blocks
http://www.dolittle.io
MIT License
4 stars 8 forks source link

Introducing management services in Fundamentals #252

Closed einari closed 4 years ago

einari commented 5 years ago

This pull request has a couple of things:

Notes: The configuration system carries with it a technical debt of not having specs. This is defined as an issue in #251

┆Issue is synchronized with this Asana task

einari commented 4 years ago

The proto files we have now are .NET Fundamentals specific, for now. That might change in the future - and then we can promote them I guess. This is the first stab at all this, aiming for future clarity :). My thinking has been for versioning sake that the thing exposing something maintains the proto files as well. Adhering to the high cohesion principle. But where it gets a bit weird is who is responsible for creating the language specific code-generated proxies. I’ve put this responsibility for now onto the owner of the endpoint and proto files, which in one way feels a bit weird - but the nice benefit of it is that the language specific packages coming out is semantically versioned according to the source it represents. Which makes it a lot simpler for us right now at least.

What I was missing was a way to agnostically package proto files, version these packages and publish them to a “proto package library” and others could then have dependencies to this in a versioned manner.

jakhog commented 4 years ago

Hmm, yeah that's a good point. Things like IoC bindings doesn't necessarily make any sense in other languages. And yes, it feels weird - but I agree that this responsibility should be on the owner of the endpoint.