Skip to content

ChannelGate 0.6.0

Choose a tag to compare

@makeitfutureDev makeitfutureDev released this 28 Sep 12:38
· 308 commits to main since this release
710b3dc

ChannelGate 0.6.0: secrets never sit in a channel's container any more, and containers reach the network only through the gateway.

Highlights

  • Every channel container runs with --network none behind its own egress proxy. Allow network is now enforced, not advisory: with it off, only the engine APIs and the channel's selected MCP servers are reachable. Private, loopback and metadata addresses are always refused.
  • Secrets and logins are placeholders.
    • Known tokens (GitHub, Vercel, Supabase, Make, Composio) and variables with Allowed domains are swapped for the real value in flight, only on their servers.
    • The Claude and Codex logins reach containers as placeholders too.
    • Remote MCP credentials stay in the daemon. SSH sessions run on the same placeholders.
  • Every variable is hidden by default, and an admin approves each new server once. The first time a program sends a hidden variable somewhere new, the proxy refuses that one request and posts an admin-only card in the thread. Passwords, connection strings, signing keys and configuration values stay readable automatically. Model APIs never receive a swapped value.
  • Variables UI. Slack and the admin page say Variables. Adding one asks only "It's a secret" plus optional Allowed domains, and the admin page lists them in a table.
  • Fixes.
    • Codex Read-mode channels run commands again.
    • A non-admin turn is read-only while an Admin channel mounts the operator home.
    • The in-container browser works behind the proxy.
    • The Claude model pickers show exact versions.
    • Codex usage metrics are switched off.
  • Also included: keyed paging and count_rows for channel database reads, a Slack Settings Automations page, the Files / Variables / Settings menu on every reply, and retries of transient remote-MCP dials.

Full list: CHANGELOG.md.

Upgrade
Run scripts/update.sh (or the Enterprise automatic updater) from 0.5.7.

  • Image rebuild: the runtime image is spec 1.6.1 (bubblewrap, per-channel /tmp volumes). The updater (Settings → Update, or scripts/update.sh) rebuilds the default image automatically. Run npm run build:image by hand only if the update reports that the image build failed, or if the host uses a custom image.
  • Migration: migration 30 (egress_grants) applies automatically.
  • Existing containers are recreated once.
  • Variables without a rule become hidden, so each asks once per server it is used on. set_secret_mode readable or Allowed domains change that.

Evidence