Skip to content

feat(desktop): manage remote runtime host credentials - #3419

Draft
M4n5ter wants to merge 6 commits into
apache:feat/desktop-runtime-host-managementfrom
M4n5ter:feat/desktop-runtime-host-credentials
Draft

feat(desktop): manage remote runtime host credentials#3419
M4n5ter wants to merge 6 commits into
apache:feat/desktop-runtime-host-managementfrom
M4n5ter:feat/desktop-runtime-host-credentials

Conversation

@M4n5ter

@M4n5ter M4n5ter commented Aug 21, 2026

Copy link
Copy Markdown
Member
English

Summary

Add credential maintenance to the per-computer management surface for SSH-managed Runtime Hosts. Desktop can inspect non-secret credential metadata, identify its own credential, rotate it through the existing verified pairing path, and explicitly revoke an obsolete credential.

Credential authority remains in Runtime Host. Desktop invokes Host-local operator commands over SSH, secrets never enter renderer state or terminal output, and privileged access-management mutations remain restricted to the Host-local operator; ordinary remote Client grants and remotely available operations are unchanged.

Fixes #3418

Verification

  • npm run typecheck
  • npm run lint
  • npm run format:check
  • npm run astryx:surface-inventory
  • affected Desktop and CLI tests
  • isolated CLI release package build
  • Desktop end-to-end list, revoke, and rotate against a managed Linux Runtime Host

AI use

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Codex implemented and verified the change under maintainer direction and review

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No
简体中文

概要

为 SSH 托管的 Runtime Host 增加 per-computer credential 维护界面。Desktop 可以查看不含 secret 的 credential metadata、识别自身 credential、通过现有已验证 pairing 路径安全轮换,并明确撤销废弃 credential。

Credential authority 仍属于 Runtime Host。Desktop 只通过 SSH 调用 Host-local operator command;secret 不进入 renderer state 或 terminal output,privileged access-management mutation 仍仅限 Host-local operator;普通 remote Client grants 与远程可用 operations 保持不变。

Fixes #3418

验证

  • npm run typecheck
  • npm run lint
  • npm run format:check
  • npm run astryx:surface-inventory
  • 受影响的 Desktop 与 CLI tests
  • 隔离环境中的 CLI release package 构建
  • 在 managed Linux Runtime Host 上通过 Desktop 完成 list、revoke 与 rotate 端到端验证

AI 使用

  • 没有生成式工具作出实质贡献
  • 生成式工具作出了实质贡献

工具与范围:Codex 在维护者指导与审核下实现并验证了本次变更

Checklist

  • 测试覆盖本次变更,且缺少变更时会失败
  • lint、format、typecheck 与受影响 suites 已在本地通过

本 PR 是否改变行为?

  • 是——已在概要中说明

Add Host-local credential metadata, safe Desktop credential rotation, and explicit revocation through the existing SSH management plane. Credential mutation remains owned by Runtime Host access authority, while secrets stay out of renderer and terminal projections.

Generated-by: Codex
Advertise credential management through the persisted operator contract so Desktop never exposes actions an older deployment cannot execute. Keep metadata inspection read-only and align framed access operations around one action-discriminated protocol.

Generated-by: Codex
Derive Desktop credential replacements from the active Host credential and fence access management while pairing recovery is unresolved. Negotiate operator capabilities per invocation so upgraded operators remain compatible with older Desktop clients.

Generated-by: Codex
Derive replacement credentials from the active Host-owned authority record and guard rotation and revocation with atomic credential state checks. Reject disabled-profile rotation before remote mutation so the UI cannot leave an unusable pending credential.

Generated-by: Codex
@M4n5ter
M4n5ter force-pushed the feat/desktop-runtime-host-credentials branch from 2b3b777 to 6591058 Compare August 21, 2026 14:00
Require explicit confirmation before credential rotation reconnects a managed Host, and bound pairing finalization through the dispatched request. Simplify guarded revocation around stable credential identity while preserving recoverable unknown outcomes.

Generated-by: Codex
Treat an already-absent target as a satisfied revocation while retaining an atomic active-credential fence. Keep Desktop identity validation at the SSH adapter boundary so the Host protocol stays client-agnostic.

Generated-by: Codex
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant