Cerbi.Governance.Core
1.0.2
dotnet add package Cerbi.Governance.Core --version 1.0.2
NuGet\Install-Package Cerbi.Governance.Core -Version 1.0.2
<PackageReference Include="Cerbi.Governance.Core" Version="1.0.2" />
<PackageVersion Include="Cerbi.Governance.Core" Version="1.0.2" />
<PackageReference Include="Cerbi.Governance.Core" />
paket add Cerbi.Governance.Core --version 1.0.2
#r "nuget: Cerbi.Governance.Core, 1.0.2"
#addin nuget:?package=Cerbi.Governance.Core&version=1.0.2
#tool nuget:?package=Cerbi.Governance.Core&version=1.0.2
Cerbi.Governance.Core
📄 What is Cerbi.Governance.Core?
Cerbi.Governance.Core
is the shared runtime contract used across the Cerbi ecosystem for both build-time analyzers and runtime log governance enforcement. It includes:
- JSON schema models (
LogProfile
,CerbiGovernance
, etc.) - Plugin interfaces (
ICustomGovernancePlugin
) - Governance result structures (
GovernanceViolation
,GovernanceValidationResult
) - Attribute to wire up governance configs (
[assembly: CerbiGovernanceConfig(...)]
)
This library is designed to be lightweight, portable, and reusable across CerbiStream, governance analyzers, plugin systems, and runtime tools.
✨ Primary Use Cases
Scenario | How Cerbi.Governance.Core Helps |
---|---|
✏️ Authoring governance JSON | Models like LogProfile , EncryptionSettings |
🔗 Connecting analyzers | Used by Roslyn analyzers to interpret profile data |
⌛ Runtime log evaluation | Used by CerbiStream to validate logs during execution |
🔍 Plugin extensibility | Exposes ICustomGovernancePlugin for custom rules |
🚀 Quick Start
# Add to your CerbiStream app or analyzer
$ dotnet add package Cerbi.Governance.Core
Then, in your code:
using Cerbi.Governance;
[assembly: CerbiGovernanceConfig("cerbi_governance.json")]
💡 Common Types
✏️ Governance Profile Structure
public class LogProfile
{
public Dictionary<string, string> FieldSeverities { get; set; }
public Dictionary<string, List<string>> FieldEnums { get; set; }
public Dictionary<string, string> FieldDescriptions { get; set; }
public bool RequireTopic { get; set; }
public List<string> AllowedTopics { get; set; }
public string DefaultTopic { get; set; }
public EncryptionSettings EncryptionSettings { get; set; }
public bool? AllowRelax { get; set; }
}
⚡ Plugin Interface
public interface ICustomGovernancePlugin
{
string Id { get; }
string Description { get; }
PluginCategory Category { get; }
string[] AppliesToProfiles { get; }
bool Validate(string profileName, Dictionary<string, object> logData, out List<string> failures, out int impactScore);
}
⚠️ Violation Result
public class GovernanceViolation
{
public string RuleId { get; set; }
public string Message { get; set; }
public string Field { get; set; }
public string Severity { get; set; } = "Error";
}
🔧 Recommended Use
Component | Reference This Package? |
---|---|
CerbiStream (runtime) | ✅ Yes |
Cerbi Governance Analyzer | ✅ Yes |
Governance plugins | ✅ Yes |
CI testing tools | ✅ Yes |
⚖️ License
- License: MIT
- Copyright: © Cerbi LLC 2025
🔗 Links
- GitHub: https://github.com/Zeroshi/CerbiStream
- NuGet: https://nuget.org/packages/Cerbi.Governance.Core
- Website: https://cerbi.systems
Structured • Secure • Compliant
Cerbi.Governance.Core powers build-time and runtime governance for structured logging apps.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.CodeAnalysis.CSharp (>= 4.14.0)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Cerbi.Governance.Core:
Package | Downloads |
---|---|
CerbiStream
CerbiStream.Logging - Secure, Scalable, and Standardized Logging for Modern Applications. |
|
CerbiStream.GovernanceAnalyzer
Roslyn analyzer to enforce structured logging governance for CerbiStream apps. Ensures consistency, traceability, and compliance. |
|
Cerbi.MEL.Governance
Real-time governance enforcement for Microsoft.Extensions.Logging (MEL) using the Cerbi validation engine. |
|
Cerbi.Governance.Runtime
Real-time governance enforcement for CerbiStream and other structured loggers. |
|
Cerbi.Serilog.GovernanceAnalyzer
Roslyn analyzer that enforces structured logging governance for Serilog-based CerbiStream apps. Prevents forbidden fields, ensures required fields, and enables enterprise-grade compliance enforcement. |
GitHub repositories
This package is not used by any popular GitHub repositories.