Documentation
¶
Overview ¶
Package sandbox provides Docker sandbox lifecycle management including creation, detection, argument building, and environment forwarding.
Index ¶
- func BuildExecCmd(ctx context.Context, name, wd string, cagentArgs, envFlags, envVars []string) *exec.Cmd
- func CheckAvailable(ctx context.Context) error
- func Ensure(ctx context.Context, wd, extra, template, configDir string) (string, error)
- func EnvForAgent(ctx context.Context, agentRef string, env environment.Provider) (flags, envVars []string)
- func ExtraWorkspace(wd, agentRef string) string
- func ResolveAlias(name string) string
- func StartTokenWriterIfNeeded(ctx context.Context, dir, modelsGateway string) func()
- type Existing
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildExecCmd ¶
func BuildExecCmd(ctx context.Context, name, wd string, cagentArgs, envFlags, envVars []string) *exec.Cmd
BuildExecCmd assembles the `docker sandbox exec` command.
func CheckAvailable ¶
CheckAvailable returns a user-friendly error when Docker is not installed or the sandbox feature is not supported.
func Ensure ¶
Ensure makes sure a sandbox exists for the given workspace, creating or recreating it as needed. When template is non-empty it is passed to `docker sandbox create -t`. Returns the sandbox name.
func EnvForAgent ¶
func EnvForAgent(ctx context.Context, agentRef string, env environment.Provider) (flags, envVars []string)
EnvForAgent loads the agent config and gathers the environment variables it requires. It returns:
- flags: `-e KEY` args for docker sandbox exec (name only, no value)
- envVars: `KEY=VALUE` entries to set on the exec process environment
Variables that Docker Desktop already proxies are skipped.
func ExtraWorkspace ¶
ExtraWorkspace returns the directory to mount as a read-only extra workspace when the agent file lives outside the main workspace. Returns "" if no extra mount is needed (file is under wd, is not a local path, etc.).
func ResolveAlias ¶
ResolveAlias returns the alias path if name is a user-defined alias, or an empty string otherwise.
func StartTokenWriterIfNeeded ¶
StartTokenWriterIfNeeded starts a background goroutine that refreshes DOCKER_TOKEN into a shared file when a models gateway is configured. Returns a stop function that is safe to call multiple times (and is a no-op when no writer was started).
Types ¶
type Existing ¶
Existing holds the name and workspaces of an existing Docker sandbox.
func ForWorkspace ¶
ForWorkspace returns the existing sandbox whose primary workspace matches wd, or nil if none exists.
func (*Existing) HasWorkspace ¶
HasWorkspace reports whether the sandbox has dir mounted as a workspace.