From dae37bfa7cdf032ac7a3f3d308486c903133b1fa Mon Sep 17 00:00:00 2001 From: Poornima Nayar Date: Tue, 8 Sep 2026 17:57:06 +0100 Subject: [PATCH 1/2] Upgrade to latest --- src/Billing/Billing.csproj | 12 ++++++------ src/Billing/Program.cs | 5 +++-- src/ClientUI/ClientUI.csproj | 10 +++++----- src/ClientUI/Program.cs | 2 +- src/Messages/Messages.csproj | 2 +- .../RabbitToAzureBridge.csproj | 2 +- src/Raffle/Program.cs | 2 +- src/Raffle/Raffle.csproj | 8 ++++---- src/Sales/Program.cs | 2 +- src/Sales/Sales.csproj | 18 +++++++++--------- src/Shared/OpenTelemetryUtils.cs | 2 +- src/Shared/Shared.csproj | 12 ++++++------ src/Shipping/Program.cs | 2 +- src/Shipping/Shipping.csproj | 12 ++++++------ src/global.json | 7 +++++++ 15 files changed, 53 insertions(+), 45 deletions(-) create mode 100644 src/global.json diff --git a/src/Billing/Billing.csproj b/src/Billing/Billing.csproj index c3b54ff..2f3fea3 100644 --- a/src/Billing/Billing.csproj +++ b/src/Billing/Billing.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 Exe enable enable @@ -19,11 +19,11 @@ - - - - - + + + + + \ No newline at end of file diff --git a/src/Billing/Program.cs b/src/Billing/Program.cs index f0f94cd..2c1d226 100644 --- a/src/Billing/Program.cs +++ b/src/Billing/Program.cs @@ -4,6 +4,7 @@ using NServiceBus.Transport; using Shared; using System.Text.Json; +using NServiceBus; var instancePostfix = args.FirstOrDefault(); @@ -23,7 +24,7 @@ OpenTelemetryUtils.ConfigureOpenTelemetry("Billing", instanceId.ToString(), int.Parse(prometheusPortString)); } -builder.UseNServiceBus(endpointConfiguration); +builder.Services.AddNServiceBusEndpoint(endpointConfiguration); await builder.Build().RunAsync(); EndpointConfiguration PrepareEndpointConfiguration(Guid guid, string s, string? prometheusPortString1) @@ -76,7 +77,7 @@ EndpointConfiguration PrepareEndpointConfiguration(Guid guid, string s, string? cfg.UsePersistence(); cfg.EnableOutbox(); - cfg.EnableOpenTelemetry(); + // cfg.EnableOpenTelemetry(); cfg.EnableInstallers(); return cfg; diff --git a/src/ClientUI/ClientUI.csproj b/src/ClientUI/ClientUI.csproj index 4d39d34..98f6184 100644 --- a/src/ClientUI/ClientUI.csproj +++ b/src/ClientUI/ClientUI.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 Exe enable enable @@ -14,10 +14,10 @@ - - - - + + + + \ No newline at end of file diff --git a/src/ClientUI/Program.cs b/src/ClientUI/Program.cs index c9095f2..c7ea244 100644 --- a/src/ClientUI/Program.cs +++ b/src/ClientUI/Program.cs @@ -47,7 +47,7 @@ .UsingCustomIdentifier(instanceId) .UsingCustomDisplayName(instanceName); -endpointConfiguration.EnableOpenTelemetry(); +//endpointConfiguration.EnableOpenTelemetry(); endpointConfiguration.EnableInstallers(); var metrics = endpointConfiguration.EnableMetrics(); diff --git a/src/Messages/Messages.csproj b/src/Messages/Messages.csproj index 285dd21..bb5ef2d 100644 --- a/src/Messages/Messages.csproj +++ b/src/Messages/Messages.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 enable enable true diff --git a/src/RabbitToAzureBridge/RabbitToAzureBridge.csproj b/src/RabbitToAzureBridge/RabbitToAzureBridge.csproj index 8f3a7e8..3f11bf3 100644 --- a/src/RabbitToAzureBridge/RabbitToAzureBridge.csproj +++ b/src/RabbitToAzureBridge/RabbitToAzureBridge.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 Exe enable enable diff --git a/src/Raffle/Program.cs b/src/Raffle/Program.cs index 28943de..6eb6241 100644 --- a/src/Raffle/Program.cs +++ b/src/Raffle/Program.cs @@ -21,7 +21,7 @@ var endpointConfiguration = PrepareEndpointConfiguration(); -builder.UseNServiceBus(endpointConfiguration); +builder.Services.AddNServiceBusEndpoint(endpointConfiguration); await builder.Build().RunAsync(); EndpointConfiguration PrepareEndpointConfiguration() diff --git a/src/Raffle/Raffle.csproj b/src/Raffle/Raffle.csproj index cddc3fd..1780d09 100644 --- a/src/Raffle/Raffle.csproj +++ b/src/Raffle/Raffle.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 Exe enable enable @@ -19,9 +19,9 @@ - - - + + + \ No newline at end of file diff --git a/src/Sales/Program.cs b/src/Sales/Program.cs index 5cb80a6..62763cd 100644 --- a/src/Sales/Program.cs +++ b/src/Sales/Program.cs @@ -91,7 +91,7 @@ EndpointConfiguration PrepareEndpointConfiguration(Guid guid, string displayName endpointConfiguration.EnableOutbox(); - endpointConfiguration.EnableOpenTelemetry(); + // endpointConfiguration.EnableOpenTelemetry(); endpointConfiguration.EnableInstallers(); var loggerFactory = LoggerFactory.Create(builder => diff --git a/src/Sales/Sales.csproj b/src/Sales/Sales.csproj index 5788bc9..46a5be2 100644 --- a/src/Sales/Sales.csproj +++ b/src/Sales/Sales.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 Exe enable enable @@ -14,14 +14,14 @@ - - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/src/Shared/OpenTelemetryUtils.cs b/src/Shared/OpenTelemetryUtils.cs index 92525f0..b59acca 100644 --- a/src/Shared/OpenTelemetryUtils.cs +++ b/src/Shared/OpenTelemetryUtils.cs @@ -20,7 +20,7 @@ public static IDisposable ConfigureOpenTelemetry(string name, string id, int por .SetResourceBuilder(resourceBuilder) .AddMeter("NServiceBus.Core*"); - meterProviderBuilder.AddPrometheusHttpListener(options => options.UriPrefixes = [$"http://127.0.0.1:{port}"]); + meterProviderBuilder.AddPrometheusHttpListener(); var meterProvider = meterProviderBuilder.Build(); diff --git a/src/Shared/Shared.csproj b/src/Shared/Shared.csproj index 65511de..df6f67b 100644 --- a/src/Shared/Shared.csproj +++ b/src/Shared/Shared.csproj @@ -1,18 +1,18 @@  - net8.0 + net10.0 enable enable - + - - - - + + + + diff --git a/src/Shipping/Program.cs b/src/Shipping/Program.cs index 3b7b144..5fc4cde 100644 --- a/src/Shipping/Program.cs +++ b/src/Shipping/Program.cs @@ -73,7 +73,7 @@ EndpointConfiguration PrepareEndpointConfiguration(Guid guid, string s) cfg.UsePersistence(); cfg.EnableOutbox(); - cfg.EnableOpenTelemetry(); + // cfg.EnableOpenTelemetry(); cfg.EnableInstallers(); return cfg; diff --git a/src/Shipping/Shipping.csproj b/src/Shipping/Shipping.csproj index 3d72821..4e9036c 100644 --- a/src/Shipping/Shipping.csproj +++ b/src/Shipping/Shipping.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 Exe enable enable @@ -19,11 +19,11 @@ - - - - - + + + + + \ No newline at end of file diff --git a/src/global.json b/src/global.json new file mode 100644 index 0000000..9a523dc --- /dev/null +++ b/src/global.json @@ -0,0 +1,7 @@ +{ + "sdk": { + "version": "10.0.0", + "rollForward": "latestMajor", + "allowPrerelease": false + } +} \ No newline at end of file From 7eef6b232399ef944e0e16745c825e41cfea0dce Mon Sep 17 00:00:00 2001 From: Szymon Pobiega Date: Mon, 14 Sep 2026 12:33:16 +0200 Subject: [PATCH 2/2] Update README.md --- README.md | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fa103eb..bd019c2 100644 --- a/README.md +++ b/README.md @@ -118,4 +118,36 @@ There is a number of packages required to run the demo. Here's a list of debian #### Client - tmux -- gh \ No newline at end of file +- gh + +## Starting up + +- Power up all devices +- Ensure Gateway Pi can connect to the Internet +- Open browser on the Gateway and verify: + - PostgreSQL database is up + - RabbitMQ broker is up + - All containers are up in Dockge +- Open terminal window in Gateway +- In one tab run `tmux-panes.sh` + - Log in to all panes using password `particular` + - In each pane run `sales/Sales X` where X is 1..3 + - Verify all Sales endpoint are running +- In Clockwork Pi (Client Pi) open a terminal window + - Run `start-client.sh` + - Press `b` a couple of times and verify is messages are processed by Sales +- In Gateway browser verify that messages are properly bridged to Azure and not stuck in RabbitMQ +- In Gateway terminal window open a new tab + - Run `attach-client.sh` + - Verify if you can see the same screen as on the Clockwork Pi +- In Gateway terminal window open a new tab + - Run `pyhton3 mqtt-bridge.py` + - Press the button a couple of times + - Verify that Sales endpoint is processing messages +- In Gateway terminal window open a new tab + - Run `sudo evtest` to see which device file is associated with the controller + - Run `python3 button-box.py ` or `python3 button-box-saitek.py ` to forward controller events to Sales + - Press some buttons to verify if events are forwrded +- In Gateway terminal window open a new tab + - Run `python3 button-box-client ` or `python3 button-box-client-saitek.py ` to forward controller events to Client + - Press some buttons to verify if events are forwarded