Home / IntersectMBO / cardano-node
Jun 04, 6-7 AM (0)
Jun 04, 7-8 AM (1)
Jun 04, 8-9 AM (8)
Jun 04, 9-10 AM (1)
Jun 04, 10-11 AM (0)
Jun 04, 11-12 PM (0)
Jun 04, 12-1 PM (0)
Jun 04, 1-2 PM (11)
Jun 04, 2-3 PM (6)
Jun 04, 3-4 PM (0)
Jun 04, 4-5 PM (0)
Jun 04, 5-6 PM (0)
Jun 04, 6-7 PM (1)
Jun 04, 7-8 PM (1)
Jun 04, 8-9 PM (1)
Jun 04, 9-10 PM (0)
Jun 04, 10-11 PM (0)
Jun 04, 11-12 AM (0)
Jun 05, 12-1 AM (0)
Jun 05, 1-2 AM (0)
Jun 05, 2-3 AM (0)
Jun 05, 3-4 AM (0)
Jun 05, 4-5 AM (1)
Jun 05, 5-6 AM (0)
Jun 05, 6-7 AM (0)
Jun 05, 7-8 AM (0)
Jun 05, 8-9 AM (0)
Jun 05, 9-10 AM (0)
Jun 05, 10-11 AM (0)
Jun 05, 11-12 PM (1)
Jun 05, 12-1 PM (0)
Jun 05, 1-2 PM (14)
Jun 05, 2-3 PM (5)
Jun 05, 3-4 PM (0)
Jun 05, 4-5 PM (0)
Jun 05, 5-6 PM (0)
Jun 05, 6-7 PM (0)
Jun 05, 7-8 PM (1)
Jun 05, 8-9 PM (0)
Jun 05, 9-10 PM (0)
Jun 05, 10-11 PM (0)
Jun 05, 11-12 AM (0)
Jun 06, 12-1 AM (0)
Jun 06, 1-2 AM (0)
Jun 06, 2-3 AM (0)
Jun 06, 3-4 AM (0)
Jun 06, 4-5 AM (0)
Jun 06, 5-6 AM (0)
Jun 06, 6-7 AM (0)
Jun 06, 7-8 AM (0)
Jun 06, 8-9 AM (0)
Jun 06, 9-10 AM (0)
Jun 06, 10-11 AM (0)
Jun 06, 11-12 PM (0)
Jun 06, 12-1 PM (0)
Jun 06, 1-2 PM (0)
Jun 06, 2-3 PM (0)
Jun 06, 3-4 PM (0)
Jun 06, 4-5 PM (0)
Jun 06, 5-6 PM (0)
Jun 06, 6-7 PM (0)
Jun 06, 7-8 PM (0)
Jun 06, 8-9 PM (0)
Jun 06, 9-10 PM (0)
Jun 06, 10-11 PM (0)
Jun 06, 11-12 AM (1)
Jun 07, 12-1 AM (0)
Jun 07, 1-2 AM (0)
Jun 07, 2-3 AM (0)
Jun 07, 3-4 AM (0)
Jun 07, 4-5 AM (0)
Jun 07, 5-6 AM (0)
Jun 07, 6-7 AM (0)
Jun 07, 7-8 AM (0)
Jun 07, 8-9 AM (0)
Jun 07, 9-10 AM (0)
Jun 07, 10-11 AM (0)
Jun 07, 11-12 PM (0)
Jun 07, 12-1 PM (0)
Jun 07, 1-2 PM (0)
Jun 07, 2-3 PM (0)
Jun 07, 3-4 PM (0)
Jun 07, 4-5 PM (0)
Jun 07, 5-6 PM (0)
Jun 07, 6-7 PM (0)
Jun 07, 7-8 PM (0)
Jun 07, 8-9 PM (0)
Jun 07, 9-10 PM (0)
Jun 07, 10-11 PM (0)
Jun 07, 11-12 AM (0)
Jun 08, 12-1 AM (0)
Jun 08, 1-2 AM (0)
Jun 08, 2-3 AM (0)
Jun 08, 3-4 AM (0)
Jun 08, 4-5 AM (0)
Jun 08, 5-6 AM (0)
Jun 08, 6-7 AM (0)
Jun 08, 7-8 AM (0)
Jun 08, 8-9 AM (0)
Jun 08, 9-10 AM (0)
Jun 08, 10-11 AM (0)
Jun 08, 11-12 PM (0)
Jun 08, 12-1 PM (0)
Jun 08, 1-2 PM (0)
Jun 08, 2-3 PM (0)
Jun 08, 3-4 PM (0)
Jun 08, 4-5 PM (0)
Jun 08, 5-6 PM (0)
Jun 08, 6-7 PM (0)
Jun 08, 7-8 PM (0)
Jun 08, 8-9 PM (0)
Jun 08, 9-10 PM (0)
Jun 08, 10-11 PM (0)
Jun 08, 11-12 AM (0)
Jun 09, 12-1 AM (0)
Jun 09, 1-2 AM (0)
Jun 09, 2-3 AM (0)
Jun 09, 3-4 AM (0)
Jun 09, 4-5 AM (0)
Jun 09, 5-6 AM (0)
Jun 09, 6-7 AM (2)
Jun 09, 7-8 AM (1)
Jun 09, 8-9 AM (3)
Jun 09, 9-10 AM (0)
Jun 09, 10-11 AM (0)
Jun 09, 11-12 PM (0)
Jun 09, 12-1 PM (1)
Jun 09, 1-2 PM (0)
Jun 09, 2-3 PM (3)
Jun 09, 3-4 PM (10)
Jun 09, 4-5 PM (2)
Jun 09, 5-6 PM (0)
Jun 09, 6-7 PM (1)
Jun 09, 7-8 PM (0)
Jun 09, 8-9 PM (0)
Jun 09, 9-10 PM (0)
Jun 09, 10-11 PM (0)
Jun 09, 11-12 AM (0)
Jun 10, 12-1 AM (2)
Jun 10, 1-2 AM (1)
Jun 10, 2-3 AM (0)
Jun 10, 3-4 AM (0)
Jun 10, 4-5 AM (0)
Jun 10, 5-6 AM (1)
Jun 10, 6-7 AM (1)
Jun 10, 7-8 AM (0)
Jun 10, 8-9 AM (0)
Jun 10, 9-10 AM (4)
Jun 10, 10-11 AM (0)
Jun 10, 11-12 PM (0)
Jun 10, 12-1 PM (1)
Jun 10, 1-2 PM (1)
Jun 10, 2-3 PM (6)
Jun 10, 3-4 PM (1)
Jun 10, 4-5 PM (0)
Jun 10, 5-6 PM (0)
Jun 10, 6-7 PM (0)
Jun 10, 7-8 PM (0)
Jun 10, 8-9 PM (0)
Jun 10, 9-10 PM (0)
Jun 10, 10-11 PM (0)
Jun 10, 11-12 AM (0)
Jun 11, 12-1 AM (0)
Jun 11, 1-2 AM (0)
Jun 11, 2-3 AM (0)
Jun 11, 3-4 AM (0)
Jun 11, 4-5 AM (0)
Jun 11, 5-6 AM (0)
Jun 11, 6-7 AM (0)
94 commits this week Jun 04, 2026 - Jun 11, 2026
tracing: surface TraceLeiosDb via the Leios kernel tracer
  Adapts cardano-node to the updated ouroboros-consensus
  newLeiosDBSQLite signature (Tracer IO TraceLeiosDb -> FilePath -> ...)
  from IntersectMBO/ouroboros-consensus#2062 by contramapping the
  TraceLeiosDb constructor into the existing Consensus.LeiosKernel
  tracer. SQLite UNIQUE/PRIMARY KEY collision events are given Warning
  severity so they remain visible under the default Notice configuration.

Co-Authored-By: Claude Fable 5 <[email protected]>
Wire TraceLeiosDb through to new tracing
Adapts cardano-node to the updated ouroboros-consensus
newLeiosDBSQLite signature (Tracer IO TraceLeiosDb -> FilePath -> ...)
introduced in IntersectMBO/ouroboros-consensus#2062, and surfaces the
SQLite UNIQUE/PRIMARY KEY collision events it emits.

* New tracing: adds a leiosDbTracer field on Cardano.Node.Tracing.Tracers,
  wires it via mkCardanoTracer at namespace Consensus.LeiosDb, and provides
  LogFormatting / MetaTrace instances (Warning severity).
* Legacy tracing: leiosDbTracer = nullTracer, matching how the other
  Leios consensus tracers are currently left.
* Run.hs: passes (leiosDbTracer tracers) to newLeiosDBSQLite.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
docker: move env snapshot to `/tmp`, drop dead topologyUpdater mapping
`run-node` and `run-tracer` wrote a sourceable env file to `/usr/local/bin/env` at
every startup, which fails under `--read-only` / `readOnlyRootFilesystem`. The
file was introduced in d9c8317e5 (#2801) to feed the topologyUpdate script added the same day in
c652f1055. topologyUpdate was removed in 56266c061 and never reintroduced;
the writer was preserved by accident when 34a4796ed re-created the docker
context, along with a stale `# Mapping for topologyUpdater` comment. Across
all branches, there is noconsumer besides the deleted topologyUpdater.

The `CARDANO_*` snapshot remains useful for operators that exec into the
container and want the resolved (post-defaults) config in a shell, so the
writer is kept but redirected to `/tmp/cardano-env` (writable when `/tmp` is
mounted as tmpfs/emptyDir). A build-time symlink at `/usr/local/bin/env ->
/tmp/cardano-env` keeps the legacy path resolving in case any out-of-tree
consumer depends on it.

The variables that existed only for topologyUpdater are dropped from the
snapshot.

The README's new "Read-Only Root Filesystem" section documents the required
writable mounts, the new env-snapshot path, and how custom-mode operators
should direct any profile output to a writable mount.

In response to #6470.
nixos: gate RTS stats/profiling flags + add `profilingoutputdir`
The cardano-node and cardano-tracer service modules unconditionally emitted
`--machine-readable -tcardano-node.stats -pocardano-node` in the default
`profilingArgs`, regardless of `cfg.profiling`. GHC's `-tFILE` always writes the
stats file on shutdown, which broke startup on read-only filesystems even
though no profiling was configured. Gate the three flags on
`cfg.profiling != "none" || cfg.eventlog` so the default RTS command line is
empty when nothing is requested.

When profiling is enabled, the same flags now consult a new option,
`services.cardano-node.profilingOutputDir` (and the tracer equivalent), to
prefix the output file paths. The option defaults to null, preserving today's
relative-path behavior on NixOS where systemd's `WorkingDirectory` equals
`cfg.stateDir`. `scripts.nix` sets it to `/logs` for the OCI script wrappers, so
profile output under the read-only OCI image lands on the writable `/logs`
mount.

In response to #6470.