Class: Captive::ActivityTrail

Inherits:
Object
  • Object
show all
Defined in:
lib/captive/activity_trail.rb

Overview

Ce qu'on signale au dashboard des accès qu'on ouvre sur une app : console, shell, commande one-off, export et restauration de la base.

Cette unité change quand les accès qu'on trace changent, là où les commandes changent quand ce qu'elles font change. Elle porte les kind, que le dashboard traduit en événements : les laisser dans les actions Thor les éparpillait sur cinq commandes.

Instance Method Summary collapse

Constructor Details

#initialize(dashboard: DashboardClient.new) ⇒ ActivityTrail

Returns a new instance of ActivityTrail.



13
14
15
# File 'lib/captive/activity_trail.rb', line 13

def initialize(dashboard: DashboardClient.new)
  @dashboard = dashboard
end

Instance Method Details

#command_run(app, command, session: nil) ⇒ Object



24
25
26
# File 'lib/captive/activity_trail.rb', line 24

def command_run(app, command, session: nil)
  signaler(app, "run", command: Array(command).join(" "), session: session)
end

#console_opened(app, session: nil) ⇒ Object

session n'accompagne que les accès qui tournent dans un Job one-off : eux seuls laissent un log dans Loki que le dashboard saura rattacher à l'entrée du fil. Un shell passe par kubectl exec et n'est capturé nulle part, donc n'en porte pas.



20
# File 'lib/captive/activity_trail.rb', line 20

def console_opened(app, session: nil) = signaler(app, "console", session: session)

#db_dumped(app) ⇒ Object



21
# File 'lib/captive/activity_trail.rb', line 21

def db_dumped(app)                    = signaler(app, "db_dump")

#db_restored(app) ⇒ Object



22
# File 'lib/captive/activity_trail.rb', line 22

def db_restored(app)                  = signaler(app, "db_restore")