Prepare exact native recipient and record approval service activation
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a09cbb-87c6-7900-a145-4ce53ba9f1a6
This commit is contained in:
parent
992f20f79d
commit
1f7f42b277
9 changed files with 514 additions and 62 deletions
|
|
@ -1,36 +1,32 @@
|
|||
# PROPOSED reviewed-input template; not active catalog or credential admission.
|
||||
# SECRETS-WP-0010; retain the existing KV and AppRole names.
|
||||
# Configured local recipient proposal; not active catalog or credential admission.
|
||||
id: openrouter-llm-connect
|
||||
kind: kv
|
||||
org: coulomb
|
||||
repo: llm-connect
|
||||
stage: prod
|
||||
description: >-
|
||||
OpenRouter provider credential used by llm-connect for activity-core. The
|
||||
proposed native recipient checks key authentication only; trial delivery
|
||||
requires a separate reviewed recipient and exact-action approval.
|
||||
|
||||
description: OpenRouter provider credential used by llm-connect for activity-core.
|
||||
The proposed native recipient checks key authentication only; trial delivery requires
|
||||
a separate reviewed recipient and exact-action approval.
|
||||
mount: platform
|
||||
path: workloads/activity-core/llm-connect/llm-connect-provider-secrets
|
||||
mount_management: existing
|
||||
fields:
|
||||
- OPENROUTER_API_KEY
|
||||
|
||||
- OPENROUTER_API_KEY
|
||||
consumers:
|
||||
- name: llm-connect-activity-core
|
||||
auth: kubernetes
|
||||
claim: serviceaccount:external-secrets/external-secrets
|
||||
purpose: sync llm-connect-provider-secrets for the activity-core deployment
|
||||
- name: intelligence-radar-key-check
|
||||
auth: approle
|
||||
claim: catalog:openrouter-llm-connect
|
||||
purpose: IR-WP-0004 read-only OpenRouter key authentication check; no inference
|
||||
|
||||
- name: llm-connect-activity-core
|
||||
auth: kubernetes
|
||||
claim: serviceaccount:external-secrets/external-secrets
|
||||
purpose: sync llm-connect-provider-secrets for the activity-core deployment
|
||||
- name: intelligence-radar-key-check
|
||||
auth: approle
|
||||
claim: catalog:openrouter-llm-connect
|
||||
purpose: IR-WP-0004 read-only OpenRouter key authentication check; no inference
|
||||
workload_delivery:
|
||||
- mode: external-secrets
|
||||
owner: railiance-platform + llm-connect
|
||||
|
||||
delivery_modes: [exec-env, read-check]
|
||||
- mode: external-secrets
|
||||
owner: railiance-platform + llm-connect
|
||||
delivery_modes:
|
||||
- exec-env
|
||||
- read-check
|
||||
delivery_auth:
|
||||
method: approle
|
||||
management: engine
|
||||
|
|
@ -41,47 +37,51 @@ delivery_auth:
|
|||
secret_id_ttl: 15m
|
||||
secret_id_num_uses: 1
|
||||
token_num_uses: 8
|
||||
|
||||
approval:
|
||||
model: ccr
|
||||
human_control: true
|
||||
purpose: IR-WP-0004 read-only OpenRouter key authentication check; no inference
|
||||
decision_ref: CCR-2026-0003
|
||||
notes: >-
|
||||
CCR-2026-0003 approves the existing workload lane. A live native AppRole
|
||||
apply remains gated by SECRETS-WP-0006-T05 review and operator approval.
|
||||
First native-cutover candidate (docs/native-lane-cutover.md); not an
|
||||
authorization to apply.
|
||||
|
||||
notes: CCR-2026-0003 approves the existing workload lane. A live native AppRole
|
||||
apply remains gated by SECRETS-WP-0006-T05 review and operator approval. First
|
||||
native-cutover candidate (docs/native-lane-cutover.md); not an authorization to
|
||||
apply.
|
||||
verification:
|
||||
positive: approved delivery AppRole can read OPENROUTER_API_KEY without printing it
|
||||
positive: approved delivery AppRole can read OPENROUTER_API_KEY without printing
|
||||
it
|
||||
negative: unrelated token is denied on platform/data/workloads/activity-core/llm-connect/llm-connect-provider-secrets
|
||||
|
||||
risk:
|
||||
classification: high
|
||||
notes: provider key can incur spend and remains valid outside OpenBao until revoked at OpenRouter
|
||||
|
||||
notes: provider key can incur spend and remains valid outside OpenBao until revoked
|
||||
at OpenRouter
|
||||
rotation:
|
||||
owner: railiance-platform + llm-connect provider operator
|
||||
expectation: >-
|
||||
Mint a replacement at OpenRouter, update every live cluster copy, wait for
|
||||
ESO refresh, restart llm-connect, verify, and revoke the old provider key.
|
||||
expectation: Mint a replacement at OpenRouter, update every live cluster copy, wait
|
||||
for ESO refresh, restart llm-connect, verify, and revoke the old provider key.
|
||||
ttl: provider-defined
|
||||
|
||||
deactivation:
|
||||
owner: railiance-platform + llm-connect
|
||||
expectation: >-
|
||||
Disable the front door and workload read path, remove materialized Secrets,
|
||||
stop consumers, and revoke the provider key at OpenRouter.
|
||||
|
||||
expectation: Disable the front door and workload read path, remove materialized
|
||||
Secrets, stop consumers, and revoke the provider key at OpenRouter.
|
||||
audit:
|
||||
evidence: CCR id, actor, exact path, field name, provider key identifier if non-secret, timestamps, and pass/fail only
|
||||
|
||||
evidence: CCR id, actor, exact path, field name, provider key identifier if non-secret,
|
||||
timestamps, and pass/fail only
|
||||
delivery_config:
|
||||
exec_owner:
|
||||
status: pending
|
||||
status: configured
|
||||
owner: intelligence-radar-key-check
|
||||
reason: >-
|
||||
Pin tools/openrouter_key_check.py and its protected Python runtime, exact
|
||||
argv, private cwd and fixed environment after custody-owner admission.
|
||||
The pending binding refuses exec before consume or secret retrieval.
|
||||
command:
|
||||
- /usr/bin/python3.12
|
||||
- -I
|
||||
- -B
|
||||
- /home/worsch/.local/share/secrets-engine/recipients/openrouter-key-check-dc1569f63ef7/openrouter_key_check.py
|
||||
cwd: /run/user/1000/secrets-engine-openrouter-check
|
||||
environment:
|
||||
LANG: C.UTF-8
|
||||
files:
|
||||
/usr/bin/python3.12:
|
||||
sha256: e50d468e8b0adfb05733f5b87b3cff34829c4a8c1aea50c865aa8bdfe4bb150f
|
||||
private: false
|
||||
/home/worsch/.local/share/secrets-engine/recipients/openrouter-key-check-dc1569f63ef7/openrouter_key_check.py:
|
||||
sha256: dc1569f63ef74d73f0a735548c0573db2a1493f7ffc86945f52d0be9b27a3253
|
||||
private: true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue