fix(crd): AgentRuntime.spec.auth.outbound[].destination.hostRegex should be documented as glob, not regex
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue nà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
- 65/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- go, kubernetes
- Lĩnh vực
- devops, documentation
Hướng nghiên cứu
Xác định kiểu CRD AgentRuntime và tài liệu về trường hostRegex của nó, sau đó đọc authbridge/authlib/routing/router.go và cảnh báo trong PR #517 để xác nhận cú pháp glob. Xác định xem nên lập tài liệu cho hostRegex ngay tại chỗ hay sử dụng đề xuất ngừng dùng và đổi tên, rồi cập nhật phần mô tả bị ảnh hưởng và các ví dụ để CRD phản ánh rõ ràng cú pháp được hỗ trợ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
The AgentRuntime CRD field spec.auth.outbound[].destination.hostRegex is documented as accepting regex patterns, but AuthBridge's routing engine expects glob patterns.
Current CRD documentation:
// HostRegex is a regex pattern to match hostnames.
// Example: ".*\\.team1\\.svc\\.cluster\\.local"
AuthBridge reality:
// authbridge/authlib/routing/router.go
g, err := glob.Compile(r.Host, '.') // Uses github.com/gobwas/glob, not regexp
Users who follow the CRD documentation and provide regex syntax (e.g., .*\.team1\.svc\.cluster\.local) will get routes that don't match because glob syntax is different from regex.
Impact
- Silent mismatch: Routes silently fail to match because regex metacharacters are interpreted as literal characters in glob matching
- Wrong examples: The CRD example shows regex syntax that won't work
- Confusing field name:
hostRegeximplies regex when it should be glob
Proposed Solution
Option A: Rename field + deprecate (breaking change)
// HostGlob is a glob pattern to match hostnames.
// Supports * (any chars) and ? (single char).
// Example: "*.team1.svc.cluster.local"
HostGlob string `json:"hostGlob,omitempty"`
// HostRegex is deprecated - use HostGlob instead.
// This field was misnamed; it expects glob syntax, not regex.
// +deprecated
HostRegex string `json:"hostRegex,omitempty"`
Option B: Fix documentation only (non-breaking)
// HostRegex is a glob pattern to match hostnames (name is misleading).
// Supports * (any chars) and ? (single char), NOT regex syntax.
// Example: "*.team1.svc.cluster.local"
HostRegex string `json:"hostRegex,omitempty"`
Workaround
PR #517 added a warning log when hostRegex is used:
mutatorLog.Info("hostRegex field is mapped to AuthBridge glob pattern (not regex)",
"note", "use glob syntax like '*.team1.svc.cluster.local', not regex")
This helps users discover the issue but doesn't fix the root cause.
Related
- PR #517 discovered this while implementing routes generation
- No examples currently use
hostRegex(all use exacthostmatches) - AuthBridge glob implementation: https://github.com/gobwas/glob
/cc @alantech
- Ngôn ngữ chính
- Go
- Star
- 19
- Fork
- 50
- Merge trung bình
- 1 ngày 7 giờ
- Pull request đã merge (30 ngày)
- 4
Chuẩn bị môi trường
- Không có Dockerfile hay 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 rossoctl/operator
-
kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
:bug: Broken link in docs/plans/ai-gateway.md: https://github.com/envoyproxy/ai-gateway/issues/902Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 58/100
rossoctl/operator#546 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Enforce token-exchange/token-broker mutex at webhook admission (fail-fast)Có thể làm lại được @dhakshin-raghav đã nhận 48 ngày trước và không có pull request nào đang mở. Đang mởenhancement go good first issue ux
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 66/100
rossoctl/operator#526 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement go high priority
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của rossoctl/operator
Issue tương tự
-
usage: a custom provider's balance meters ("…%" in the balance path) ignore the Left/Used switchĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug iam-service
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
platform-mesh/platform-mesh#425 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
grafana/tempo-operator#1691 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
fix: presentation.go with mcp-table.go: the message for each MCP server comes backCó thể đã có người làm @mge1512 đã nhận hôm nay. Đang mởbug
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 78/100
mark3labs/kit#242 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Project submission: Sno StationĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
slavakurilyak/awesome-ai-agents#827 ·
Maintainer thường phản hồi trong vòng 1 ngày