MCPcopy
hub / github.com/docker/docker-agent / writeSecretsToFile

Function writeSecretsToFile

pkg/tools/mcp/gateway.go:74–91  ·  view source on GitHub ↗
(ctx context.Context, mcpServerName string, secrets []gateway.Secret, envProvider environment.Provider)

Source from the content-addressed store, hash-verified

72}
73
74func writeSecretsToFile(ctx context.Context, mcpServerName string, secrets []gateway.Secret, envProvider environment.Provider) (string, error) {
75 var secretValues []string
76 for _, secret := range secrets {
77 v, found := envProvider.Get(ctx, secret.Env)
78 if !found || v == "" {
79 return "", errors.New("missing environment variable " + secret.Env + " required by MCP server " + mcpServerName)
80 }
81
82 if strings.ContainsAny(v, "\n\r") {
83 return "", fmt.Errorf("secret %s contains newline characters", secret.Env)
84 }
85
86 secretValues = append(secretValues, fmt.Sprintf("%s=%s", secret.Name, v))
87 }
88
89 // We have all the secrets, let's create a file with all of them for the MCP Gateway
90 return writeTempFile("mcp-secrets-*", []byte(strings.Join(secretValues, "\n")))
91}
92
93func writeConfigToFile(_ context.Context, mcpServerName string, config any) (string, error) {
94 buf, err := yaml.Marshal(map[string]any{

Callers 1

NewGatewayToolsetFunction · 0.85

Calls 3

writeTempFileFunction · 0.70
GetMethod · 0.65
NewMethod · 0.45

Tested by

no test coverage detected