MCPcopy Index your code
hub / github.com/coder/coder / WithCommandEnv

Function WithCommandEnv

agent/agentcontainers/api.go:134–156  ·  view source on GitHub ↗

WithCommandEnv sets the CommandEnv implementation to use.

(ce CommandEnv)

Source from the content-addressed store, hash-verified

132
133// WithCommandEnv sets the CommandEnv implementation to use.
134func WithCommandEnv(ce CommandEnv) Option {
135 return func(api *API) {
136 api.commandEnv = func(ei usershell.EnvInfoer, preEnv []string) (string, string, []string, error) {
137 shell, dir, env, err := ce(ei, preEnv)
138 if err != nil {
139 return shell, dir, env, err
140 }
141 env = slices.DeleteFunc(env, func(s string) bool {
142 // Ensure we filter out environment variables that come
143 // from the parent agent and are incorrect or not
144 // relevant for the devcontainer.
145 return strings.HasPrefix(s, "CODER_WORKSPACE_AGENT_NAME=") ||
146 strings.HasPrefix(s, "CODER_WORKSPACE_AGENT_URL=") ||
147 strings.HasPrefix(s, "CODER_AGENT_TOKEN=") ||
148 strings.HasPrefix(s, "CODER_AGENT_AUTH=") ||
149 strings.HasPrefix(s, "CODER_AGENT_DEVCONTAINERS_ENABLE=") ||
150 strings.HasPrefix(s, "CODER_AGENT_DEVCONTAINERS_PROJECT_DISCOVERY_ENABLE=") ||
151 strings.HasPrefix(s, "CODER_AGENT_DEVCONTAINERS_DISCOVERY_AUTOSTART_ENABLE=")
152 })
153 return shell, dir, env, nil
154 }
155 }
156}
157
158// WithContainerCLI sets the agentcontainers.ContainerCLI implementation
159// to use. The default implementation uses the Docker CLI.

Callers 2

initMethod · 0.92
TestAPIFunction · 0.92

Calls

no outgoing calls

Tested by 1

TestAPIFunction · 0.74