MCP Gateway rejects digest-pinned container images: embedded JSON schema disagrees with containerPattern
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 72/100
Hướng nghiên cứu
Bắt đầu với mẫu container của server trong internal/config/schema/mcp-gateway-config.schema.json và so sánh với containerPattern trong internal/config/validation_rules.go, nơi đã chấp nhận hậu tố @sha256 tùy chọn. Thêm cùng nhóm digest vào mẫu của schema, sau đó thêm các trường hợp vào internal/config/validation_schema_test.go để chứng minh cả hai dạng digest đều qua và digest ngắn bị từ chối. Hoàn thành khi các cấu hình ghim digest tải được và các image không hợp lệ vẫn bị từ chối.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Analysis
The MCP Gateway (github/gh-aw-mcpg, v0.4.33) rejects digest-pinned server images, so MCP server images cannot be pinned by digest from a workflow. gh-aw's workflow schema allows container: name:tag@sha256:<64 hex>, so it compiles, then fails at gateway startup.
In gh-aw-mcpg the two validators disagree:
internal/config/validation_rules.go:containerPatternends with(@sha256:[a-fA-F0-9]{64})?(accepts digests;validation_string_patterns_test.gohas digest cases as valid).internal/config/schema/mcp-gateway-config.schema.json(embedded, applied to the stdin config): the servercontainerpattern ends with(:([a-zA-Z0-9._-]+|latest))?$, no digest. Unchanged from v0.4.28 to v0.4.33.
Reproduce with ghcr.io/github/gh-aw-mcpg:v0.4.33 and an identical minimal config, changing only container:
ghcr.io/github/github-mcp-server:v1.0.0: accepted....:v1.0.0@sha256:<64 hex>and...@sha256:<64 hex>:failed to load config: ... jsonschema validation failed ... Location: <root>.
Implementation Plan (in github/gh-aw-mcpg)
internal/config/schema/mcp-gateway-config.schema.json: append(@sha256:[a-fA-F0-9]{64})?to the servercontainerpattern(s), matchingcontainerPattern.- Tests (
internal/config/validation_schema_test.go): both digest forms pass schema validation; a short digest fails. - Run
make agent-finishedbefore completing.
Acceptance Criteria
A config whose server container is name:tag@sha256:<64 hex> or name@sha256:<64 hex> loads and launches on the gateway; invalid images are still rejected.
- Ngôn ngữ chính
- Go
- Star
- 5.4k
- Fork
- 584
- Merge trung bình
- 3 giờ 20 phút
- Pull request đã merge (30 ngày)
- 830
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của github/gh-aw
-
agent-research
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
automated conformance medium-priority safe-outputs
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
windows workflow
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
cookie sergo
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
github/gh-aw#69613 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
goroutineresourceleak (81st linter): paren_unwrap_gap across lock/cancel/channel detection, day oneĐang mởcookie sergo
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
github/gh-aw#68591 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Billionmail/BillionMail#389 ·
-
good first issue help wanted v3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
oras-project/oras-go#1621 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
Maintainer thường phản hồi trong vòng 4 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
kaimahi-agents/kaimahi#570 ·
Maintainer thường phản hồi trong vòng 1 ngày