user-guide: Add instructions for custom SOTA client#280
user-guide: Add instructions for custom SOTA client#280doanac merged 1 commit intofoundriesio:masterfrom
Conversation
|
This PR puts me at the intersection of two things I'm bad at - Bitbaking and Documenting. Apologies in advance. |
angolini
left a comment
There was a problem hiding this comment.
only minor suggestions
LGTM
| " | ||
|
|
||
|
|
||
| The recipe can then be created with only 4 files: |
There was a problem hiding this comment.
Maybe we should add/include this recipe into the default/initial meta-subscriber-overrides.git, but not enable by default, and just refer to it from this doc. The same for main.cc, the doc could reference to the reference implementation in the code, https://github.com/foundriesio/aktualizr-lite/blob/master/examples/custom-client.cc.
In this case, there are more chances that the recipe and the code are in sync with the latest LmP and aklite ( for example, changes to the API won't require to change/adjust this doc).
There was a problem hiding this comment.
I think this makes a lot of sense.
@mike-scott @ricardosalveti - any objects to including this skeleton type code in meta-subscriber-overrides?
There was a problem hiding this comment.
Having it added by default is nice at first, but can also bit rot over time, as we won't update as we update factories to newer revisions.
Usually I prefer source code examples like this to be available via an external git repository, and only add the repo in SRC_URI instead. It is easier to manage, gets closer to what the developer would do anyway, and we can also keep it in sync with the factory version based on the SRCREV used.
If done purely as a sample and by consuming a public git repo that we host, we can even make it available in meta-lmp, and then make sure it gets tested / tagged as we push newer releases. Customers can then just copy the entire recipe and do their own when they get to create their own client.
There was a problem hiding this comment.
k. Let me summarize what I think we are converging on:
clean up the example code
This change makes it easy to include in a recipe: foundriesio/aktualizr-lite#131 It also continues to be build tested in aklite
create a custom-sota-client recipe PR for meta-lmp
This will be cleaned up from the notes here. I guess the tricky part over time will be keeping the SRCREV here in sync/compatible with the SRCREV in aklite, but that was always going to be the challenge.
Does this make sense?
There was a problem hiding this comment.
If we have at least one customer for the aklite API and there is an interest from other potential customers then I think it makes sense to include this recipe into the meta-lmp and make sure it gets tested (at least basic sanity test).
There was a problem hiding this comment.
On the other hand SOTA_CLIENT overriding belongs to the meta-subsc as it's a factory customization. Maybe we just need to extend the test effort to make sure that each new LmP/meta-lmp release is tested in conjunction with the meta-subsc, effectively, emulate a new factory creation.
There was a problem hiding this comment.
Yes, we can do that as we're already testing the release on a factory anyway. @mwasilew ^^
Signed-off-by: Andy Doan <[email protected]>
|
Okay - I've just pushed a major overhaul to this document. It becomes a lot easier. CI link checks will fail until the meta-lmp changes are merged. So ignore that for now. |
|
ci-retest |
Signed-off-by: Andy Doan [email protected]