Michael Suchacz
45f2eb48cc
refactor(coderd): restore agents-access cleanup migration ( #28587 )
...
## Summary
- restore the `agents-access` data cleanup migration as `000587`
(renumbered from `000585`; main advanced past that number)
- revert the temporary RBAC tolerance for retired role names now that
the migration strips stale grants
- make the migration test discover its predecessor dynamically, since
this branch does not carry main's `000585`/`000586`
## Stack context
Stacked on #28186 , which retires the `agents-access` role but
intentionally ships without a migration so it can be backported across
diverged migration numbers. This layer completes the retirement on main:
it cleans up stale role grants in `users.rbac_roles`,
`organization_members.roles`, and
`organizations.default_org_member_roles`, then reverts the interim
leniency (role expansion dropping legacy names, assignment validation
ignoring them) that existed only to keep the migration-less base safe.
`rbac.ReservedRoleName` still reserves the retired name so custom roles
cannot shadow it on rollback. Do not backport this PR alongside the base
PR.
## Rollback note
The down migration restores effective access broadly because it cannot
reconstruct which users previously held the removed role.
## Validation
- `go build ./coderd/... ./enterprise/...`
- full `coderd/database/migrations`, `coderd/rbac/...`, and
`coderd/database/dbauthz` suites
- targeted members tests in `coderd`
- repository pre-commit checks (`lint/go`, `lint/ts`, etc.)
> Mux created this pull request on Mike's behalf.
2026-08-26 15:29:26 +02:00
..
2026-08-24 19:58:30 -05:00
2026-08-20 14:04:23 -04:00
2026-08-24 13:27:22 +01:00
2026-08-20 14:38:33 +01:00
2026-08-04 16:57:16 +02:00
2026-06-16 09:01:43 +00:00
2026-08-25 11:05:42 -06:00
2026-08-25 17:12:51 -07:00
2026-08-24 11:53:47 +01:00
2026-08-21 23:46:27 -06:00
2026-07-01 21:24:42 -05:00
2026-06-26 07:24:21 -04:00
2026-06-25 15:41:09 -06:00
2026-03-13 00:22:55 +11:00
2026-08-24 11:20:25 +01:00
2026-04-03 15:47:26 -05:00
2026-08-18 19:15:30 +02:00
2026-08-26 15:29:26 +02:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-24 15:25:21 -07:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-13 18:32:47 +02:00
2026-08-25 14:02:33 -07:00
2026-08-20 12:49:47 -07:00
2026-07-30 08:37:45 +01:00
2026-04-02 23:51:02 +02:00
2026-08-21 23:46:27 -06:00
2026-08-10 14:43:16 -05:00
2026-08-26 11:00:31 +07:00
2026-08-11 11:04:51 -05:00
2026-08-26 15:29:26 +02:00
2026-08-25 08:12:00 -07:00
2026-06-23 17:32:47 -05:00
2026-08-16 18:18:02 +05:00
2026-05-07 17:10:50 +01:00
2026-08-24 11:20:26 +01:00
2026-07-15 14:05:18 -04:00
2026-05-21 09:19:29 -06:00
2026-08-21 23:46:27 -06:00
2026-08-25 16:40:41 +07:00
2026-06-10 02:18:44 -05:00
2026-08-24 11:20:26 +01:00
2026-06-17 00:22:41 +10:00
2026-08-21 23:46:27 -06:00
2026-08-03 15:56:56 -05:00
2026-08-21 03:14:55 +03:00
2026-05-21 09:19:29 -06:00
2026-07-07 09:18:30 -07:00
2026-07-07 09:18:30 -07:00
2026-08-26 13:33:13 +02:00
2026-03-12 18:07:52 +02:00
2026-07-01 15:59:55 +03:00
2026-07-06 23:00:09 +01:00
2026-07-01 20:44:15 +00:00
2026-07-06 23:00:09 +01:00
2026-07-06 23:00:09 +01:00
2026-05-27 11:58:43 +02:00
2026-08-26 11:12:33 +01:00
2026-08-26 11:12:33 +01:00
2026-05-25 18:04:12 +02:00
2026-08-21 23:46:27 -06:00
2026-08-19 14:46:10 -05:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-25 17:12:51 -07:00
2026-08-25 17:12:51 -07:00
2026-05-05 02:54:03 +05:00
2026-05-28 18:37:57 +01:00
2026-08-19 19:46:23 +00:00
2026-08-19 19:46:23 +00:00
2026-08-06 09:18:46 -04:00
2026-08-06 09:18:46 -04:00
2026-08-06 09:18:46 -04:00
2026-07-07 10:42:01 +00:00
2026-05-12 22:13:55 +10:00
2026-07-01 20:15:03 +01:00
2026-08-21 23:46:27 -06:00
2026-08-25 06:52:45 -04:00
2026-07-14 12:29:38 -07:00
2026-08-18 12:54:45 -07:00
2026-08-24 12:06:56 -07:00
2026-08-21 23:46:27 -06:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-08-26 13:33:13 +02:00
2026-07-06 13:15:58 +01:00
2026-08-24 09:43:45 +00:00
2026-08-24 09:43:45 +00:00
2026-08-25 12:59:19 +01:00
2026-08-24 11:20:25 +01:00
2026-08-24 11:20:25 +01:00
2026-08-24 11:20:26 +01:00
2026-08-26 13:33:13 +02:00
2026-08-26 13:33:13 +02:00
2026-08-25 09:08:52 -04:00
2026-05-05 02:54:03 +05:00
2026-06-22 19:26:34 -06:00
2026-07-15 12:16:25 -08:00
2026-08-19 13:00:31 -08:00
2026-06-02 10:11:49 -07:00
2026-08-18 12:54:45 -07:00
2026-06-02 08:36:01 -06:00
2026-07-06 13:15:58 +01:00
2026-07-06 13:15:58 +01:00
2026-03-23 19:54:43 +00:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-08-19 19:25:18 +00:00
2026-08-13 18:32:47 +02:00
2026-05-03 11:31:48 -04:00
2026-08-11 12:02:34 +02:00
2026-08-11 12:02:34 +02:00
2026-08-24 09:43:45 +00:00
2026-08-19 19:36:59 +00:00
2026-08-26 15:29:26 +02:00
2026-08-26 15:29:26 +02:00
2026-05-05 02:54:03 +05:00
2026-07-28 16:59:33 -07:00
2026-07-28 16:59:33 -07:00
2026-07-28 16:59:33 -07:00
2026-08-12 13:36:52 -07:00
2026-08-13 09:58:51 -07:00
2026-07-28 16:59:33 -07:00
2026-05-05 02:54:03 +05:00
2026-05-21 09:19:29 -06:00
2026-06-03 10:46:07 +01:00
2026-08-21 10:31:01 -04:00
2026-08-21 10:31:01 -04:00
2026-05-05 02:54:03 +05:00
2026-07-14 13:39:58 -04:00
2026-06-03 10:46:07 +01:00
2026-04-10 09:50:11 -05:00
2026-07-14 13:39:58 -04:00
2026-08-26 13:33:13 +02:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-05-11 08:41:17 -06:00
2026-08-21 23:46:27 -06:00
2026-06-15 11:07:16 -04:00
2026-07-27 16:10:40 -04:00
2026-08-25 11:05:42 -06:00
2026-08-25 11:05:42 -06:00
2026-08-25 11:05:42 -06:00
2026-08-25 11:05:42 -06:00
2026-08-25 11:05:42 -06:00
2026-08-19 16:16:51 -06:00
2026-08-21 23:46:27 -06:00
2026-05-05 02:54:03 +05:00
2026-06-04 14:37:19 -04:00
2026-08-18 12:54:45 -07:00
2026-07-23 11:56:07 -06:00
2026-08-21 23:46:27 -06:00
2026-08-26 15:29:26 +02:00
2026-07-28 09:58:33 -06:00
2026-08-21 23:46:27 -06:00
2026-08-18 12:54:45 -07:00
2026-08-18 12:54:45 -07:00
2026-05-20 19:50:50 +02:00
2026-08-18 12:54:45 -07:00
2026-04-15 11:31:43 +02:00
2026-04-26 14:49:10 -07:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-07-01 15:59:55 +03:00
2026-07-14 13:50:25 +01:00
2026-08-24 19:58:30 -05:00
2026-08-21 23:46:27 -06:00
2026-05-11 14:27:40 -05:00
2026-03-12 18:07:52 +02:00
2026-08-24 19:58:30 -05:00
2026-07-28 13:20:59 -07:00
2026-05-05 02:54:03 +05:00
2026-08-18 11:33:01 -05:00
2026-08-21 23:46:27 -06:00
2026-08-19 16:16:51 -06:00
2026-08-24 16:17:55 +02:00
2026-05-05 02:54:03 +05:00
2026-05-18 08:33:29 -04:00
2026-05-13 14:14:07 +00:00
2026-05-11 11:03:38 +02:00
2026-08-25 11:05:42 -06:00
2026-08-25 11:05:42 -06:00
2026-08-24 16:17:55 +02:00
2026-08-20 10:40:31 +02:00