Steven Masley
357e81b470
feat(coderd): list workspace secrets on workspace build audit entries ( #30459 )
...
Workspace build audit entries now list the build's secrets: name, env var, file path, and whether the request set the secret or it was carried forward from the previous build. Values are never included. Follows up on [this review thread](https://github.com/coder/coder/pull/30250#discussion_r4199276004 ).
**Stack** (design decisions in #30248 )
1. #30248 Database schema, queries, and RBAC
2. #30249 Encryption at rest
3. #30250 Set secrets on workspace builds
4. #30251 Deliver secrets to the agent
5. #30252 Docs
6. #30388 List a build's secrets
7. **#30459 Audit a build's secrets (this PR)**
- Every workspace build audit entry includes its secrets, including builds that fail and orphaned deletes.
- The entry lists the build's full set of secrets. Removed secrets show up only by being absent.
- The three places that write build audit entries now share one helper instead of building the fields by hand.
<details>
<summary>Implementation details</summary>
- `audit.AdditionalFields` gains `workspace_secrets`: `name`, `env_name`, `file_path`, and `source` (`request` or `carry_forward`) for each secret.
- New `audit.WorkspaceBuildFields` is used for job success and failure in `provisionerdserver`, and for the orphan delete completed in `workspacebuilds.go`.
- `source` comes from the `workspace_secrets.source` column (#30248 ), set by `persistSecrets` (#30250 ).
</details>
<details>
<summary>Decision log</summary>
(existing decision log, unchanged)
</details>
---
*Created by Coder Agents on behalf of @Emyrk.*
2026-10-15 18:03:15 -05:00
..
2026-10-15 17:40:00 -05:00
2025-06-20 13:16:55 -06:00
2026-10-15 12:01:26 +01:00
2026-10-07 16:51:19 +00:00
2026-10-13 07:57:56 +00:00
2026-09-29 11:48:52 +02:00
2026-09-11 01:48:56 +00:00
2026-10-15 17:40:00 -05:00
2026-10-07 11:43:19 +03:00
2026-09-02 11:29:35 +02:00
2026-10-15 18:03:15 -05:00
2026-08-21 23:46:27 -06:00
2026-10-15 14:20:44 -05:00
2023-10-30 19:44:29 +00:00
2026-10-13 07:57:56 +00:00
2026-10-05 16:52:36 -07:00
2026-10-12 15:56:40 +03:00
2026-10-05 16:52:36 -07:00
2026-10-15 15:42:33 -07:00
2026-10-13 07:57:56 +00:00
2026-10-09 16:42:41 -06:00
2026-10-13 07:57:56 +00:00
2026-09-16 14:52:21 -07:00
2026-09-23 20:08:31 +02:00
2026-10-13 16:24:45 +00:00
2026-09-27 23:34:26 +02:00
2026-08-21 23:46:27 -06:00
2026-10-14 16:34:56 +05:00
2026-09-24 15:12:28 +03:00
2026-10-05 16:52:36 -07:00
2026-10-13 07:57:56 +00:00
2026-10-09 00:58:39 +05:00
2026-04-02 23:51:02 +02:00
2026-10-13 07:57:56 +00:00
2026-10-15 18:03:15 -05:00
2025-06-17 09:00:32 -08:00
2026-10-15 13:32:40 -05:00
2026-08-25 08:12:00 -07:00
2026-09-17 18:14:08 +02:00
2026-10-11 19:57:49 +02:00
2026-10-12 15:56:40 +03:00
2026-10-15 15:42:33 -07:00
2026-10-14 12:35:48 -04:00
2026-10-02 16:40:24 -08:00
2026-08-25 16:40:41 +07:00
2026-10-05 12:15:42 +00:00
2026-10-14 14:55:29 -07:00
2026-08-03 15:56:56 -05:00
2026-10-15 17:40:00 -05:00
2026-09-26 21:41:25 +02:00
2026-10-15 14:20:44 -05:00
2026-10-15 14:39:21 +11:00
2026-09-23 20:08:31 +02:00
2026-09-09 10:16:24 +02:00
2026-09-11 16:03:44 +00:00
2026-09-11 16:03:44 +00:00
2026-09-29 09:20:31 +01:00
2026-09-29 09:20:31 +01:00
2026-09-29 09:20:31 +01:00
2026-09-14 13:47:48 -07:00
2026-10-07 11:43:19 +03:00
2026-10-07 11:43:19 +03:00
2026-05-28 18:37:57 +01:00
2026-09-11 01:48:56 +00:00
2026-08-06 09:18:46 -04:00
2026-08-06 09:18:46 -04:00
2026-10-13 19:15:16 +07:00
2026-10-13 19:15:16 +07:00
2026-10-05 12:52:10 -04:00
2026-10-05 12:52:10 -04:00
2026-10-01 11:49:21 -04:00
2026-10-01 11:49:21 -04:00
2026-10-01 11:49:21 -04:00
2026-10-13 19:15:16 +07:00
2026-09-14 08:31:26 -07:00
2026-10-15 17:40:00 -05:00
2026-08-24 12:06:56 -07:00
2026-08-21 23:46:27 -06:00
2026-09-24 15:12:28 +03:00
2026-05-05 02:54:03 +05:00
2026-08-26 11:57:56 -06:00
2026-08-26 16:17:06 +02:00
2026-10-01 16:42:51 +02:00
2026-09-21 17:42:31 +02:00
2026-09-28 09:25:01 +00:00
2026-09-21 17:42:31 +02:00
2026-08-27 10:49:13 +01:00
2026-08-24 11:20:26 +01:00
2026-08-26 13:33:13 +02:00
2026-09-21 15:58:18 +02:00
2026-10-07 15:55:04 +02:00
2026-10-12 09:53:44 +11:00
2026-09-27 16:38:30 +02:00
2026-10-11 19:57:49 +02:00
2026-10-11 19:57:49 +02:00
2026-09-29 12:23:00 +00:00
2026-09-29 12:23:00 +00:00
2026-10-07 15:55:04 +02:00
2026-07-15 12:16:25 -08:00
2026-10-06 13:01:11 +03:00
2026-10-06 13:01:11 +03:00
2026-09-25 18:51:55 +10:00
2026-09-25 18:51:55 +10:00
2026-09-25 18:51:55 +10:00
2026-10-12 23:58:35 +03:00
2026-10-12 23:58:35 +03:00
2026-08-26 19:49:43 +02:00
2026-10-13 16:43:15 +00:00
2026-10-14 14:55:29 -07:00
2026-10-13 23:03:08 +02:00
2026-10-13 23:03:08 +02:00
2026-10-09 00:58:39 +05:00
2026-10-09 00:58:39 +05:00
2026-10-09 00:58:39 +05:00
2026-10-13 23:03:08 +02:00
2026-08-26 15:29:26 +02:00
2026-08-26 15:29:26 +02:00
2026-09-16 11:36:45 -07:00
2026-01-15 12:41:28 +03:00
2026-09-28 18:46:14 +00:00
2026-08-26 11:57:56 -06:00
2026-09-14 18:31:48 -07:00
2026-09-14 18:31:48 -07:00
2026-09-28 18:46:14 +00:00
2026-09-22 23:20:24 +00:00
2026-09-22 23:20:24 +00:00
2024-07-25 16:07:53 -05:00
2026-05-05 02:54:03 +05:00
2026-10-13 16:43:15 +00:00
2026-10-13 16:43:15 +00:00
2026-10-13 16:24:45 +00:00
2026-10-13 16:24:45 +00:00
2025-07-15 14:55:34 +10:00
2026-09-08 17:20:53 +00:00
2026-09-17 14:33:37 -05:00
2026-08-21 10:31:01 -04:00
2026-08-21 10:31:01 -04:00
2026-08-31 11:36:43 -04:00
2026-10-13 03:43:55 +00:00
2026-09-27 23:34:26 +02:00
2025-09-26 11:43:32 +02:00
2026-05-05 02:54:03 +05:00
2026-10-14 14:55:29 -07:00
2026-10-14 14:55:29 -07:00
2026-10-14 14:55:29 -07:00
2026-09-02 12:51:33 -04:00
2026-09-10 08:21:29 -04:00
2026-09-10 08:21:29 -04:00
2026-09-11 18:13:16 -05:00
2026-09-11 18:13:16 -05:00
2026-09-17 11:11:38 +10:00
2026-09-11 18:13:16 -05:00
2026-10-13 07:57:56 +00:00
2026-05-05 02:54:03 +05:00
2026-08-26 11:57:56 -06:00
2026-10-07 19:03:46 +02:00
2026-10-09 16:42:41 -06:00
2026-10-09 16:42:41 -06:00
2026-07-28 09:58:33 -06:00
2026-09-02 09:21:36 -07:00
2026-09-02 09:21:36 -07:00
2026-09-02 09:21:36 -07:00
2026-08-21 23:46:27 -06:00
2026-09-02 09:21:36 -07:00
2026-10-13 16:24:45 +00:00
2026-10-13 16:24:45 +00:00
2026-05-05 02:54:03 +05:00
2026-10-15 14:38:42 -05:00
2026-10-13 03:43:55 +00:00
2026-08-26 11:57:56 -06:00
2026-10-14 13:54:17 +03:00
2026-10-15 14:38:42 -05:00
2026-10-07 11:43:19 +03:00
2026-10-07 11:43:19 +03:00
2026-09-25 13:59:53 -05:00
2026-09-21 11:04:12 +00:00
2026-08-21 23:46:27 -06:00
2026-10-15 18:03:15 -05:00
2026-09-24 11:41:32 -07:00
2026-09-24 11:41:32 -07:00
2026-09-19 00:32:51 +02:00
2026-08-26 11:57:56 -06:00
2026-10-15 18:03:15 -05:00
2026-10-15 14:20:44 -05:00
2026-10-15 17:40:00 -05:00
2026-09-21 21:06:06 +02:00