mirror of
https://github.com/hanzoai/kms.git
synced 2026-10-17 11:18:16 +00:00
* docs(llm): explicit Upstream attribution line
LICENSE-attested or repo-attested upstream is now called out at the
top of LLM.md alongside the project description, so downstream
audits (universe/docs/PRODUCTS.md) can rely on a single canonical
location for the OSS lineage statement.
* feat: cloud Mount() per HIP-0106
Adds pkg/kms.Mount(*zip.App, cloud.Deps) error so the unified Hanzo
Cloud binary can blank-import and register the in-process KMS
server alongside every other Hanzo subsystem.
- pkg/kms/mount.go: native /v1/kms/health + /v1/kms/readyz zip
handlers and zip.AdaptNetHTTP wrap of the existing Embed mux at
/v1/kms/* + /healthz. init() registers with cloud.Register("kms",
10, …) so blank import wires the subsystem in.
- cmd/kmsd: rewritten as a HIP-0106 thin shim — cloud.LoadConfig +
cloud.BuildDeps + zip.New + kms.Mount + app.Listen. The Embed
surface is unchanged; only assembly moves through zip.
- schema/kms.zap: minimal Health ZAP interface; full secret/key
surfaces land in follow-up PRs.
Standalone kmsd binary still ships via the existing Dockerfile and
CI workflow.
* refactor: collapse pkg/kms/ → root for clean import path
Subsystem code lives in package kms at repo root. Importers now use
`github.com/hanzoai/kms` (no /pkg/kms/ nesting). Standalone shim moved
to cmd/kms/ where applicable.
Per Hanzo Go-stdlib pattern: repo IS the package.
* refactor: flatten import path — github.com/hanzoai/cloud (drop /pkg/cloud)
32 lines
1.3 KiB
Plaintext
32 lines
1.3 KiB
Plaintext
# Hanzo KMS — ZAP Schema
|
|
#
|
|
# Server: kms (Go) at kms.hanzo.svc.cluster.local or via the unified
|
|
# cloud binary at api.hanzo.ai/v1/kms.
|
|
#
|
|
# This schema is the minimum ZAP-typed public surface needed for the
|
|
# HIP-0106 Mount() contract. The full HTTP surface is documented in
|
|
# pkg/kms/CLAUDE.md and remains the source of truth for /v1/kms/*
|
|
# routes. Wider ZAP-typed handlers (PutSecret, Sign, RotateKeys, …)
|
|
# will land as separate schema PRs.
|
|
#
|
|
# Code generation:
|
|
# zapc generate schema/kms.zap --lang go --out ./gen/zap/
|
|
# zapc generate schema/kms.zap --lang ts --out ./gen/zap/
|
|
|
|
# ── Health ────────────────────────────────────────────────────────────────
|
|
|
|
struct HealthRequest
|
|
# No fields. Probe is a side-effect-free GET.
|
|
|
|
struct HealthResponse
|
|
status Text
|
|
service Text
|
|
version Text
|
|
|
|
# ── Service interface ────────────────────────────────────────────────────
|
|
|
|
interface KMSService
|
|
# Liveness probe. Always answers ok unless the process is unreachable.
|
|
# Mounted at GET /v1/kms/health by Mount(app, deps).
|
|
health (request HealthRequest) -> (response HealthResponse)
|