NuGet · nuget

Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool

CLI tool to package Eltheon plugins into .elpkg artifacts.

Install

Install-Kommandos

dotnet add package Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool --version 0.7.0.1
<PackageReference Include="Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool" Version="0.7.0.1" />
paket add Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool --version 0.7.0.1
Install-Package Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool -Version 0.7.0.1

README

Vorschau

Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool

CLI zum Packen und Prüfen von Manifest-v3-Plugins als .elpkg.

Manifest

plugin pack verlangt manifest/plugin.manifest.json mit manifestVersion = 3. Reine manifest.json-Projekte werden abgelehnt. Der Parameter --manifest-v3 wird aus Kompatibilitätsgründen akzeptiert, hat aber keine Wirkung mehr.

Schnellstart

dotnet run --project Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool -- `
  plugin pack `
  --project ./MyPlugin/MyPlugin.csproj `
  --output ./artifacts/plugins

Weitere Befehle:

dotnet run --project Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool -- plugin validate --package ./artifacts/plugins/vendor.plugin.1.0.0.elpkg --strict
dotnet run --project Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool -- plugin inspect --package ./artifacts/plugins/vendor.plugin.1.0.0.elpkg --output json
dotnet run --project Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool -- plugin policy evaluate --package ./artifacts/plugins/vendor.plugin.1.0.0.elpkg --environment production
dotnet run --project Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool -- plugin migrations validate --package ./artifacts/plugins/vendor.plugin.1.0.0.elpkg
dotnet run --project Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool -- plugin observability inspect --package ./artifacts/plugins/vendor.plugin.1.0.0.elpkg
dotnet run --project Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool -- plugin sign --package ./artifacts/plugins/vendor.plugin.1.0.0.elpkg --certificate ./signing-cert.pem --key-id project.release --key-env ELTHEON_PLUGIN_SIGNING_KEY
dotnet run --project Redeon.SuperSiteEngineCore.Web.Eltheon.Plugins.PackTool -- plugin verify --package ./artifacts/plugins/vendor.plugin.1.0.0.elpkg

plugin sign verwendet ausschließlich RSA-PSS-SHA256. Der private PEM-Schlüssel wird über --key oder --key-env eingelesen und weder in das Paket noch in Logs geschrieben. Pakete enthalten nur die abgesetzte Signatur, das öffentliche Zertifikat und den kanonischen Inhaltsdigest.

Package Layout

The pack command:

  • validates the source Manifest v3 contract,
  • builds or reuses the project publish output,
  • stages runtime files below lib/{targetFramework}/,
  • stages declared assets below assets/wwwroot/,
  • stages localization below resources/{culture}/,
  • stages provider migrations below migrations/{provider}/,
  • stages README.md as docs/README.md,
  • writes the canonical integrity/package.sha256,
  • validates the finished package again.

Validation rejects unsafe paths, missing entry assemblies/types, missing declared migration artifacts, invalid resources, scripts, invalid integrity metadata, and manipulated signatures. Policy, migration, observability, and signature verification inspect package content only and do not mutate a host or database.