Nebula
Storage

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.

generated from the sources
public sealed class NebulaDatabase : IDisposable

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. 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();

On this page