docs: fix documentation discrepancies from nightly reconciliation report - #10409
Conversation
- Fix Quick Start note: gateway section and all fields are optional (not required) - Add reference to optional server fields with link to docs/CONFIGURATION.md - Add dockerless, containerRuntime, containerRuntimeCommand, containerRuntimeArgs to Gateway Configuration table - Note dockerless is JSON stdin only - Fix CONTRIBUTING.md: make test-integration auto-builds binary; make test-all always rebuilds - Add OTEL_EXPORTER_OTLP_ENDPOINT and GITHUB_REPOSITORY to env vars section - Update footer note to mention shared fields (registry) alongside TOML-only fields Closes #10373
There was a problem hiding this comment.
Pull request overview
Aligns contributor and user documentation with current configuration and test behavior.
Changes:
- Documents optional gateway/runtime fields and environment variables.
- Corrects integration-test build guidance.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates configuration and environment-variable guidance. |
| CONTRIBUTING.md | Clarifies integration-test build behavior. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 3
- Review effort level: Balanced
| ``` | ||
|
|
||
| Note: The JSON schema requires a top-level `gateway` object containing `port`, `domain`, and one of `agentId` or `apiKey`. All three are validated before any server is started. | ||
| Note: `port`, `domain`, and `agentId` shown above are example/recommended values; the `gateway` section and all of its fields are optional. When a field is present it is validated, but omitting `gateway` entirely is valid and uses built-in defaults. For the full list of optional server fields (`entrypoint`, `entrypointArgs`, `mounts`, `args`, `connectTimeout`, `toolTimeout`), see [docs/CONFIGURATION.md](docs/CONFIGURATION.md). |
| | `force_public_repos` / `forcePublicRepos` | Enables/disables auto-forcing allow-only policy to `repos="public"` when the workflow repository is public (default enabled) | | ||
| | `sink_visibility_exempt_servers` / `sinkVisibilityExemptServers` | Server IDs exempted from default sink-visibility enforcement for write-sink handling | | ||
| | `dockerless` | **(JSON stdin only)** When `true`, runs stdio MCP servers using Podman without a Docker daemon socket. Grant the container the capabilities required for nested containers (for example, `--privileged`). Must be used with `containerRuntime`/`containerRuntimeCommand` set to `podman` (or defaults to podman). | | ||
| | `container_runtime` / `containerRuntime` | Container runtime to use for stdio MCP server launches (default: `"docker"`; supported: `"docker"`, `"podman"`). Also overridable via `MCP_GATEWAY_CONTAINER_RUNTIME`. | |
| | `dockerless` | **(JSON stdin only)** When `true`, runs stdio MCP servers using Podman without a Docker daemon socket. Grant the container the capabilities required for nested containers (for example, `--privileged`). Must be used with `containerRuntime`/`containerRuntimeCommand` set to `podman` (or defaults to podman). | | ||
| | `container_runtime` / `containerRuntime` | Container runtime to use for stdio MCP server launches (default: `"docker"`; supported: `"docker"`, `"podman"`). Also overridable via `MCP_GATEWAY_CONTAINER_RUNTIME`. | | ||
| | `container_runtime_command` / `containerRuntimeCommand` | Optional override for the runtime executable/binary path (for example, `/usr/bin/podman`). Defaults to the runtime name. | | ||
| | `container_runtime_args` / `containerRuntimeArgs` | Optional runtime-level arguments inserted before `run` in the container launch command (for example, `["--log-level=warn"]`). | |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@copilot address review feedback |
Addressed in 7c1a90d.
|
🔒 mcpg Read-Only Stress — gVisorSurface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Overall: PASS
References: §30598937456
|
🔒 mcpg Read-Only Stress — default AWFSurface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Overall: PASS
Run: §30598937205
|
🔒 mcpg Read-Only Stress — docker-sbxSurface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Overall: PASS
References: §30598937282
|
Nightly reconciliation identified 7 gaps between README/CONTRIBUTING docs and actual implementation. Addresses all critical and important findings; confirms one finding (issue #2,
sample_rate) was a false alarm — the field exists inTracingConfigwithtoml:"sample_rate".Changes
README.md — Quick Start note (Issue 1)
gateway.port,domain, andagentId" with accurate statement: all fields and the entiregatewaysection are optional; when present, only included fields are validatedentrypoint,entrypointArgs,mounts,args,connectTimeout,toolTimeout) with link todocs/CONFIGURATION.mdREADME.md — Gateway Configuration table (Issues 1, 4, 7)
StdinGatewayConfig:dockerless(annotated JSON stdin only — hastoml:"-"),container_runtime/containerRuntime,container_runtime_command/containerRuntimeCommand,container_runtime_args/containerRuntimeArgsregistry) from TOML-only fields (rate_limit_threshold,rate_limit_cooldown)README.md — Environment variables (Issue 6)
OTEL_EXPORTER_OTLP_ENDPOINT(sets--otlp-endpointdefault; already in Tracing table but missing from the key env-vars list)GITHUB_REPOSITORY(drivesMCP_GATEWAY_FORCE_PUBLIC_REPOSguard logic)CONTRIBUTING.md — Integration test description (Issue 3)
make build)" —make test-integrationauto-builds if the binary is absentmake test-allas the target that always rebuilds before running both suites