From 98a6528a36db38f8a06a4ae4eb1b4ef6d38dc071 Mon Sep 17 00:00:00 2001 From: Dariusz Parys Date: Mon, 25 Jun 2018 06:57:47 +0200 Subject: [PATCH 1/2] Updated project structure and assemblies for GA --- .../Docker/linux-arm/Dockerfile | 11 ---- .../Docker/linux-x64/Dockerfile | 9 --- .../Docker/linux-x64/Dockerfile.debug | 15 ----- .../Docker/windows-nano/Dockerfile | 9 --- .../Dockerfile.amd64 | 17 ++++++ .../Dockerfile.amd64.debug | 24 ++++++++ .../Dockerfile.arm32v7 | 17 ++++++ .../Dockerfile.windows-amd64 | 13 ++++ .../Program.cs | 59 ++++--------------- .../README.md | 23 ++++---- .../{ => Simulation}/ControlCommand.cs | 2 +- .../{ => Simulation}/DataGenerationPolicy.cs | 2 +- .../{ => Simulation}/DesiredPropertiesData.cs | 2 +- .../{ => Simulation}/MessageBody.cs | 2 +- .../TemperatureDataFactory.cs | 2 +- ...otedge-simulated-temperature-sensor.csproj | 4 +- .../deployment.json | 57 ------------------ .../module.json | 18 ++++++ .../multi-arch-manifest.yml | 20 ------- 19 files changed, 118 insertions(+), 188 deletions(-) delete mode 100644 v2/samples/azureiotedge-simulated-temperature-sensor/Docker/linux-arm/Dockerfile delete mode 100644 v2/samples/azureiotedge-simulated-temperature-sensor/Docker/linux-x64/Dockerfile delete mode 100644 v2/samples/azureiotedge-simulated-temperature-sensor/Docker/linux-x64/Dockerfile.debug delete mode 100644 v2/samples/azureiotedge-simulated-temperature-sensor/Docker/windows-nano/Dockerfile create mode 100644 v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.amd64 create mode 100644 v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.amd64.debug create mode 100644 v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.arm32v7 create mode 100644 v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.windows-amd64 rename v2/samples/azureiotedge-simulated-temperature-sensor/{ => Simulation}/ControlCommand.cs (85%) rename v2/samples/azureiotedge-simulated-temperature-sensor/{ => Simulation}/DataGenerationPolicy.cs (97%) rename v2/samples/azureiotedge-simulated-temperature-sensor/{ => Simulation}/DesiredPropertiesData.cs (96%) rename v2/samples/azureiotedge-simulated-temperature-sensor/{ => Simulation}/MessageBody.cs (93%) rename v2/samples/azureiotedge-simulated-temperature-sensor/{ => Simulation}/TemperatureDataFactory.cs (96%) delete mode 100644 v2/samples/azureiotedge-simulated-temperature-sensor/deployment.json create mode 100644 v2/samples/azureiotedge-simulated-temperature-sensor/module.json delete mode 100644 v2/samples/azureiotedge-simulated-temperature-sensor/multi-arch-manifest.yml diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/Docker/linux-arm/Dockerfile b/v2/samples/azureiotedge-simulated-temperature-sensor/Docker/linux-arm/Dockerfile deleted file mode 100644 index a4b57401..00000000 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/Docker/linux-arm/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM azureiotedge/azureiotedge-module-base:1.0.0-preview001-linux-arm32v7 - -USER moduleuser - -ARG EXE_DIR=. - -WORKDIR /app - -COPY $EXE_DIR/ ./ - -CMD ["dotnet", "azureiotedge-simulated-temperature-sensor.dll"] \ No newline at end of file diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/Docker/linux-x64/Dockerfile b/v2/samples/azureiotedge-simulated-temperature-sensor/Docker/linux-x64/Dockerfile deleted file mode 100644 index 0882853d..00000000 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/Docker/linux-x64/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM microsoft/dotnet:2.0.5-runtime - -ARG EXE_DIR=. - -WORKDIR /app - -COPY $EXE_DIR/ ./ - -CMD ["dotnet", "azureiotedge-simulated-temperature-sensor.dll"] \ No newline at end of file diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/Docker/linux-x64/Dockerfile.debug b/v2/samples/azureiotedge-simulated-temperature-sensor/Docker/linux-x64/Dockerfile.debug deleted file mode 100644 index f5111c55..00000000 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/Docker/linux-x64/Dockerfile.debug +++ /dev/null @@ -1,15 +0,0 @@ -FROM microsoft/dotnet:2.0.0-runtime - -ARG EXE_DIR=. - -WORKDIR /app - -COPY $EXE_DIR/ ./ - -RUN apt-get update - -RUN apt-get install -y unzip procps - -RUN curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l ~/vsdbg - -CMD ["dotnet", "azureiotedge-simulated-temperature-sensor.dll"] \ No newline at end of file diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/Docker/windows-nano/Dockerfile b/v2/samples/azureiotedge-simulated-temperature-sensor/Docker/windows-nano/Dockerfile deleted file mode 100644 index b829ab1c..00000000 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/Docker/windows-nano/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM microsoft/dotnet:2.0.5-runtime-nanoserver-1709 - -ARG EXE_DIR=. - -WORKDIR /app - -COPY $EXE_DIR/ ./ - -CMD ["dotnet", "azureiotedge-simulated-temperature-sensor.dll"] \ No newline at end of file diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.amd64 b/v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.amd64 new file mode 100644 index 00000000..ccbb7a86 --- /dev/null +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.amd64 @@ -0,0 +1,17 @@ +FROM microsoft/dotnet:2.0-sdk AS build-env +WORKDIR /app + +COPY *.csproj ./ +RUN dotnet restore + +COPY . ./ +RUN dotnet publish -c Release -o out + +FROM microsoft/dotnet:2.0-runtime +WORKDIR /app +COPY --from=build-env /app/out ./ + +RUN useradd -ms /bin/bash moduleuser +USER moduleuser + +ENTRYPOINT ["dotnet", "azureiotedge-simulated-temperature-sensor.dll"] \ No newline at end of file diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.amd64.debug b/v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.amd64.debug new file mode 100644 index 00000000..32a9ce03 --- /dev/null +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.amd64.debug @@ -0,0 +1,24 @@ +FROM microsoft/dotnet:2.0-runtime-stretch AS base + +RUN apt-get update && \ + apt-get install -y --no-install-recommends unzip procps && \ + rm -rf /var/lib/apt/lists/* + +RUN useradd -ms /bin/bash moduleuser +USER moduleuser +RUN curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l ~/vsdbg + +FROM microsoft/dotnet:2.0-sdk AS build-env +WORKDIR /app + +COPY *.csproj ./ +RUN dotnet restore + +COPY . ./ +RUN dotnet publish -c Debug -o out + +FROM base +WORKDIR /app +COPY --from=build-env /app/out ./ + +ENTRYPOINT ["dotnet", "azureiotedge-simulated-temperature-sensor.dll"] \ No newline at end of file diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.arm32v7 b/v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.arm32v7 new file mode 100644 index 00000000..72fbb627 --- /dev/null +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.arm32v7 @@ -0,0 +1,17 @@ +FROM microsoft/dotnet:2.0-sdk AS build-env +WORKDIR /app + +COPY *.csproj ./ +RUN dotnet restore + +COPY . ./ +RUN dotnet publish -c Release -o out + +FROM microsoft/dotnet:2.0-runtime-stretch-arm32v7 +WORKDIR /app +COPY --from=build-env /app/out ./ + +RUN useradd -ms /bin/bash moduleuser +USER moduleuser + +ENTRYPOINT ["dotnet", "azureiotedge-simulated-temperature-sensor.dll"] \ No newline at end of file diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.windows-amd64 b/v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.windows-amd64 new file mode 100644 index 00000000..b3f5761f --- /dev/null +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/Dockerfile.windows-amd64 @@ -0,0 +1,13 @@ +FROM microsoft/dotnet:2.0-sdk AS build-env +WORKDIR /app + +COPY *.csproj ./ +RUN dotnet restore + +COPY . ./ +RUN dotnet publish -c Release -o out + +FROM microsoft/dotnet:2.0-runtime +WORKDIR /app +COPY --from=build-env /app/out ./ +ENTRYPOINT ["dotnet", "azureiotedge-simulated-temperature-sensor.dll"] \ No newline at end of file diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/Program.cs b/v2/samples/azureiotedge-simulated-temperature-sensor/Program.cs index 677132f9..c8bbcea0 100644 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/Program.cs +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/Program.cs @@ -15,6 +15,7 @@ using Microsoft.Azure.Devices.Shared; using Newtonsoft.Json; using System.Net; +using AzureIotEdgeSimulatedTemperatureSensor.Simulation; // disabling async warning as the SendSimulationData is an async method // but we don't wait for it @@ -33,13 +34,7 @@ class Program static async Task Main(string[] args) { - // The Edge runtime gives us the connection string we need -- it is injected as an environment variable - var connectionString = Environment.GetEnvironmentVariable("EdgeHubConnectionString"); - - // Cert verification is not yet fully functional when using Windows OS for the container - var bypassCertVerification = RuntimeInformation.IsOSPlatform(OSPlatform.Windows); - if (!bypassCertVerification) InstallCert(); - await Init(connectionString, bypassCertVerification); + await Init(); // Wait until the app unloads or is cancelled var cts = new CancellationTokenSource(); @@ -59,52 +54,20 @@ public static Task WhenCancelled(CancellationToken cancellationToken) } /// - /// Add certificate in local cert store for use by client for secure connection to IoT Edge runtime - /// - static void InstallCert() - { - var certPath = Environment.GetEnvironmentVariable("EdgeModuleCACertificateFile"); - if (string.IsNullOrWhiteSpace(certPath)) - { - // We cannot proceed further without a proper cert file - Console.WriteLine($"Missing path to certificate collection file: {certPath}"); - throw new InvalidOperationException("Missing path to certificate file."); - } - else if (!File.Exists(certPath)) - { - // We cannot proceed further without a proper cert file - Console.WriteLine($"Missing path to certificate collection file: {certPath}"); - throw new InvalidOperationException("Missing certificate file."); - } - var store = new X509Store(StoreName.Root, StoreLocation.CurrentUser); - store.Open(OpenFlags.ReadWrite); - store.Add(new X509Certificate2(X509Certificate2.CreateFromCertFile(certPath))); - Console.WriteLine("Added Cert: " + certPath); - store.Close(); - } - - - /// - /// Initializes the DeviceClient and sets up the callback to receive + /// Initializes the ModuleClient and sets up the callback to receive /// messages containing temperature information /// - static async Task Init(string connectionString, bool bypassCertVerification = false) + static async Task Init() { - Console.WriteLine("Connection String {0}", connectionString); - - var mqttSetting = new MqttTransportSettings(TransportType.Mqtt_Tcp_Only); - // During dev you might want to bypass the cert verification. It is highly recommended to verify certs systematically in production - if (bypassCertVerification) - { - mqttSetting.RemoteCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true; - } + MqttTransportSettings mqttSetting = new MqttTransportSettings(TransportType.Mqtt_Tcp_Only); ITransportSettings[] settings = { mqttSetting }; // Open a connection to the Edge runtime - var ioTHubModuleClient = DeviceClient.CreateFromConnectionString(connectionString, settings); - await ioTHubModuleClient.OpenAsync(); + var ioTHubModuleClient = await ModuleClient.CreateFromEnvironmentAsync(settings); + ioTHubModuleClient.OpenAsync(); Console.WriteLine("IoT Hub module client initialized."); + // initialize module twin properties var moduleTwin = await ioTHubModuleClient.GetTwinAsync(); var moduleTwinCollection = moduleTwin.Properties.Desired; desiredPropertiesData = new DesiredPropertiesData(moduleTwinCollection); @@ -118,11 +81,11 @@ static async Task Init(string connectionString, bool bypassCertVerification = fa // we don't pass ioTHubModuleClient as we're not sending any messages out to the message bus await ioTHubModuleClient.SetInputMessageHandlerAsync("control", ControlMessageHandler, null); - // as this runs in a loop we don't await + // as this runs in a loop we do not await SendSimulationData(ioTHubModuleClient); } - private static async Task SendSimulationData(DeviceClient deviceClient) + private static async Task SendSimulationData(ModuleClient moduleClient) { while(true) { @@ -145,7 +108,7 @@ private static async Task SendSimulationData(DeviceClient deviceClient) message.ContentEncoding = "utf-8"; message.ContentType = "application/json"; - await deviceClient.SendEventAsync("temperatureOutput", message); + await moduleClient.SendEventAsync("temperatureOutput", message); Console.WriteLine($"\t{DateTime.UtcNow.ToShortDateString()} {DateTime.UtcNow.ToLongTimeString()}> Sending message: {counter}, Body: {messageString}"); } diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/README.md b/v2/samples/azureiotedge-simulated-temperature-sensor/README.md index 31a4d833..af094f14 100644 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/README.md +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/README.md @@ -1,12 +1,20 @@ # Simulated Temperature Sensor for Azure IoT Edge -This module is an example of a temperature sensor simulation Azure IoT Edge module. You can see its usage in the [Azure IoT Edge documentation](https://docs.microsoft.com/en-us/azure/iot-edge/). It continuously creates simulated temperature data and sends the message to the `temperatureOutput` endpoint. +This Azure IoT Edge module simulates a temperature sensor. You can see its usage in the [Azure IoT Edge documentation](https://docs.microsoft.com/en-us/azure/iot-edge/). It continuously creates simulated temperature data and sends the message to the `temperatureOutput` endpoint. ## Note about this code This code reflects the implementation details of the deployed `microsoft/azureiotedge-simulated-temperature-sensor:1.0-preview` container. It also extends the functionality to showcase the usage of direct methods and module twin property updates. To use the new features you have to build the container yourself and deploy it to a registry of your choice. -## Available Endpoints +## Code Structure + +The project incorporates the same structure as the `aziotedgemodule` dotnet core template. The complete simulation logic lives in the `Simulation` folder. + +## Building the container image + +To build the container image you have to change the registry entry in the `module.json` file. After that you can use for instance Visual Studio Code and the corresponding [Azure IoT Edge tooling](https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.azure-iot-edge) to build and publish the image to the registry. + +# Available Endpoints You can interact with the Temperature Simulator in several ways. @@ -93,17 +101,6 @@ Properties can be set during the set module process in the Azure Portal or via t **SendInterval** = int value - The interval in seconds between messages being pushed into the endpoint. -## Building Multi-Architecture Docker Container - -This sample includes the file `multi-arch-manifest.yml` to showcase how to create a multi-architecture docker image. - -1. Create for each architecture you want support a docker container using the Dockerfiles provided by the sample -2. Push the container to the registry of your choice -3. Replace the parameters `` and `` with your values. -4. Get the [Manifest-Tool](https://github.com/estesp/manifest-tool) -5. Push `multi-arch-manifest.yml` to your registry using the manifest tool - - # Contributing This project welcomes contributions and suggestions. Most contributions require you to agree to a diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/ControlCommand.cs b/v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/ControlCommand.cs similarity index 85% rename from v2/samples/azureiotedge-simulated-temperature-sensor/ControlCommand.cs rename to v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/ControlCommand.cs index 67c64fb2..df014d32 100644 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/ControlCommand.cs +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/ControlCommand.cs @@ -3,7 +3,7 @@ using Newtonsoft.Json; -namespace AzureIotEdgeSimulatedTemperatureSensor +namespace AzureIotEdgeSimulatedTemperatureSensor.Simulation { public enum ControlCommandEnum { diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/DataGenerationPolicy.cs b/v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/DataGenerationPolicy.cs similarity index 97% rename from v2/samples/azureiotedge-simulated-temperature-sensor/DataGenerationPolicy.cs rename to v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/DataGenerationPolicy.cs index dcca3f8a..3f148773 100644 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/DataGenerationPolicy.cs +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/DataGenerationPolicy.cs @@ -3,7 +3,7 @@ using System; -namespace AzureIotEdgeSimulatedTemperatureSensor +namespace AzureIotEdgeSimulatedTemperatureSensor.Simulation { public class DataGenerationPolicy { diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/DesiredPropertiesData.cs b/v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/DesiredPropertiesData.cs similarity index 96% rename from v2/samples/azureiotedge-simulated-temperature-sensor/DesiredPropertiesData.cs rename to v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/DesiredPropertiesData.cs index 2156d092..7d4e0cc0 100644 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/DesiredPropertiesData.cs +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/DesiredPropertiesData.cs @@ -5,7 +5,7 @@ using Microsoft.Azure.Devices.Shared; using Newtonsoft.Json; -namespace AzureIotEdgeSimulatedTemperatureSensor +namespace AzureIotEdgeSimulatedTemperatureSensor.Simulation { public class DesiredPropertiesData { diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/MessageBody.cs b/v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/MessageBody.cs similarity index 93% rename from v2/samples/azureiotedge-simulated-temperature-sensor/MessageBody.cs rename to v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/MessageBody.cs index 26cac1d8..933d3acc 100644 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/MessageBody.cs +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/MessageBody.cs @@ -3,7 +3,7 @@ using Newtonsoft.Json; -namespace AzureIotEdgeSimulatedTemperatureSensor +namespace AzureIotEdgeSimulatedTemperatureSensor.Simulation { public class MessageBody { diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/TemperatureDataFactory.cs b/v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/TemperatureDataFactory.cs similarity index 96% rename from v2/samples/azureiotedge-simulated-temperature-sensor/TemperatureDataFactory.cs rename to v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/TemperatureDataFactory.cs index cf2d99e8..9345c46c 100644 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/TemperatureDataFactory.cs +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/Simulation/TemperatureDataFactory.cs @@ -3,7 +3,7 @@ using System; -namespace AzureIotEdgeSimulatedTemperatureSensor +namespace AzureIotEdgeSimulatedTemperatureSensor.Simulation { public class TemperatureDataFactory { diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/azureiotedge-simulated-temperature-sensor.csproj b/v2/samples/azureiotedge-simulated-temperature-sensor/azureiotedge-simulated-temperature-sensor.csproj index 977de039..1250e4fe 100644 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/azureiotedge-simulated-temperature-sensor.csproj +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/azureiotedge-simulated-temperature-sensor.csproj @@ -8,15 +8,17 @@ True + https://api.nuget.org/v3/index.json;https://www.myget.org/F/aziot-device-sdk/api/v3/index.json - + + \ No newline at end of file diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/deployment.json b/v2/samples/azureiotedge-simulated-temperature-sensor/deployment.json deleted file mode 100644 index 2ca36bad..00000000 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/deployment.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "moduleContent": { - "$edgeAgent": { - "properties.desired": { - "schemaVersion": "1.0", - "runtime": { - "type": "docker", - "settings": { - "minDockerVersion": "v1.25", - "loggingOptions": "" - } - }, - "systemModules": { - "edgeAgent": { - "type": "docker", - "settings": { - "image": "microsoft/azureiotedge-agent:1.0-preview", - "createOptions": "" - } - }, - "edgeHub": { - "type": "docker", - "status": "running", - "restartPolicy": "always", - "settings": { - "image": "microsoft/azureiotedge-hub:1.0-preview", - "createOptions": "" - } - } - }, - "modules": { - "azureiotedge_simulated_temperature_sensor": { - "version": "1.0", - "type": "docker", - "status": "running", - "restartPolicy": "always", - "settings": { - "image": "/:", - "createOptions": "{}" - } - } - } - } - }, - "$edgeHub": { - "properties.desired": { - "schemaVersion": "1.0", - "routes": { - "route": "FROM /* INTO $upstream" - }, - "storeAndForwardConfiguration": { - "timeToLiveSecs": 7200 - } - } - } - } -} \ No newline at end of file diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/module.json b/v2/samples/azureiotedge-simulated-temperature-sensor/module.json new file mode 100644 index 00000000..1ccb85a6 --- /dev/null +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/module.json @@ -0,0 +1,18 @@ +{ + "$schema-version": "0.0.1", + "description": "", + "image": { + "repository": "/azureiotedge-simulated-temperature-sensor", + "tag": { + "version": "0.0.1", + "platforms": { + "amd64": "./Dockerfile.amd64", + "amd64.debug": "./Dockerfile.amd64.debug", + "arm32v7": "./Dockerfile.arm32v7", + "windows-amd64": "./Dockerfile.windows-amd64" + } + }, + "buildOptions": [] + }, + "language": "csharp" +} \ No newline at end of file diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/multi-arch-manifest.yml b/v2/samples/azureiotedge-simulated-temperature-sensor/multi-arch-manifest.yml deleted file mode 100644 index 235bd760..00000000 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/multi-arch-manifest.yml +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -image: /azureiotedge-simulated-temperature-sensor: -manifests: - - - image: /azureiotedge-simulated-temperature-sensor:-linux-amd64 - platform: - architecture: amd64 - os: linux - - - image: /azureiotedge-simulated-temperature-sensor:-linux-arm32v7 - platform: - architecture: arm - os: linux - - - image: /azureiotedge-simulated-temperature-sensor:-windows-amd64 - platform: - architecture: amd64 - os: windows \ No newline at end of file From b0d3494e0915a64e2a15fd8392699f1647a5248f Mon Sep 17 00:00:00 2001 From: Dariusz Parys Date: Mon, 25 Jun 2018 16:11:57 +0200 Subject: [PATCH 2/2] fixed proj --- .../azureiotedge-simulated-temperature-sensor.csproj | 1 - 1 file changed, 1 deletion(-) diff --git a/v2/samples/azureiotedge-simulated-temperature-sensor/azureiotedge-simulated-temperature-sensor.csproj b/v2/samples/azureiotedge-simulated-temperature-sensor/azureiotedge-simulated-temperature-sensor.csproj index 1250e4fe..22fd6346 100644 --- a/v2/samples/azureiotedge-simulated-temperature-sensor/azureiotedge-simulated-temperature-sensor.csproj +++ b/v2/samples/azureiotedge-simulated-temperature-sensor/azureiotedge-simulated-temperature-sensor.csproj @@ -8,7 +8,6 @@ True - https://api.nuget.org/v3/index.json;https://www.myget.org/F/aziot-device-sdk/api/v3/index.json