Repository navigation
fix: add scoped queue publisher and consumer grants - #722
Conversation
|
|
Greptile’s observation is correct for a queue link with no explicit profile. This PR deliberately adds a narrow permission set and makes |
|
@greptileai Please re-review the latest commit. The implicit queue-link default is intentionally unchanged for compatibility; publisher-only access is selected through an explicit queue/publish profile. Your inline review withdrew that finding. The latest commit adds a real AWS IAM smoke test for the explicit publisher and consumer grants. Please refresh the overall score against the current head. |
|
@greptileai Please review commit 667785d. I addressed both new comments on the AWS IAM smoke test, reran it against real AWS, verified teardown, and resolved the threads with details. |
|
CI on the prior head stopped before compilation because Renovate #733 left two Node 22 fixtures resolved to Node 24 types in the lockfile. I merged current main and restored the pre-existing Node 22 lock entries for those fixtures; |
|
@greptileai Please re-review current head 5caba71. This merge resolves the lockfile conflict by taking the already-reviewed fix from main (#737); the PR diff is now limited to the queue-permission changes. No queue implementation changed since your 5/5 review. |
## Summary - Regenerate the Worker runtime TypeScript clients with the locked `ts-proto` 2.12.4 and CI-compatible `protoc` 35.1. - Keep future `ts-proto` updates out of Renovate auto-merge so their generated clients can be committed together. Renovate #738 updated the lockfile without generated clients and merged despite a failing TypeScript check. This restores the generated-file check on unrelated PRs, including #722. Tracks [ALIEN-1035](https://linear.app/alienplatform/issue/ALIEN-1035/regenerate-worker-runtime-client-after-ts-proto-2124-update). ## Verification - `pnpm -C packages/sdk generate` with protoc 35.1; a second run produced an identical diff. - `pnpm --filter @alienplatform/sdk... build` - `pnpm -C packages/sdk test:ts` - `pnpm -C packages/sdk test` (17 passed) - `pnpm format-and-lint` (passed with four pre-existing warnings) - `git diff --check`
|
@greptileai Please re-review current head b1d6fc1. This merge takes the generated-code CI fix from main (#741); the PR diff remains limited to the eight queue-permission files, with no queue behavior changes since the prior 5/5 review. |
Why
A queue consumer with
queue/data-readcannot callqueue.ackon AWS because the set lacksDeleteMessage. A publisher usingqueue/data-writealso receives delete and visibility actions it does not need. Older installations can inherit both sets through implicit link grants, hiding the mismatch.Change
queue/publishset for AWS SQS, GCP Pub/Sub, and Azure Service Bus.queue/data-readsufficient to receive, acknowledge, and change message visibility.queue/data-writeand the existing implicit queue-link defaults for installed applications. Explicit per-role profiles can adoptqueue/publishafter the normal CLI release.Verification
cargo test -p alien-permissionspassed, including generated AWS IAM actions/resource scope, GCP publisher topic binding, and Azure sender/receiver roles.cargo test -p alien-preflightspassed, including explicit publisher-link preservation.alien-bindingsAWS integration test passed with one disposable SQS queue and separate generated publisher/consumer IAM roles. It used the real binding under each assumed role: send was allowed only for the publisher; receive and ack only for the consumer; the acknowledged message did not redeliver. The test removed its queue and roles, and independent AWS listings found none remaining.ALIEN-1014