Skip to content

Commit a641019

Browse files
authored
Merge pull request #10 from f2calv/f2calv/2026-04-helm-workload-update
Bump dependencies, extract code to CasCap.Common, enable SignalCli publishing
2 parents 5d61c7d + 7f2bda4 commit a641019

67 files changed

Lines changed: 203 additions & 491 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: "Copilot Setup Steps"
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
paths:
7+
- .github/workflows/copilot-setup-steps.yml
8+
pull_request:
9+
paths:
10+
- .github/workflows/copilot-setup-steps.yml
11+
12+
permissions: {}
13+
14+
jobs:
15+
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
16+
copilot-setup-steps:
17+
runs-on: ubuntu-latest
18+
permissions:
19+
contents: read
20+
steps:
21+
- name: Checkout SmartHaus
22+
uses: actions/checkout@v6
23+
24+
- name: git clone f2calv/CasCap.Common
25+
run: git clone --depth 1 https://github.com/f2calv/CasCap.Common.git $GITHUB_WORKSPACE/../CasCap.Common
26+
27+
- name: git clone f2calv/CasCap.Api.Azure
28+
run: git clone --depth 1 https://github.com/f2calv/CasCap.Api.Azure.git $GITHUB_WORKSPACE/../CasCap.Api.Azure
29+
30+
- name: dotnet restore SmartHaus.Debug.slnx
31+
run: dotnet restore SmartHaus.Debug.slnx
32+
33+
- name: dotnet build SmartHaus.Debug.slnx
34+
run: dotnet build SmartHaus.Debug.slnx --no-restore

Directory.Build.props

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,10 @@
2525
<!-- <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> -->
2626
<PublishRepositoryUrl>true</PublishRepositoryUrl>
2727
<PackageProjectUrl>https://github.com/f2calv/SmartHaus</PackageProjectUrl>
28-
<PackageLicenseExpression>MIT</PackageLicenseExpression>
28+
<PackageLicenseExpression>Unlicense</PackageLicenseExpression>
29+
<Copyright>Copyright (c) Alex Vincent 2026</Copyright>
2930
<PackageReadmeFile>README.md</PackageReadmeFile>
31+
<PackageReleaseNotes>See https://github.com/f2calv/SmartHaus/releases</PackageReleaseNotes>
3032
<IncludeSymbols>true</IncludeSymbols>
3133
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
3234
<EmbedUntrackedSources>true</EmbedUntrackedSources>

Directory.Packages.props

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
44
</PropertyGroup>
55
<ItemGroup>
6-
<PackageVersion Include="Asp.Versioning.Mvc" Version="10.0.0" />
6+
<PackageVersion Include="Asp.Versioning.Mvc" Version="10.0.0" Condition="'$(TargetFramework)' == 'net10.0'" />
7+
<PackageVersion Include="Asp.Versioning.Mvc" Version="8.1.1" Condition="'$(TargetFramework)' == 'net8.0'" />
78
<PackageVersion Include="Asp.Versioning.Mvc.ApiExplorer" Version="10.0.0" />
89
<PackageVersion Include="AspNetCore.HealthChecks.Azure.Data.Tables" Version="9.0.0" />
910
<PackageVersion Include="AspNetCore.HealthChecks.Azure.Storage.Blobs" Version="9.0.0" />
@@ -14,21 +15,22 @@
1415
<PackageVersion Include="Azure.Extensions.AspNetCore.Configuration.Secrets" Version="1.5.1" />
1516
<PackageVersion Include="Azure.Identity" Version="1.21.0" />
1617
<PackageVersion Include="Azure.ResourceManager.Dns" Version="1.1.1" />
17-
<PackageVersion Include="CasCap.Api.Azure.Auth" Version="1.4.4" />
18-
<PackageVersion Include="CasCap.Api.Azure.Storage" Version="1.4.4" />
18+
<PackageVersion Include="CasCap.Api.Azure.Auth" Version="1.4.7" />
19+
<PackageVersion Include="CasCap.Api.Azure.Storage" Version="1.4.7" />
1920
<PackageVersion Include="CasCap.Common.Abstractions" Version="4.10.1" />
20-
<PackageVersion Include="CasCap.Common.AI" Version="4.10.3" />
21-
<PackageVersion Include="CasCap.Common.Caching" Version="4.10.3" />
22-
<PackageVersion Include="CasCap.Common.Configuration" Version="4.10.3" />
23-
<PackageVersion Include="CasCap.Common.Extensions" Version="4.10.3" />
24-
<PackageVersion Include="CasCap.Common.Extensions.Diagnostics.HealthChecks" Version="4.10.3" />
25-
<PackageVersion Include="CasCap.Common.Logging" Version="4.10.3" />
26-
<PackageVersion Include="CasCap.Common.Logging.Serilog" Version="4.10.3" />
27-
<PackageVersion Include="CasCap.Common.Net" Version="4.10.3" />
28-
<PackageVersion Include="CasCap.Common.Serialization.Json" Version="4.10.3" />
29-
<PackageVersion Include="CasCap.Common.Serialization.MessagePack" Version="4.10.3" />
30-
<PackageVersion Include="CasCap.Common.Services" Version="4.10.3" />
31-
<PackageVersion Include="CasCap.Common.Testing" Version="4.10.3" />
21+
<PackageVersion Include="CasCap.Common.AI" Version="4.11.0" />
22+
<PackageVersion Include="CasCap.Common.Caching" Version="4.11.0" />
23+
<PackageVersion Include="CasCap.Common.Configuration" Version="4.11.0" />
24+
<PackageVersion Include="CasCap.Common.Extensions" Version="4.11.0" />
25+
<PackageVersion Include="CasCap.Common.Extensions.Diagnostics.HealthChecks" Version="4.11.0" />
26+
<PackageVersion Include="CasCap.Common.Logging" Version="4.11.0" />
27+
<PackageVersion Include="CasCap.Common.Logging.Serilog" Version="4.11.0" />
28+
<PackageVersion Include="CasCap.Common.Net" Version="4.11.0" />
29+
<PackageVersion Include="CasCap.Common.OpenTelemetry" Version="4.11.0" />
30+
<PackageVersion Include="CasCap.Common.Serialization.Json" Version="4.11.0" />
31+
<PackageVersion Include="CasCap.Common.Serialization.MessagePack" Version="4.11.0" />
32+
<PackageVersion Include="CasCap.Common.Services" Version="4.11.0" />
33+
<PackageVersion Include="CasCap.Common.Testing" Version="4.11.0" />
3234
<PackageVersion Include="ILGPU" Version="1.5.3" />
3335
<PackageVersion Include="Iot.Device.Bindings" Version="4.2.0" />
3436
<PackageVersion Include="LibreHardwareMonitorLib" Version="0.9.6" />
@@ -56,7 +58,7 @@
5658
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.5.1" />
5759
<!--<PackageVersion Include="Microsoft.Web.LibraryManager.Build" Version="2.1.175" />-->
5860
<PackageVersion Include="ModelContextProtocol" Version="1.2.0" />
59-
<PackageVersion Include="ModelContextProtocol.AspNetCore" Version="1.2.0" />
61+
<PackageVersion Include="ModelContextProtocol.AspNetCore" Version="1.3.0" />
6062
<PackageVersion Include="OllamaSharp" Version="5.4.25" />
6163
<PackageVersion Include="OpenWiz" Version="1.1.0" />
6264
<!--<PackageVersion Include="OpenAI" Version="2.8.0" />-->

appsettings.Development.json

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
},
1313
"AppConfig": {
1414
"KeyVaultName": "skip",
15+
"OtlpExporterEndpoint": "http://localhost:4317/",
1516
"HausName": "demo",
1617
"BlobStorageContainerName": "knxgroupaddresses",
1718
"HealthCheckAzureBlobStorage": "None",
@@ -23,9 +24,6 @@
2324
"Default": "v1.json"
2425
}
2526
},
26-
"ConnectionStrings": {
27-
"OtlpExporter": "http://localhost:4317/"
28-
},
2927
"CasCap": {
3028
"FeatureConfig": {
3129
"EnabledFeatures": "Fronius,Buderus,DoorBird,Knx"
@@ -92,8 +90,6 @@
9290
"DoorControllerRelayID": "1",
9391
"AzureBlobStorageContainerName": "doorbird",
9492
"HealthCheck": "None",
95-
"JsonDebugEnabled": true,
96-
"JsonDebugPath": "c:/temp/mnt/DoorBirdClientService/",
9793
"Sinks": {
9894
"AvailableSinks": {
9995
"SignalR": {
@@ -102,16 +98,11 @@
10298
}
10399
}
104100
},
105-
"DDnsConfig": {
106-
"JsonDebugEnabled": true,
107-
"JsonDebugPath": "c:/temp/mnt/DDnsClientService/"
108-
},
101+
"DDnsConfig": {},
109102
"FroniusConfig": {
110103
"AzureTableStorageConnectionString": "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;",
111104
"BaseAddress": "http://192.168.1.102",
112105
"HealthCheck": "None",
113-
"JsonDebugEnabled": true,
114-
"JsonDebugPath": "c:/temp/mnt/FroniusClientService/",
115106
"Sinks": {
116107
"AvailableSinks": {
117108
"SignalR": {
@@ -161,4 +152,4 @@
161152
"BroadcastAddress": "192.168.1.255"
162153
}
163154
}
164-
}
155+
}

appsettings.json

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"AllowedHosts": "*",
1515
"AppConfig": {
1616
"KeyVaultName": "my-keyvault",
17+
"OtlpExporterEndpoint": "http://opentelemetry-collector.monitoring.svc:4317",
1718
"AzureEntraTenantId": "00000000-0000-0000-0000-000000000000",
1819
"AzureEntraPfxPath": "/etc/certs/edge-sp-cert",
1920
"SwaggerEndpoints": {
@@ -23,10 +24,6 @@
2324
"DoorBird": "/api/v1/doorbird/swagger/v1.json"
2425
}
2526
},
26-
"ConnectionStrings": {
27-
"WebApi": "https://api.example.com",
28-
"OtlpExporter": "http://opentelemetry-collector.monitoring.svc:4317"
29-
},
3027
"CasCap": {
3128
"CachingConfig": {
3229
"RemoteCacheConnectionString": "redis-master.data.svc:6379,allowAdmin=true,abortConnect=false,connectTimeout=1000",
@@ -759,4 +756,4 @@
759756
}
760757
}
761758
}
762-
}
759+
}

docker-compose.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,6 @@ services:
164164
CasCap__FeatureConfig__EnabledFeatures: EdgeHardware,Ubiquiti,Comms
165165

166166
# Container hostname overrides (Development.json uses localhost, compose uses container names)
167-
ConnectionStrings__Redis: redis:6379,allowAdmin=true,abortConnect=false
168-
ConnectionStrings__OtlpExporter: http://otelcol:4317/
169167
CasCap__CachingConfig__RemoteCacheConnectionString: redis:6379,allowAdmin=true,abortConnect=false
170168
CasCap__SignalRHubConfig__SignalRHub: http://smarthaus:8080
171169
CasCap__SignalCliConfig__BaseAddress: http://signalcli:8080

src/CasCap.Api.Buderus.Sinks/CasCap.Api.Buderus.Sinks.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net10.0</TargetFramework>
4+
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
55
</PropertyGroup>
66

77
<PropertyGroup>

src/CasCap.Api.Buderus.Sinks/GlobalUsings.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,11 @@
33
global using CasCap.Abstractions;
44
global using CasCap.Common.Abstractions;
55
global using CasCap.Common.Extensions;
6-
global using CasCap.Extensions;
76
global using CasCap.Models;
8-
global using CasCap.Services;
97
global using Microsoft.Extensions.Configuration;
108
global using Microsoft.Extensions.DependencyInjection;
119
global using Microsoft.Extensions.Logging;
1210
global using Microsoft.Extensions.Options;
13-
global using System.Collections.Concurrent;
14-
global using System.Diagnostics.Metrics;
1511
global using System.Reflection;
1612
global using System.Runtime.CompilerServices;
1713
global using System.Runtime.Serialization;
18-
global using System.Threading.Channels;

src/CasCap.Api.Buderus.Sinks/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
Pluggable event sink implementations for the Buderus heating system integration library ([CasCap.Api.Buderus](../CasCap.Api.Buderus)). Sinks persist `BuderusEvent` instances to external storage backends and are loaded based on the feature's `SinkConfig`.
44

5+
## Installation
6+
7+
```bash
8+
dotnet add package CasCap.Api.Buderus.Sinks
9+
```
10+
511
## Purpose
612

713
This project provides additional `IEventSink<BuderusEvent>` implementations beyond the default in-memory and Console sinks that ship with `CasCap.Api.Buderus`. The sink assembly is scanned by `AddBuderusWithExtraSinks()` at startup, and only sinks whose `SinkTypeAttribute` name is `Enabled = true` in `BuderusConfig.Sinks` are registered.

src/CasCap.Api.Buderus/CasCap.Api.Buderus.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net10.0</TargetFramework>
4+
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
55
</PropertyGroup>
66

77
<PropertyGroup>

0 commit comments

Comments
 (0)