gateway: no automatic CAA reconciliation loop
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ó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- rust
- Lĩnh vực
- backend, networking
Hướng nghiên cứu
Theo dõi RotateAcmeCredentials, SetCaa, set_caa, set_caa_records và tác vụ định kỳ hiện có để gia hạn chứng chỉ. Bắt đầu bằng việc tìm hiểu cách lấy các giá trị accounturi đã công bố và các miền ZT, sau đó xác minh rằng quá trình reconciliation kiểm tra các bản ghi CAA và thử lại các miền không khớp. Hoàn thành khi các lần xoay một phần, sự lệch danh sách miền và các bản ghi guard còn sót lại hội tụ mà không cần chạy lại SetCaa thủ công, đồng thời chi phí đọc DNS được định lượng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Follow-up to #935.
Two paths currently rely on an operator manually rerunning SetCaa to converge:
- Partial rotation failure —
RotateAcmeCredentialspublishes the new credentials first, then re-pins CAA best-effort per domain. Domains that fail stay pinned to the old account untilSetCaais rerun; issuance for them fails CAA while existing certs keep serving, so the breakage can stay invisible for up to ~90 days. - Domain-list skew — rotation and
SetCaaiterate the local WaveKV snapshot. A ZT domain added on another node but not yet synced is silently skipped and stays pinned to the old account.
Certificate renewal has a periodic task that retries until it converges; CAA has no equivalent.
Proposal
Add a periodic reconciliation pass (piggybacking on the existing renewal loop) that:
- reads the published credential's
accounturi; - for each ZT domain, checks whether the CAA
issue/issuewildrecords pin that URI (DNS read only in the common case); - re-pins divergent domains via the existing
set_caapath, logging loudly.
This removes both manual steps, converges the concurrent-rotation aftermath (#1008), and also cleans up leftover ; guard records from an interrupted set_caa_records run. Cost is N DNS reads per interval — quantify, but at renewal-loop frequency this is negligible.
- Ngôn ngữ chính
- Rust
- Star
- 551
- Fork
- 97
- Merge trung bình
- 1 ngày 8 giờ
- Pull request đã merge (30 ngày)
- 182
Chuẩn bị môi trường
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 Dstack-TEE/dstack
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Dstack-TEE/dstack#1384 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
Dstack-TEE/dstack#1301 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
Dstack-TEE/dstack#1300 ·
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
Dstack-TEE/dstack#1299 ·
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
Dstack-TEE/dstack#1298 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Dstack-TEE/dstack
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
bytecodealliance/wasmtime#14433 ·
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
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày