prepareShellOut prepare a shell-out command to be ran by Compose
(gctx context.Context, env types.Mapping, cmd *exec.Cmd)
| 35 | |
| 36 | // prepareShellOut prepare a shell-out command to be ran by Compose |
| 37 | func (s *composeService) prepareShellOut(gctx context.Context, env types.Mapping, cmd *exec.Cmd) error { |
| 38 | env = env.Clone() |
| 39 | // remove DOCKER_CLI_PLUGIN... variable so a docker-cli plugin will detect it run standalone |
| 40 | delete(env, metadata.ReexecEnvvar) |
| 41 | |
| 42 | // propagate opentelemetry context to child process, see https://github.com/open-telemetry/oteps/blob/main/text/0258-env-context-baggage-carriers.md |
| 43 | carrier := propagation.MapCarrier{} |
| 44 | otel.GetTextMapPropagator().Inject(gctx, &carrier) |
| 45 | env.Merge(types.Mapping(carrier)) |
| 46 | |
| 47 | cmd.Env = env.Values() |
| 48 | return nil |
| 49 | } |
| 50 | |
| 51 | // propagateDockerEndpoint produces DOCKER_* env vars for a child CLI plugin to target the same docker endpoint |
| 52 | // `cleanup` func MUST be called after child process completion to enforce removal of cert files |
no outgoing calls
no test coverage detected