NVSentinel can record a durable, file-based audit trail of HTTP write operations (POST, PUT, PATCH, DELETE) made by its controllers against the Kubernetes API and cloud provider (CSP) HTTP APIs. Each line in the audit log is a JSON object with a timestamp, the NVSentinel component name, the HTTP method and URL, the response status code, and optionally the request body when explicitly enabled.
slog verbosity or log pipeline drops.auditlogger.InitAuditLogger("<component>") at startup. If AUDIT_ENABLED is not true, initialization is a no-op and no log file is created.auditlogger.NewAuditingRoundTripper on their http.RoundTripper (typically via rest.Config.Wrap for client-go, or on the CSP http.Client transport). Only write methods are audited: POST, PUT, PATCH, DELETE.When Helm enables audit logging, the chart also mounts a hostPath volume at /var/log/nvsentinel (and runs an init container to set permissions) so logs persist on the node and can be collected by your log agent.
Not audited by this mechanism: only write methods are recorded; read-only calls (e.g. GET, list, watch) do not produce audit log lines.
Modules that wire the audit logger include fault-quarantine, node-drainer, fault-remediation, platform-connectors, janitor (K8s client), janitor-provider (CSP HTTP clients), and labeler, subject to your Helm subchart enablement.
/var/log/nvsentinel (override with AUDIT_LOG_BASE_PATH if you extend the chart to set it).<POD_NAME>-audit.log (if POD_NAME is unset, the component name is used).AUDIT_LOG_* environment variables (see Configuration).Example line (pretty-printed; on disk it is a single line per request):
With request body logging enabled, a requestBody field may appear — treat these files as highly sensitive.
Configure audit logging in Helm under global.auditLogging:
The umbrella chart injects the following environment variables into components that support audit (values mirror the table above; exact wiring is in distros/kubernetes/nvsentinel/templates/_helpers.tpl under nvsentinel.auditLogging.envVars):
DGX Cloud and similar platforms often surface NVSentinel settings through a cluster spec and templates that render into this Helm global section. The exact keys (e.g. auditLoggingEnabled and auditLogging blocks) are documented in your platform’s NVSentinel config schema; the runtime behavior is always the same Helm global.auditLogging and environment variables above.
logRequestBody: false unless a compliance requirement explicitly needs bodies.AUDIT_ENABLED=true in its environment./var/log/nvsentinel/ and look for *audit.log.Point your log forwarder (DaemonSet agent, node-level Fluent Bit, etc.) at /var/log/nvsentinel/*.log (and rotated *.gz if compress: true) according to your retention and compliance requirements.
Q: I enabled global.auditLogging.enabled but the audit file is empty or missing
AUDIT_ENABLED=true and that the component actually performs write HTTP calls during the window you are observing.audit-logs volume mount and hostPath are present in the pod spec (the umbrella chart only adds them when audit logging is enabled for that workload)./var/log/nvsentinel (the init container should chown for the non-root UID used by the workload).Q: Do audit logs include database or gRPC calls?
RoundTripper. It does not replace database audit products or gRPC-level logging.Q: What is the performance impact?