Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

MCP Gateway rejects digest-pinned container images: embedded JSON schema disagrees with containerPattern

Đang mở Phù hợp với người mới
#69,405 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@pelikhan đang làm issue này rồi.

Từ ngày 18/10/2026.

  • #69997 của @copilot-swe-agent — đang mở

Đá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
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
docker, go
Lĩnh vực
backend

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ả

ai-inspected
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: containerPattern ends with (@sha256:[a-fA-F0-9]{64})? (accepts digests; validation_string_patterns_test.go has digest cases as valid).
  • internal/config/schema/mcp-gateway-config.schema.json (embedded, applied to the stdin config): the server container pattern 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)
  1. internal/config/schema/mcp-gateway-config.schema.json: append (@sha256:[a-fA-F0-9]{64})? to the server container pattern(s), matching containerPattern.
  2. Tests (internal/config/validation_schema_test.go): both digest forms pass schema validation; a short digest fails.
  3. Run make agent-finished before 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

Mở trong Codespaces

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.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của github/gh-aw

Tất cả issue của github/gh-aw

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.