NebulaDatabase
The standalone orchestrator's database: SQLite (a file next to the orchestrator, the default for a local mesh) or PostgreSQL (for a deployed mesh), behind one ADO.NET surface.
Nebula · Packages/com.1by3.nebula/Services~/Nebula.Services/Storage/NebulaDatabase.cspublic sealed class NebulaDatabase : IDisposableThe standalone orchestrator's database: SQLite (a file next to the orchestrator, the default for a local mesh) or PostgreSQL (for a deployed mesh), behind one ADO.NET surface. It holds three tables: nebula_control_plane (the control plane document, see SqlControlPlaneStorage) and nebula_entity (saved entities, see SqlPersistenceStore), and nebula_gateway_session (gateway admission claims), nebula_scope (scope-key claims), and shared_cache (write-once derived data workers share, see SqlSharedCacheStore). EnsureSchema creates them if they are missing; every SQL statement is written once and differs only in the few type names the two engines disagree on.
Properties
Provider
public string Provider { get; }"sqlite" or "postgres".
Display
public string Display { get; }The URL as configured, password masked.
Blob
public string Blob { get; }Type names where the engines differ.
Double
public string Double { get; }Methods
Open
public static NebulaDatabase Open(DatabaseUrl url);
public DbConnection Open();Prepare the database behind url. Nothing is connected yet; Open does that.
EnsureSchema
public void EnsureSchema(DbConnection c);Execute
public static int Execute(DbConnection c, string sql, params (string name, object value)[] args);Command
public static DbCommand Command(DbConnection c, string sql, params (string name, object value)[] args);Dispose
public void Dispose();