@@ -14,6 +14,7 @@ import (
1414 "time"
1515
1616 "github.com/docker/cagent/pkg/config"
17+ "github.com/docker/cagent/pkg/secrets"
1718)
1819
1920//go:embed Dockerfile.template
@@ -40,8 +41,11 @@ func BuildDockerImage(ctx context.Context, agentFilePath, dockerImageName string
4041 }
4142
4243 // Analyze the config to find which secrets are needed
43- modelNames := config .GatherModelNames (cfg )
44- mcpServers := config .GatherMCPServerReferences (cfg )
44+ modelSecrets := secrets .GatherEnvVarsForModels (cfg )
45+ toolSecrets , err := secrets .GatherEnvVarsForTools (ctx , cfg )
46+ if err != nil {
47+ return err
48+ }
4549
4650 // Find which base image to use
4751 baseImage := "docker/cagent"
@@ -54,13 +58,13 @@ func BuildDockerImage(ctx context.Context, agentFilePath, dockerImageName string
5458
5559 tpl := template .Must (template .New ("Dockerfile" ).Parse (dockerfileTemplate ))
5660 if err := tpl .Execute (& dockerfileBuf , map [string ]any {
57- "BaseImage" : baseImage ,
58- "AgentConfig" : string (agentYaml ),
59- "BuildDate" : time .Now ().UTC ().Format (time .RFC3339 ),
60- "Description" : cfg .Agents ["root" ].Description ,
61- "McpServers " : strings . Join ( mcpServers , "," ) ,
62- "Metadata " : cfg . Metadata ,
63- "Models " : strings .Join (modelNames , "," ),
61+ "BaseImage" : baseImage ,
62+ "AgentConfig" : string (agentYaml ),
63+ "BuildDate" : time .Now ().UTC ().Format (time .RFC3339 ),
64+ "Description" : cfg .Agents ["root" ].Description ,
65+ "Metadata " : cfg . Metadata ,
66+ "ModelSecrets " : strings . Join ( modelSecrets , "," ) ,
67+ "ToolSecrets " : strings .Join (toolSecrets , "," ),
6468 }); err != nil {
6569 return err
6670 }
0 commit comments