-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Repository Separation in terms of Module #415
Comments
This is a wonderful suggestion and we have to think of how we could make it. Any thoughts? @NiranjanPatil25 @suresh-lc @tdrozdovsky? |
I support this proposal. |
Ya had this thought long time ago, that time there weren't big modules as such. But now as we should see if we make them as microservices. Something like
The current data storage can be made independent microservice and we can work on that. The cloud service which we plan to make better can be designed so. |
Ya '-go' might not be needed for now. When start supporting different languages we can think of adding it.(Like how EdgeX does - C/Go) |
@lf-edge/edge-home-orchestration-go-maintainers I've proposed |
@NiranjanPatil25 @suresh-lc What about creating |
Hello, To make datastorage independent module, I have started the work of cloning the repo of edge orchestration and removing the unnecessary code in terms of datastorage. But as we know few packages like logmgr, networkhelper, dbhelper are being used by storage manager. So as per Golang architecture restrictions, packages mentioned inside the internal package cannot be imported in the independent module. So for the same I have come up with two solutions,
Personally I would prefer the second option of moving the packages needed by another module to pkg folder to make it visible for other projects also for import |
@nitu-s-gupta This is great. Thank you for your suggestion. I love the option 2. 😁 |
I think new datastorage container can not access to edge-orchestration db and it would be great if new datastorage is independent from edge-orchestration in terms of source code. Regarding logmgr, it would be better to use edgex logger since we have an issue.
|
Now there are votes for both option. Can we conclude for one option. Other members can also give their opinion |
Exposing as library by moving the folders to pkg folder for each functionality would help its usage going forward when microservice architecture is adopted for homeedge and more features are separated to create independent module. For example, logmgr is used in every feature almost, copying it in every feature will lead to duplication in all features. |
@tdrozdovsky Looking forward to getting your opinion as well. |
I support the option proposed by the @t25kim |
@NiranjanPatil25 @suresh-lc PTAL. Would love to get your opinions as well. 🙏 |
I started writing the API for getting the deviceIP for Datastorage as independent module
So, I would propose since we are copying the logmgr and other functions why not copy this one funciton of networkhelper also in DataStorage locally instead of an API |
I didn't think about this scenario since I always think Edge Orchestration and DataStorage run on the same machine.
Please see the issue and do not use
What functions of networkhelper do you need? |
GetOutboundIP() to know the IP of host machine. Yes, I wont use logrmgr but use Edgex foundry logger mechanism. But my point was making API wouldnt help so one function i think we can copy in the datastorage |
I would like to have sufficient consideration before putting source code under the |
logmgr as already mentioned will be using edgex loging mechanism and rest all mentioned uch as errors, errormsg and networkhelper can be moved to pkg folder. I hope this makes sense and I can proceed in this direction? |
Sure! I will modify logmgr later after your contribution. |
Thanks :) |
Home Edge is made up of several modules, and it would be good to run them independently as a microservice concept to minimize damage among modules.
Necessity
Suggestion
The text was updated successfully, but these errors were encountered: