ops(secrets): unblock Honcho Ollama Cloud runtime secret access #359

Closed
opened 2026-05-18 01:56:45 +02:00 by codex · 3 comments
Collaborator

Context

PR #358 merged the Honcho LLM-only switch prep to gemma4:31b-cloud through the Ollama Cloud OpenAI-compatible path. Post-merge preflight on RS2000 reached the compatibility-smoke gate before any Honcho backup or deploy.

Evidence

  • Release root points at merged main SHA 860ea3d63797a1c23bbc68a94b14b733bfc6937a.
  • forgejo-deploy-runner.service and watchdog timer are active.
  • Existing deploy runner Infisical Token Auth file exists with mode 0600, owner forgejo-deploy:forgejo-deploy, size 333 bytes.
  • Plain infisical run on RS2000 has no CLI login session and tries interactive login.
  • infisical run --token <deploy-runner-token-auth> --path /home-platform/providers ... returns 403 before the smoke script can read OLLAMA_CLOUD_API_KEY.

No secret value was printed. Honcho was not backed up or deployed after this blocker.

Required decision/action

Grant the runtime identity that will execute the Honcho compatibility smoke and deploy access to OLLAMA_CLOUD_API_KEY from the intended Infisical path, or provide an equivalent runtime-only secret injection path.

Recommended shape if using the existing deploy-runner Token Auth identity:

  • environment: prod
  • path condition: /home-platform/providers/** or the exact provider folder containing OLLAMA_CLOUD_API_KEY
  • permission: describeSecret + readValue
  • no repo-stored secret value

Acceptance criteria

  • From RS2000, the merged command in runbooks/honcho-ollama-gemma-switch.md can run non-interactively.
  • scripts/honcho/ollama-gemma-compat-smoke.py reports status=pass for gemma4:31b-cloud before Honcho deploy.
  • After the smoke passes, run backup-before-apply.sh honcho-postgres and honcho-redis, then deploy/smoke honcho-api and honcho-deriver sequentially.

References

  • PR #358
  • issue #357
  • runbooks/honcho-ollama-gemma-switch.md
  • #265 Token Auth migration context
## Context PR #358 merged the Honcho LLM-only switch prep to `gemma4:31b-cloud` through the Ollama Cloud OpenAI-compatible path. Post-merge preflight on RS2000 reached the compatibility-smoke gate before any Honcho backup or deploy. ## Evidence - Release root points at merged main SHA `860ea3d63797a1c23bbc68a94b14b733bfc6937a`. - `forgejo-deploy-runner.service` and watchdog timer are active. - Existing deploy runner Infisical Token Auth file exists with mode `0600`, owner `forgejo-deploy:forgejo-deploy`, size 333 bytes. - Plain `infisical run` on RS2000 has no CLI login session and tries interactive login. - `infisical run --token <deploy-runner-token-auth> --path /home-platform/providers ...` returns 403 before the smoke script can read `OLLAMA_CLOUD_API_KEY`. No secret value was printed. Honcho was not backed up or deployed after this blocker. ## Required decision/action Grant the runtime identity that will execute the Honcho compatibility smoke and deploy access to `OLLAMA_CLOUD_API_KEY` from the intended Infisical path, or provide an equivalent runtime-only secret injection path. Recommended shape if using the existing deploy-runner Token Auth identity: - environment: `prod` - path condition: `/home-platform/providers/**` or the exact provider folder containing `OLLAMA_CLOUD_API_KEY` - permission: `describeSecret` + `readValue` - no repo-stored secret value ## Acceptance criteria - From RS2000, the merged command in `runbooks/honcho-ollama-gemma-switch.md` can run non-interactively. - `scripts/honcho/ollama-gemma-compat-smoke.py` reports `status=pass` for `gemma4:31b-cloud` before Honcho deploy. - After the smoke passes, run `backup-before-apply.sh honcho-postgres` and `honcho-redis`, then deploy/smoke `honcho-api` and `honcho-deriver` sequentially. ## References - PR #358 - issue #357 - `runbooks/honcho-ollama-gemma-switch.md` - #265 Token Auth migration context
Author
Collaborator

Codex retest — secret exists, runtime ACL still blocked — 2026-05-18 07:36 CEST

Role: executor
Status: still blocked before backup/deploy

Operator confirmed OLLAMA_CLOUD_API_KEY exists in Infisical under /home-platform/providers for Production.

Retest from RS2000 using the existing deploy-runner Token Auth file still returns 403 Forbidden before the compatibility smoke can read the key:

GET /api/v3/secrets/raw?environment=prod&...&secretPath=%2Fhome-platform%2Fproviders&workspaceId=24324af9-adb3-4604-a7f2-d37243d76204
Response Code: 403 Forbidden

No secret value was printed. I did not run Honcho backups or deploy.

Required fix

Grant the deploy-runner machine identity / Token Auth ACL read access to the provider folder:

  • environment: prod
  • path condition: secretPath Glob Match /home-platform/providers/**
  • privileges: secrets describeSecret + readValue

Then I can rerun the compatibility smoke and continue with backups + sequential honcho-api / honcho-deriver deploy.

## Codex retest — secret exists, runtime ACL still blocked — 2026-05-18 07:36 CEST **Role:** executor **Status:** still blocked before backup/deploy Operator confirmed `OLLAMA_CLOUD_API_KEY` exists in Infisical under `/home-platform/providers` for Production. Retest from RS2000 using the existing deploy-runner Token Auth file still returns `403 Forbidden` before the compatibility smoke can read the key: ```text GET /api/v3/secrets/raw?environment=prod&...&secretPath=%2Fhome-platform%2Fproviders&workspaceId=24324af9-adb3-4604-a7f2-d37243d76204 Response Code: 403 Forbidden ``` No secret value was printed. I did not run Honcho backups or deploy. ### Required fix Grant the deploy-runner machine identity / Token Auth ACL read access to the provider folder: - environment: `prod` - path condition: `secretPath Glob Match /home-platform/providers/**` - privileges: `secrets describeSecret` + `readValue` Then I can rerun the compatibility smoke and continue with backups + sequential `honcho-api` / `honcho-deriver` deploy.
Collaborator

🔭 Dziadek: cross-repo coordination

To issue (Infisical secret — bloker deployu) jest krytycznym ogniwem:

Repo Issue Co Status
iskra-openclaw #293 Wizja: Honcho → Gemma + BGE-M3 open
platform #357 Design migracji embeddingów owner-attention
platform #359 (to issue) Infisical secret access — BLOKUJE owner-attention, BLOCKED
platform #371 Wyciek danych w logach Honcho class/security-sensitive

Bez tego nie ruszy #357 (BGE-M3 migration) ani #293 (deploy). To jest gate dla całego łańcucha.

## 🔭 Dziadek: cross-repo coordination To issue (Infisical secret — bloker deployu) jest krytycznym ogniwem: | Repo | Issue | Co | Status | |---|---|---|---| | iskra-openclaw | [#293](https://git.pdurlej.com/pdurlej/iskra-openclaw/issues/293) | Wizja: Honcho → Gemma + BGE-M3 | open | | platform | [#357](https://git.pdurlej.com/pdurlej/platform/issues/357) | Design migracji embeddingów | `owner-attention` | | **platform** | **#359 (to issue)** | **Infisical secret access — BLOKUJE** | `owner-attention`, BLOCKED | | platform | [#371](https://git.pdurlej.com/pdurlej/platform/issues/371) | Wyciek danych w logach Honcho | `class/security-sensitive` | Bez tego nie ruszy #357 (BGE-M3 migration) ani #293 (deploy). To jest **gate** dla całego łańcucha.
Author
Collaborator

Codex Fork A — Honcho runtime secret access evidence — 2026-05-18 19:04 CEST

Role: executor
Intent: checkpoint
Needs owner: no

Sanitized evidence only; no secret values, prompts, model responses, memory, or rendered env contents included.

Evidence

  • Runtime provider env report: /opt/pdurlej-platform/runtime/honcho-providers.env exists, mode 0640, owner root:platform-host-agent, expected key names present by count.
  • Active runtime env cleanup: /opt/pdurlej-platform/runtime/compose.env has 0 direct LLM_OPENAI_API_KEY entries.
  • Active legacy env cleanup: /opt/vps-home-platform-infra/env/stack.env has 0 direct LLM_OPENAI_API_KEY entries; backup saved under /opt/pdurlej-platform/runtime/backups/legacy-stack.env.before-honcho-openai-infisical.*.
  • honcho-api smoke: workflow run #1380 / API 1768, pickup 1s, scope eligible, plan in-sync, apply noop, health OK, HTTP probe PASS-200.
  • honcho-deriver smoke: workflow run #1381 / API 1772, pickup 0s, scope eligible, plan in-sync, apply noop, health OK.
  • Runtime health after cleanup: honcho-api healthy/running, honcho-deriver healthy/running, 0 unhealthy containers.
  • Embeddings unchanged: production remains on the existing text-embedding-3-small / 1536d path until #357 designs a separate embedding-space migration.

Notes

  • Historical legacy backup files may still contain the old key name/value. Those were left untouched; retention/deletion belongs to the post-soak legacy cleanup flight, not this runtime access fix.
  • #371 remains the durable log-privacy closeout. #357 remains the embedding-space migration design.

Next: continue with Fork B (#371) and Fork C (#357); no further owner action needed for #359.

## Codex Fork A — Honcho runtime secret access evidence — 2026-05-18 19:04 CEST **Role:** executor **Intent:** checkpoint **Needs owner:** no Sanitized evidence only; no secret values, prompts, model responses, memory, or rendered env contents included. ### Evidence - Runtime provider env report: `/opt/pdurlej-platform/runtime/honcho-providers.env` exists, mode `0640`, owner `root:platform-host-agent`, expected key names present by count. - Active runtime env cleanup: `/opt/pdurlej-platform/runtime/compose.env` has `0` direct `LLM_OPENAI_API_KEY` entries. - Active legacy env cleanup: `/opt/vps-home-platform-infra/env/stack.env` has `0` direct `LLM_OPENAI_API_KEY` entries; backup saved under `/opt/pdurlej-platform/runtime/backups/legacy-stack.env.before-honcho-openai-infisical.*`. - `honcho-api` smoke: workflow run #1380 / API 1768, pickup `1s`, scope eligible, plan `in-sync`, apply `noop`, health `OK`, HTTP probe `PASS-200`. - `honcho-deriver` smoke: workflow run #1381 / API 1772, pickup `0s`, scope eligible, plan `in-sync`, apply `noop`, health `OK`. - Runtime health after cleanup: `honcho-api` healthy/running, `honcho-deriver` healthy/running, `0` unhealthy containers. - Embeddings unchanged: production remains on the existing `text-embedding-3-small` / 1536d path until #357 designs a separate embedding-space migration. ### Notes - Historical legacy backup files may still contain the old key name/value. Those were left untouched; retention/deletion belongs to the post-soak legacy cleanup flight, not this runtime access fix. - #371 remains the durable log-privacy closeout. #357 remains the embedding-space migration design. **Next:** continue with Fork B (#371) and Fork C (#357); no further owner action needed for #359.
Sign in to join this conversation.
No labels
W6d-automerge-calibration
agent/claude-code
agent/codex
agent/hermes
agent/iskra
agent/ollama
agent/patchwarden
automerge-candidate
class/security-sensitive
cutover-gate
dependency/blocked
dependency/blocks-others
dependency/cross-repo
dependency/needs-confirmation
domain:agents
domain:ci
domain:docs
domain:forgejo
domain:infra
domain:memory
domain:runtime
domain:signal
domain:ux
flow/architecture
flow/blocked
flow/deployed
flow/done
flow/implementation
flow/intake
flow/maintained
flow/observed
flow/ready
flow/refining
flow/retired
flow/review
iterating
judge/codex-candidate
judge/hermes-candidate
judge/low-confidence
judge/needs-refinement
judge/operator-needed
judge/p0
judge/p1
judge/p2
judge/p3
judge/park
judge/patchwarden-candidate
judge/stale-priority
kind/adr
kind/bug
kind/chore
kind/feature
kind/infra
kind/ops
kind/refactor
kind/research
large-impact
merge/auto
merge/manual
merge/manual-dependency-conflict
merge/manual-failing-tests
merge/manual-merge-conflict
merge/manual-missing-review
merge/manual-operator-preference
merge/manual-red-zone
merge/manual-security-sensitive
merge/manual-unclear-scope
merge/manual-unknown
meta
mode:operator-only
mode:patchwarden-iskra-approved
mode:safe-auto
needs-operator-decision
needs-triage
not-ready
observed/erroring
observed/needs-followup
observed/pending
observed/retire-candidate
observed/unused
observed/used
operator-emotional
owner-attention
phase/02
phase/03
priority:p0
priority:p1
priority:p2
priority:p3
proposed
ready-for-agent
ready-for-operator
recovery
review:claude-reviewed
review:codex-reviewed
review:dziadek-reviewed
review:needs-human
risk/exposure
risk/process
risk/product
risk/runtime
safety:external-write
safety:no-prod-mutation
safety:prod-impact
safety:secret-touch
size/large
size/medium
size/small
size/tiny
size/unknown
source/adr
source/agent-generated
source/manual
source/operator-chat
source/voice-note
status:blocked
status:codex-ready
status:merged:pending-evidence
status:needs-evidence
status:operator-needed
status:parked
tier/full
tier/lite
tier/stacked
tier:0-platform-substrate
tier:1-iskra-value-layer
tier:2-tools-products-modules
type:bug
type:chore
type:docs
type:feat
type:policy
type:research
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pdurlej/platform#359
No description provided.