5 Commits
Author SHA1 Message Date
Kyle Kloberdanz db19a7f551 Implement tctl observability (#67904)
This PR adds audit queue observability to tctl. It allows you to view
the audit queue depth and also sort records based on number of events in
each queue.
2026-08-12 22:23:22 +00:00
Kyle Kloberdanz abffb9fa28 Attempt to drain the audit queue on shutdown. (#67818)
This PR attempts to drain the queue during a graceful shutdown. It adds
the method Drain() to the Queue interface, which blocks while the queue
still has events in it.
2026-07-28 20:43:28 +00:00
Kyle Kloberdanz 6fa661007d Quarantine corrupt events (#67638)
This implements a mechanism that will move events that fail to
deserialize from the audit_queue into the corrupt_events table. This
will ensure that events that fail to deserialize don't "clog" the main
queue. These events do not belong in the dead-letter table because if
they fail to deserialize, then there is no point in retrying them.

Between process restarts, we will attempt to re-send corrupt_events in
case the failed deserialization was due to a version mismatch from a
Teleport downgrade and upgrade.
2026-07-28 16:30:47 +00:00
Kyle Kloberdanz 6c61cbb870 Implement configuration options for the audit queue (#67212)
This implements the configuration options for the audit log queue as
described in the RFD. As requested, the queue implements a fallback
mechanism where the operator may specify an ordered list of audit log
queue backends to use. If we encounter an error constructing a queue
backend, we will fallback to the next option to try.
2026-07-23 20:59:16 +00:00
Kyle Kloberdanz 89256e3a7f Implement in-memory audit log queue (#67095)
This adds an in-memory SQLite-backed audit log queue. The intention is
this can act as a fallback if there is an error constructing a disk
backed queue, for example, if writing to the filesystem causes an error.
A follow-up PR will implement the fallback logic.
2026-07-21 14:38:02 +00:00