Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion internal/cmd/flags_logging.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func init() {
RegisterFlag(func(cmd *cobra.Command) {
cmd.Flags().StringVar(&logDir, "log-dir", envutil.GetEnvString("MCP_GATEWAY_LOG_DIR", config.DefaultLogDir), "Directory for log files (falls back to stdout if directory cannot be created)")
cmd.Flags().StringVar(&payloadDir, "payload-dir", envutil.GetEnvString("MCP_GATEWAY_PAYLOAD_DIR", config.DefaultPayloadDir), "Directory for storing large payload files (segmented by session ID)")
cmd.Flags().StringVar(&wasmCacheDir, "wasm-cache-dir", resolveWasmCacheDir(false, "", envutil.GetEnvString("MCP_GATEWAY_LOG_DIR", config.DefaultLogDir)), "Directory for disk-backed wazero compilation cache (default: <log-dir>/wazero-cache)")
cmd.Flags().StringVar(&wasmCacheDir, "wasm-cache-dir", resolveWasmCacheDir(false, "", envutil.GetEnvString("MCP_GATEWAY_LOG_DIR", config.DefaultLogDir)), "Directory for disk-backed wazero compilation cache (default: sibling of <log-dir>, named wazero-cache)")
cmd.Flags().StringVar(&payloadPathPrefix, "payload-path-prefix", envutil.GetEnvString("MCP_GATEWAY_PAYLOAD_PATH_PREFIX", ""), "Path prefix to use when returning payloadPath to clients (allows remapping host paths to client/agent container paths)")
cmd.Flags().IntVar(&payloadSizeThreshold, "payload-size-threshold", envutil.GetEnvInt("MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD", config.DefaultPayloadSizeThreshold), "Size threshold (in bytes) for storing payloads to disk. Payloads larger than this are stored, smaller ones returned inline")
})
Expand Down
4 changes: 2 additions & 2 deletions internal/cmd/flags_logging_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
)

func TestDefaultWasmCacheDir(t *testing.T) {
assert.Equal(t, "/tmp/logs/"+config.DefaultWasmCacheDirName, defaultWasmCacheDir("/tmp/logs"))
assert.Equal(t, "/tmp/"+config.DefaultWasmCacheDirName, defaultWasmCacheDir("/tmp/logs"))
}

func TestDefaultWasmCacheDir_EmptyLogDir(t *testing.T) {
Expand All @@ -23,7 +23,7 @@ func TestDefaultWasmCacheDir_EmptyLogDir(t *testing.T) {
}

func TestResolveWasmCacheDir(t *testing.T) {
t.Run("defaults beneath log dir when no override is set", func(t *testing.T) {
t.Run("defaults next to log dir when no override is set", func(t *testing.T) {
t.Setenv(wasmCacheDirEnvVar, "")
assert.Equal(t, defaultWasmCacheDir("/tmp/logs"), resolveWasmCacheDir(false, "", "/tmp/logs"))
})
Expand Down
2 changes: 1 addition & 1 deletion internal/cmd/proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ Local usage:
cmd.Flags().StringVar(&proxyToken, "github-token", "", "Fallback GitHub API token (default: forwards client Authorization header)")
cmd.Flags().StringVarP(&proxyListen, "listen", "l", "127.0.0.1:8080", "Proxy listen address")
cmd.Flags().StringVar(&proxyLogDir, "log-dir", defaultProxyLogDir, "Log file directory")
cmd.Flags().StringVar(&proxyWasmCacheDir, "wasm-cache-dir", resolveWasmCacheDir(false, "", defaultProxyLogDir), "Directory for disk-backed wazero compilation cache (default: <log-dir>/wazero-cache)")
cmd.Flags().StringVar(&proxyWasmCacheDir, "wasm-cache-dir", resolveWasmCacheDir(false, "", defaultProxyLogDir), "Directory for disk-backed wazero compilation cache (default: sibling of <log-dir>, named wazero-cache)")
cmd.Flags().StringVar(&proxyDIFCMode, "guards-mode", "filter", "DIFC enforcement mode: strict, filter, propagate")
cmd.Flags().StringVar(&proxyAPIURL, "github-api-url", "", "Upstream GitHub API URL (default: auto-derived from GITHUB_API_URL or GITHUB_SERVER_URL, falls back to https://api.github.com)")
cmd.Flags().BoolVar(&proxyTLS, "tls", false, "Enable HTTPS with auto-generated self-signed certificates")
Expand Down
4 changes: 2 additions & 2 deletions internal/cmd/proxy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,7 @@ func TestNewProxyCmd_LogDirDefault(t *testing.T) {
"--log-dir should default to config.DefaultLogDir when MCP_GATEWAY_LOG_DIR is unset")
}

// TestNewProxyCmd_WasmCacheDirDefault verifies --wasm-cache-dir defaults beneath --log-dir.
// TestNewProxyCmd_WasmCacheDirDefault verifies --wasm-cache-dir defaults next to --log-dir.
func TestNewProxyCmd_WasmCacheDirDefault(t *testing.T) {
t.Setenv("MCP_GATEWAY_LOG_DIR", "")
t.Setenv(wasmCacheDirEnvVar, "")
Expand All @@ -350,7 +350,7 @@ func TestNewProxyCmd_WasmCacheDirDefault(t *testing.T) {
val, err := cmd.Flags().GetString("wasm-cache-dir")
require.NoError(t, err)
assert.Equal(t, defaultWasmCacheDir(config.DefaultLogDir), val,
"--wasm-cache-dir should default beneath config.DefaultLogDir when env vars are unset")
"--wasm-cache-dir should default adjacent to config.DefaultLogDir when env vars are unset")
}

// TestNewProxyCmd_ListenFlag verifies --listen, -l shorthand and default value.
Expand Down
5 changes: 4 additions & 1 deletion internal/cmd/wasm_cache.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ import (
)

func defaultWasmCacheDir(logDir string) string {
return filepath.Join(logDir, config.DefaultWasmCacheDirName)
if logDir == "" {
return config.DefaultWasmCacheDirName
}
return filepath.Join(filepath.Dir(logDir), config.DefaultWasmCacheDirName)
}

func resolveWasmCacheDir(flagChanged bool, flagValue, effectiveLogDir string) string {
Expand Down
Loading