class

CRE::Engine::RotationWorker

Inherits Reference < Object

RotationWorker is the subscriber that turns RotationScheduled events into actual 4-step rotations. It owns a kind -> Rotator dispatch table populated at boot from env-var configuration (see cre run).

The worker uses Block overflow so a slow rotator can't drop scheduled rotations on the floor.

Constants

Log = ::Log.for("cre.rotation_worker")

Constructors

new(bus : EventBus, orchestrator : RotationOrchestrator, persistence : Persistence::Persistence)
Source

Instance methods

kinds
Source
register(kind : Symbol, rotator : Rotators::Rotator) : Nil
Source
rotator_for_kind(kind : Domain::CredentialKind) : Rotators::Rotator | Nil
Source
start
Source
stop
Source