arcus-azure / arcus.templates

Collection of .NET templates & tooling to get started very easily.
https://templates.arcus-azure.net
MIT License
18 stars 12 forks source link

Templates for IoT edge Modules #619

Open Sdelausnay opened 2 years ago

Sdelausnay commented 2 years ago

The current template is IoT Edge modules is very limited would be good if we could have one with some more best practices like

Microsoft has implement some of these things, but not published as Nuget Package https://github.com/Azure/iotedge/tree/main/edge-util/src/Microsoft.Azure.Devices.Edge.Util

fgheysels commented 2 years ago

This might indeed be interesting.

In the past, I've started creating a library that cover most of these things. It is found here I can clean it up, and then donate it to Arcus.

stijnmoreels commented 2 years ago

Thx @Sdelausnay for the suggestion! We will look how the next steps would be here, but feel free to jump in if you want to take things up yourself.

stijnmoreels commented 2 years ago

Working on something for background jobs so we can register and test easy ModuleClient implementations, plus shutdown based on this library you started.

fgheysels commented 1 year ago

@Sdelausnay : are you looking for a template which can be used from VS.NET, and generates the basic C# class for a iotedge module with best practices applied ?

Like, when you have an iotedge project in VS.NET, and you want to create a new module:

image

image And in the above screen you have an option like 'Arcus IoT Edge Module', which generates the necessary code files in where we already implement some best practices ?

Is that what you're looking for ?

I think it would already be a good starting point if we can migrate the lib I've written to Arcus, and then have a look if we can create a template for IoT Edge modules and integrate that in VS.NET

fgheysels commented 1 year ago

As I was further investigating this, I learned that the VS.NET tools for IoT Edge modules are being deprecated / put in maintenance mode.

https://github.com/microsoft/vs-azure-iot-edge-docs/issues/42

CLI templates seem to be the way forward, so I'll take a look at that.

fgheysels commented 1 year ago

I've started creating a basic template for iotedge modules on my own github account. Once everything is a bit more mature, I can transfer it to Arcus. https://github.com/fgheysels/Fg.IoTEdge.Template

rido-min commented 1 year ago

The dotnet template to create IoT Edge Modules has been updated with most of the suggestions: dotnet6, background-worker, ILogger, etc..

https://github.com/Azure/dotnet-template-azure-iot-edge-module