Repository navigation
feat(cli): support remote debugging access requests (ALIEN-831) - #645
Merged
ab-alien-dev merged 5 commits intoSep 23, 2026
Merged
Conversation
|
ab-alien-dev
added a commit
that referenced
this pull request
Sep 17, 2026
Address Greptile review on #645: - Derive the kubectl namespace from the debugged command's -n/--namespace flag and submit it as debug_namespace, instead of always requesting an unscoped grant. - Convert --access-duration into requested_expires_at instead of parsing it only to discard the result, so 30m and 1h actually produce different deadlines on the created access request.
ab-alien-dev
added a commit
that referenced
this pull request
Sep 17, 2026
Address Greptile review on #645: - Derive the kubectl namespace from the debugged command's -n/--namespace flag and submit it as debug_namespace, instead of always requesting an unscoped grant. - Convert --access-duration into requested_expires_at instead of parsing it only to discard the result, so 30m and 1h actually produce different deadlines on the created access request. # Conflicts: # crates/alien-cli/src/commands/debug.rs
ab-alien-dev
force-pushed
the
alan/alien-831-remote-debugging-support-approvals
branch
from
September 17, 2026 14:52
d8c6bb6 to
fbb0976
Compare
ab-alien-dev
added a commit
that referenced
this pull request
Sep 17, 2026
Address Greptile review on #645: - Derive the kubectl namespace from the debugged command's -n/--namespace flag and submit it as debug_namespace, instead of always requesting an unscoped grant. - Convert --access-duration into requested_expires_at instead of parsing it only to discard the result, so 30m and 1h actually produce different deadlines on the created access request. # Conflicts: # crates/alien-cli/src/commands/debug.rs
ab-alien-dev
force-pushed
the
alan/alien-831-remote-debugging-support-approvals
branch
from
September 17, 2026 15:35
fbb0976 to
97b77d5
Compare
ab-alien-dev
added a commit
that referenced
this pull request
Sep 19, 2026
Address Greptile review on #645: - Derive the kubectl namespace from the debugged command's -n/--namespace flag and submit it as debug_namespace, instead of always requesting an unscoped grant. - Convert --access-duration into requested_expires_at instead of parsing it only to discard the result, so 30m and 1h actually produce different deadlines on the created access request. # Conflicts: # crates/alien-cli/src/commands/debug.rs
ab-alien-dev
force-pushed
the
alan/alien-831-remote-debugging-support-approvals
branch
from
September 19, 2026 17:02
97b77d5 to
ab8ac26
Compare
ab-alien-dev
added a commit
that referenced
this pull request
Sep 21, 2026
Address Greptile review on #645: - Derive the kubectl namespace from the debugged command's -n/--namespace flag and submit it as debug_namespace, instead of always requesting an unscoped grant. - Convert --access-duration into requested_expires_at instead of parsing it only to discard the result, so 30m and 1h actually produce different deadlines on the created access request. # Conflicts: # crates/alien-cli/src/commands/debug.rs
ab-alien-dev
force-pushed
the
alan/alien-831-remote-debugging-support-approvals
branch
from
September 21, 2026 17:14
ab8ac26 to
2e48c67
Compare
Add --debug-tool/--debug-namespace/--debug-cloud-scope to `access-requests create` and --access-request/--request-access/--access-duration to `debug`, so a single access request can authorize operations, remote debugging (kubectl/aws/gcloud/az), or both through Remote Operator's outbound connection. Regenerate the Rust SDK's openapi.json mirrors from the platform API, and fix an unrelated ConfigureRemoteSandboxRequest field rename (imageBundleUri/maxSessionLifetimeSeconds -> maxLifetimeSeconds) surfaced by that regeneration.
Address Greptile review on #645: - Derive the kubectl namespace from the debugged command's -n/--namespace flag and submit it as debug_namespace, instead of always requesting an unscoped grant. - Convert --access-duration into requested_expires_at instead of parsing it only to discard the result, so 30m and 1h actually produce different deadlines on the created access request. # Conflicts: # crates/alien-cli/src/commands/debug.rs
Rebasing onto main pulled in ALIEN-818's operations-contract fields and DeploymentSetupConfigInput's new validated_release_selection field. Regenerates the vendored platform openapi.json/openapi-3.0.json so the Rust SDK (progenitor, build-time codegen) picks up both; onboard.rs doesn't have a validated release selection at onboarding time, so it passes None for the new optional field.
ab-alien-dev
force-pushed
the
alan/alien-831-remote-debugging-support-approvals
branch
from
September 21, 2026 17:40
2e48c67 to
3fb1dbd
Compare
- Re-copy platform's openapi.json into the vendored SDK mirror. It was copied moments before platform's own follow-up regeneration fix landed, so it was missing DeploymentState.registryAccess. - Add --access-cloud-scope to `alien debug --request-access` so aws/gcloud/az debug grants can be scoped to a specific account/ project/subscription, matching what kubectl already gets via namespace auto-derivation from the debugged command. Rejects the flag for kubectl (scoped by namespace instead), matching the manager's own debugCloudScope/debugTool compatibility rule.
lilienblum
approved these changes
Sep 22, 2026
--access-cloud-scope was accepted alongside --access-request, but debug_task only reads it when creating a NEW request via --request-access. Supplying it with --access-request silently reused the existing request unchanged, misleading users into thinking the session had a narrower cloud scope than it actually does. Reported by Greptile (#645 review comment).
ab-alien-dev
deleted the
alan/alien-831-remote-debugging-support-approvals
branch
September 23, 2026 06:06
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--debug-tool/--debug-namespace/--debug-cloud-scopetoalien access-requests createso a single access request can authorize operations, remote debugging (kubectl/aws/gcloud/az), or both.--access-request/--request-access/--access-durationtoalien debug, so debug sessions can reuse or create the same access-request resource operations already use.openapi.jsonmirrors from the platform API to pick up the newdebugGrantfields and other API drift.ConfigureRemoteSandboxRequestfield rename (imageBundleUri/maxSessionLifetimeSeconds->maxLifetimeSeconds) surfaced by the SDK regeneration.Companion PR in
platform: unifies the same access-request system server-side (engineer/customer approval gates,debug_grantjsonb column, live-grant reuse) and updatesapps/ai-agentto auto-propose debug access ondebug_access_required.Test plan
cargo build -p alien-cli— clean buildcargo test -p alien-cli --lib access_requests— 2/2 passing