provisioning-catalog/playbooks/dr_daoshi_lost/steps/emit_audit.nu

23 lines
781 B
Text

#!/usr/bin/env nu
def main [
--workspace: string = ""
--event-type: string = "dr_daoshi_recovered"
--dry-run
]: nothing -> nothing {
let ws = if ($workspace | is-not-empty) { $workspace } else { $env.PLAYBOOK_PARAM_WORKSPACE? | default "unknown" }
let subject = "ops.audit.libre-wuji"
let payload = { event_type: $event_type, recovered_workspace: $ws, timestamp: (date now | format date "%Y-%m-%dT%H:%M:%SZ") } | to json
if $dry_run {
print $"[dry-run] would publish to ($subject): ($payload)"
return
}
let r = do { ^nats pub $subject $payload } | complete
if $r.exit_code != 0 {
print $"WARNING: audit emit failed: ($r.stderr | str trim)"
} else {
print $"audit event published to ($subject)"
}
}