Azure / Azure/CosmosDBShell

Lightweight headless CI distribution (no MCP, LSP, interactive UI)

Đang mở
#175 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
automation P1
Ngôn ngữ chính
C#
Star
3
Fork
7
Merge trung bình
1 ngày 12 giờ
Pull request đã merge (30 ngày)
14

Mô tả

## Feedback source
External user feedback (travel multi-agent workshop team).

## Problem
The current single-binary distribution bundles everything: interactive shell, MCP server, LSP, brokered auth, OpenTelemetry, ARM management. For CI/CD use cases (data seeding, CRUD, queries, integration test validation), most of this is unnecessary weight and attack surface.

## Proposed solution
Ship a **separate lightweight, headless CI distribution** with:
- Predictable exit codes (stable contract)
- JSON output mode (\--output json\)
- Workload-identity authentication (federated credentials, no interactive browser)
- Core commands: import, query, assert, CRUD
- **No** MCP, LSP, brokered authentication, or interactive UI

## Implementation options (in priority order)
1. **Same .NET codebase with trimming/Native AOT** — feature-flag the build to exclude MCP/LSP/interactive modules, use .NET publish trimming or NativeAOT for a smaller binary
2. **Go or Rust reimplementation** of the CI-only subset — smallest possible binary, no runtime dependency

Splitting the feature set is more important than changing languages.

## Relationship to other issues
- Complements #155 (A1 — non-interactive output contract)
- Addresses size concern in #174
- Pairs with CI/CD documentation (#TBD)

## Acceptance criteria
- [x] CI distribution is < 15 MB compressed
- [x] Supports workload-identity auth (OIDC federated credentials)
- [x] Stable exit-code contract documented
- [x] JSON output for all commands
- [ ] No dependency on interactive terminal or browser

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Không có tệp hoặc bài kiểm thử nào được nêu tên; hãy bắt đầu bằng cách kiểm tra bản phân phối single-binary hiện tại và cấu hình build của nó, sau đó lần theo các entry point cho import, query, assert và CRUD. Kiểm tra cách đầu ra JSON, mã thoát và xác thực workload identity hiện đang được xử lý. Hoàn thành nghĩa là có một bản phân phối CI được nén dưới 15 MB, không yêu cầu terminal tương tác cũng như trình duyệt.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
csharp
Lĩnh vực
authentication, ci-cd, cli
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

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.