Chuyển tới nội dung chính

Nộp gói

Endpoint: POST /api/v1/vendor/modules Quyền: role VENDOR (nhóm route nền tảng — ADR-0007). Tài khoản VENDOR được cấp qua quy trình hai người duyệt, không tự đăng ký được (ADR-0009 mục 6).

Lấy access token qua client platform-admin (cổng nền tảng, không phải cổng tenant) — token phải mang role VENDOR trong realm_access.roles.

Ví dụ curl nộp gói:

curl -X POST "$GATEWAY_URL/api/v1/vendor/modules" \
-H "Authorization: Bearer $TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-F "file=@ten-module.zip;type=application/zip"

Idempotency-Key là bắt buộc (một UUID bất kỳ do client sinh) — nộp lại cùng khoá trả về kết quả của lần đầu, không tạo bản ghi trùng.

Đọc kết quả​

Thành công (201): thân trả { code, version, status }, với status là IN_REVIEW (kiểm đạt, chờ duyệt) hoặc DRAFT (quét bảo mật chưa đạt — xem trang Vòng đời).

Thất bại, error_code trong thân Problem Details:

MãHTTPÝ nghĩa
MODULE_PACKAGE_INVALID422Gói sai bố cục: zip hỏng, thiếu module.yaml hoặc signature.sig, gói quá lớn
MODULE_SIGNATURE_INVALID422Chữ ký thiếu, sai, hoặc không thuộc khoá tin cậy
MODULE_MANIFEST_INVALID422module.yaml sai schema hoặc quy tắc liên trường; mảng errors nêu từng vi phạm theo pointer
MODULE_VERSION_CONFLICT409Phiên bản không tăng so với bản đã phát hành, hoặc module PUBLISHED không ghi đè được
MODULE_SCAN_FAILED422Image còn lỗ hổng mức Critical khi quét Trivy
MODULE_MIGRATION_INVALID422Migration chạy thử lỗi, hoặc một tệp quá 60 giây

Nguồn: ADR-0045 mục 2.