9608a7ebc0f2e4a51e1410fc85738f778571522d
审计日志是证据而不是控制手段:写失败不能让请求失败,否则磁盘写满会变成一次远程 拒绝服务——已经执行成功的指令会因为日志追加不上而开始报错,那是坏错了地方。 但它也不能消失。静默丢审计条目是那种"运维以为自己有记录、其实没有"的失败,而这份 日志的全部意义就是事后能回答"谁在什么时候要求了什么"。现在写失败会进 agent 自己的 日志,磁盘写满表现为一行反复出现,而不是一片空白。 顺带把 Close 之后的语义写清楚:Close 会丢掉 sink,此后的写入返回 nil——这是刻意的, 因为一个正在关闭的进程与在途请求赛跑时,为每一个恰好到达的请求报一次失败是噪声 而不是信息。这条差别在 agent 日志里看得见。 测试用真实失败路径(写一个已关闭的文件)而不是填满文件系统,并断言 exec.record 把 它报了出来。 Go 全包、Node 112 项、Swift 101 项通过。
Description
Outbound-only node agent for SimAdmin nodes: long-polls a relay, verifies signed envelopes, and forwards to the local SimAdmin on loopback. Static Go binary, no third-party modules.
268 KiB
Releases
3
simadmin-relay agent 1.0.2
Latest
Languages
Go
96.8%
Shell
2.4%
Makefile
0.8%