Files
llm-multiverse/implementation-plans/issue-022.md
shahondin1624 732e3f28b8 feat: scaffold Secrets Service Rust project (#22)
Add secrets-service crate with tonic gRPC boilerplate, config loading
(host, port, backend selection), and stub GetSecret endpoint with
input validation. Backend implementations will follow in #23 and #24.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 08:02:35 +01:00

42 lines
1.6 KiB
Markdown

# Implementation Plan — Issue #22: Scaffold Secrets Service Rust project
## Metadata
| Field | Value |
|---|---|
| Issue | [#22](https://git.shahondin1624.de/llm-multiverse/llm-multiverse/issues/22) |
| Title | Scaffold Secrets Service Rust project |
| Milestone | Phase 3: Secrets Service |
| Labels | `type:infrastructure`, `priority:high`, `lang:rust`, `service:secrets` |
| Status | `COMPLETED` |
| Language | Rust |
| Related Plans | [issue-018.md](issue-018.md) |
| Blocked by | #16 (completed) |
## Acceptance Criteria
- [x] Cargo workspace member created (`services/secrets/`)
- [x] Dependency on proto-gen crate
- [x] Tonic gRPC server boilerplate compiles
- [x] Configuration loading (address, port, backend selection)
- [x] Stub GetSecret endpoint with input validation
## Architecture Analysis
Follows the same pattern as audit service scaffold (#18). Config supports `BackendType` enum (libsecret, keyring) for future backend implementations (#23, #24). Stub service validates inputs and returns Unimplemented until backends are wired in.
## Files to Create/Modify
| File | Action | Purpose |
|---|---|---|
| `Cargo.toml` | Modify | Add services/secrets to workspace members |
| `services/secrets/Cargo.toml` | Create | Secrets service crate |
| `services/secrets/src/lib.rs` | Create | Module re-exports |
| `services/secrets/src/main.rs` | Create | Server entry point |
| `services/secrets/src/config.rs` | Create | Configuration with backend selection |
| `services/secrets/src/service.rs` | Create | SecretsService stub with validation |
## Deviation Log
_(No deviations)_