-
Notifications
You must be signed in to change notification settings - Fork 67
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
Define Edge Agent /Device Interface #448
Comments
The proper solution here will be via a Message Broker service that we host as part of the platform. This will allow secure 2-way communication and will also be usable for data flows from the Edge hosted projects to projects in the cloud platform. For MVP we can make use of an HTTP based solution. But we must acknowledge this will not satisfy later requirements beyond the MVP.
Assuming a pure HTTP approach, for this specific task - defining the API will happen in parallel to developing the core edge agent, so its hard to size it as a specific task. |
It seems to me, - and I am quite likely to be completely wrong here, that an HTTP endpoint as a back end isn't valuable iteratively if its effort that is ultimately not going to be in use. In my imagined implementation of a back end is a broker on the edge runtime and a service from the forge that can command the edge in specific ways. or a pair of brokers one baked in the forge, and a broker in each edge runtime with services and events defined at each end |
I agree that a broker based approach is the right technical approach and where we need to end up - as I said in my previous comment. An initial HTTP based approach is valuable as it allows us to build a working end-to-end solution much quicker to begin validating the concepts with real users. At this point, we're doing the planning work to see what it takes to get to that MVP and trying to balance the competing demands of keeping moving towards the desired technical goal, and delivering value regularly. We will need to plan for work on the broker approach as that will be a prerequisite for later items. |
I dont' think websockets are problematic these days, again considering this is MVP we likely won't support edge devices behind corporate proxies anyway. The Node-RED editor already uses a websocket too so if people are still in some kind of environment that makes those connections difficult to flowforge they will have bigger issues |
The following API is for the 0.6 MVP. It is a polling based API - which is not ideal and not the long term solution. It is, however, a starting point to get something working in the 0.6 time frame. Edge Agent ConfigurationWith the 0.5 work, when a device is registered on the platform, we provide a one-click download of a configuration file for the device. That current includes That should be extended to include the The user should be able to drop that file onto the edge device to a well-known location and not provide any other configuration. Forge APIsThe following APIs should only be accessible to request that include a valid device
|
I've updated the comment above to properly document the API we have in 0.6. There's no further work to be done on this iteration of the API. We will want to revisit it once we have MQTT/WebSockets/SSE messaging in place - but we can close this story. |
Description
Define the interface that the Edge Agents(#447) connect to in order to register as Devices(#446)
Epic/Story
No response
The text was updated successfully, but these errors were encountered: