From 0d8e5da702c43ef47416e5c7ea99da5d4c1eb4f8 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Thu, 23 Jul 2026 15:57:38 +1200 Subject: [PATCH] =?UTF-8?q?build:=20consume=20*Sharp=20clients=20from=20nu?= =?UTF-8?q?get.org=20(Chrison.*)=20=E2=80=94=20org-migration=20P6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Repoint the engine + PowerOrchestrator from the Chrison-dev GitHub-Packages feed to the public nuget.org Chrison.* packages (published via Trusted Publishing from the *Sharp repos). Decouples the NuGet feed from the GitHub org — P6 of the Chrison-dev → Chrison-Homelab migration (#282), and removes the last cross-org GitHub-Packages coupling. - Homelab.Infrastructure.csproj: ProxmoxSharp 0.2.0-preview.31 → Chrison.ProxmoxSharp 0.2.0-preview.5; UnifiSharp 0.1.0-preview.27 → Chrison.UnifiSharp 0.1.0-preview.2. - PowerOrchestrator.Core.csproj: same IDs (ProxmoxSharp pinned; UnifiSharp stays -preview.*). - nuget.config: drop the Chrison-dev GitHub-Packages feed + its credentials/mapping. Chrison.* now resolves from nuget.org (the old bare-ID collision workaround is moot — our IDs carry the Chrison.* prefix). Fallout-build feed unchanged (still PAT-auth). - Docs/comments: CLAUDE.md install cmd → Chrison.ProxmoxSharp.Cli; build/README + the discover-drift note updated (packages are public on nuget.org now). Assembly names/namespaces are unchanged (ProxmoxSharp/UnifiSharp), so no code edits. Verified locally: restore + Release build of the engine and the PowerOrchestrator solution both succeed (0 errors) against the nuget.org packages. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/discover-drift.yml | 7 +++--- CLAUDE.md | 2 +- .../engine/Homelab.Infrastructure.csproj | 20 ++++++++--------- build/README.md | 4 ++-- nuget.config | 22 +++++-------------- .../PowerOrchestrator.Core.csproj | 13 ++++++----- 6 files changed, 29 insertions(+), 39 deletions(-) diff --git a/.github/workflows/discover-drift.yml b/.github/workflows/discover-drift.yml index efd2cb3..a31e5c7 100644 --- a/.github/workflows/discover-drift.yml +++ b/.github/workflows/discover-drift.yml @@ -9,10 +9,9 @@ name: discover-drift # CF-Access-gated `proxmox.chrison.dev` hostname. This sidesteps the Cloudflare WAF # (which 403s datacenter/runner IPs) that blocked GitHub-hosted runners before. # -# Package restore uses the built-in GITHUB_TOKEN — no PAT needed (the engine only -# restores same-org ProxmoxSharp*; the cross-org Fallout feed is build/-only). The -# ProxmoxSharp + ProxmoxSharp.Api packages must grant this repo read access: -# each package → Package settings → Manage Actions access → add Chrison-dev/Homelab (Read). +# Package restore uses the built-in GITHUB_TOKEN — no PAT needed (the engine restores +# Chrison.ProxmoxSharp/Chrison.UnifiSharp from nuget.org, public/no-auth; the cross-org +# Fallout feed is build/-only and not touched here). # # Cluster-reach secrets are shared with _deploy-stack.yml (PROXMOX_BASE_URL points # at the LAN, PROXMOX_VERIFY_TLS=false for the self-signed direct cert): diff --git a/CLAUDE.md b/CLAUDE.md index abbb451..2b58383 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -32,7 +32,7 @@ setup that is NOT in this repo** — most notably **Cloudflare** (account + the ## Proxmox access: prefer the `proxmoxsharp` CLI For Proxmox read/discovery tasks, **use our own `proxmoxsharp` CLI first** (our -dogfooded client, `vendor/ProxmoxSharp` → installed via `dotnet tool install -g ProxmoxSharp.Cli`). +dogfooded client, `vendor/ProxmoxSharp` → installed via `dotnet tool install -g Chrison.ProxmoxSharp.Cli`). The `pve` MCP is a **fallback** (use it if the CLI is unavailable or for an endpoint the CLI doesn't expose yet). diff --git a/Infrastructure/engine/Homelab.Infrastructure.csproj b/Infrastructure/engine/Homelab.Infrastructure.csproj index 8fed044..1e2f8d7 100644 --- a/Infrastructure/engine/Homelab.Infrastructure.csproj +++ b/Infrastructure/engine/Homelab.Infrastructure.csproj @@ -16,17 +16,17 @@ - - + + - + port-forwards/firewall/networks). From nuget.org (Chrison.* prefix); assembly/ + namespace unchanged (UnifiSharp). Pinned exactly (like Chrison.ProxmoxSharp). + Carries the session-auth legacy write client. --> + - - - - - - - + - - - - - - + diff --git a/tools/PowerOrchestrator/src/PowerOrchestrator.Core/PowerOrchestrator.Core.csproj b/tools/PowerOrchestrator/src/PowerOrchestrator.Core/PowerOrchestrator.Core.csproj index 1c1a407..65c3ee7 100644 --- a/tools/PowerOrchestrator/src/PowerOrchestrator.Core/PowerOrchestrator.Core.csproj +++ b/tools/PowerOrchestrator/src/PowerOrchestrator.Core/PowerOrchestrator.Core.csproj @@ -9,12 +9,13 @@ - - - + + +