Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
# The listener default is loopback, and the runtime refuses an off-loopback bind
# while it holds no TLS key. Reachability is the deployment's job — a tailscale
# sidecar sharing the network namespace — not this image's.
ENV HOME=/workspace \

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (codex)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (cursor)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (gemini)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (kiro)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (antigravity)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (mimocode)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (copilot)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (native)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (grok)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (claude)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (devin)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (opencode)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / image (pi)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PTY_TOKEN_TTL") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
RUST_LOG=info \
PTY_LISTEN=127.0.0.1:8090 \
PTY_COMMAND=/usr/bin/bash \
Expand All @@ -117,7 +117,7 @@
# container has filled with *.tar.gz; this image fetches nothing itself.
PTY_SEED_DIR="" \
# Reverse-attached tools plane, off by default. Set to a loopback address
# (e.g. 127.0.0.1:8091) to let a Mac lend its instance-mcp tools to a session
# (e.g. 127.0.0.1:8091) to let a Mac lend its OpenAB Computer tools to a session
# through GET /tools/attach/{session}; the CLI then finds them at the URL in
# OPENAB_TOOLS_MCP_URL. Off means: no listener, and /tools/attach refuses.
PTY_TOOLS_LISTEN="" \
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ session** by dialling in (`WS /tools/attach/{session}`, per-session secret minte
by the admin plane); the coding CLI inside the session reaches them through a
loopback MCP URL in its environment. The pod initiates nothing and stores only a
hash. §9 of the client contract has the wire shape; the design is
[reverse attach](https://github.com/openabdev/instance-mcp/blob/main/docs/adr/reverse-attach.md).
[reverse attach](https://github.com/openabdev/openab-computer/blob/main/docs/adr/reverse-attach.md).

A session shell *can* reach the listener over loopback, so the split is what keeps
a compromised shell from managing its siblings: the shell never holds the admin
Expand Down
2 changes: 1 addition & 1 deletion deploy/ecs/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ scrollback_replay = false
filter_terminal_responses = ${PTY_FILTER_TERMINAL_RESPONSES}
admin_credential_hash = "${PTY_ADMIN_HASH}"
seed_dir = "${PTY_SEED_DIR:-}"
# Reverse-attached tools (a Mac lends its instance-mcp tools to one session).
# Reverse-attached tools (a Mac lends its OpenAB Computer tools to one session).
# Empty disables the plane; the runtime refuses anything but loopback here.
tools_listen = "${PTY_TOOLS_LISTEN:-}"
tools_attach_ttl = "${PTY_TOOLS_ATTACH_TTL:-24h}"
Expand Down
2 changes: 1 addition & 1 deletion deploy/k8s/pod-tailscale.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ spec:
value: 12h
- name: PTY_IDLE_TTL
value: 8h
# Reverse-attached tools (instance-mcp on a Mac dials in and lends its
# Reverse-attached tools (OpenAB Computer on a Mac dials in and lends its
# tools to one session). Loopback only; the sidecar forwards inbound
# tailnet TCP to any loopback port, so no `serve` config is needed for
# GET /tools/attach/{session}. Leave unset to keep the plane off.
Expand Down
2 changes: 1 addition & 1 deletion docs/k8s-howto.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ into `~/.kiro/settings/mcp.json` (and `@computer/*` trust into existing agent
files), so there is no `mcp add` step; the hook's log lines appear in the
runtime's container log at startup.
The pod initiates nothing and stores only a hash. Design:
[reverse attach](https://github.com/openabdev/instance-mcp/blob/main/docs/adr/reverse-attach.md);
[reverse attach](https://github.com/openabdev/openab-computer/blob/main/docs/adr/reverse-attach.md);
wire contract: §9 of [`../runtime/CLIENT-CONTRACT.md`](../runtime/CLIENT-CONTRACT.md).

```bash
Expand Down
2 changes: 1 addition & 1 deletion runtime/CLIENT-CONTRACT.md
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ a takeover.
This section is for a **different client**: not the terminal, but the machine
whose tools a coding CLI inside a session should be able to call — in practice
`oab-instance-mcp` on a Mac. Design of record:
[reverse attach](https://github.com/openabdev/instance-mcp/blob/main/docs/adr/reverse-attach.md).
[reverse attach](https://github.com/openabdev/openab-computer/blob/main/docs/adr/reverse-attach.md).
The rule that shaped it: **the pod initiates nothing.** The Mac dials in, the pod
stores only a hash, and the CLI talks to a loopback URL with no credential in it.

Expand Down
2 changes: 1 addition & 1 deletion runtime/src/tools.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//! session by **dialling in**, and the coding CLI inside that session reaches
//! them over a plain loopback MCP endpoint.
//!
//! Design of record: `docs/adr/reverse-attach.md` in `openabdev/instance-mcp`;
//! Design of record: `docs/adr/reverse-attach.md` in `openabdev/openab-computer`;
//! runtime issue openabdev/openab-pty#37. The shape, and why each half is where
//! it is:
//!
Expand Down
Loading