Developer Test Guide
Purpose
A hands-on walkthrough for a developer to exercise Isolate: open an audited
database connection, get audited Kubernetes access, and run a recorded
kubectl exec session. Every database query and kubectl command is
logged to the audit trail.
Prerequisites
- Isolate CLI (v0.6.0+):
brew install boost-devops/tap/isolatethenisolate version - kubectl ≥ 1.31 — required for exec. The proxy refuses exec/attach from clients that can't use the WebSocket streaming protocol, because only WebSocket sessions can be recorded. kubectl 1.31+ negotiates this automatically; older clients are rejected with a clear message (an intentional, fail-closed audit control).
- For DB access via GCP: the
gcloudCLI installed and authenticated.
Log in
isolate config set --server https://isolate-dev.saucedsoiree.com
isolate login # SSO via browser
isolate whoami # confirm your email + role A. Kubernetes exec — audited & recorded
Open the audited proxy tunnel to a cluster, then use kubectl normally.
Standard API calls are audited; interactive exec sessions are captured to a
replayable recording.
# 1. Open the audited tunnel (keep this running):
isolate k8s connect <cluster-name>
# → writes a kubeconfig and prints an `export KUBECONFIG=...` line
# 2. In another shell, point kubectl at it:
export KUBECONFIG=~/.isolate/kubeconfig-<cluster-name>.yaml
kubectl get pods # standard API call — audited
kubectl exec -it <pod> -- sh # interactive shell — recorded
# run some commands, then `exit`
List available clusters with isolate k8s clusters. If a cluster requires
approval, an approver must approve the request before the session opens.
B. Database connect — audited SQL
DB connect is approval-gated: a connection request must be approved (in the Connect page or via Slack) before the tunnel opens. Have an approver ready, or approve it yourself from the dashboard if you have permission.
isolate list # see available instances
isolate connect <instance-id> --port 15432 # request + open tunnel (waits for approval)
# once approved, in another shell:
psql "host=localhost port=15432 user=isolate dbname=<db>"
# every statement you run is recorded to the audit log Don't have an instance? Create one from a backup on the New Instance page.
Verifying the audit trail
Confirm your activity was recorded on the
Audit page — it shows every
SQL query and Kubernetes API call, and links to the TTY recording of each
exec session for replay.
Troubleshooting
- "exec/attach requires a WebSocket-capable client" — your kubectl is older than 1.31. Upgrade it; the proxy refuses exec it cannot record.
- Connection waits forever — a DB connection is pending approval; approve it from the Connect page.
- Tunnel drops — keep
isolate k8s connect/isolate connectrunning while you use the connection.
See also the Getting Started guide and the provider-specific docs.