diff --git a/workplans/ISSUE-WP-0003-railiance01-deployment.md b/workplans/ISSUE-WP-0003-railiance01-deployment.md index ad909a6..089c4e1 100644 --- a/workplans/ISSUE-WP-0003-railiance01-deployment.md +++ b/workplans/ISSUE-WP-0003-railiance01-deployment.md @@ -4,7 +4,7 @@ type: workplan title: "Deploy issue-core as a service on railiance01 (ArgoCD GitOps pilot)" domain: infotech repo: issue-core -status: blocked +status: finished owner: claude topic_slug: custodian created: "2026-06-19" @@ -235,7 +235,7 @@ the cluster Gitea (markitect) backend. ```task id: ISSUE-WP-0003-T06 -status: wait +status: done priority: high state_hub_task_id: "96b14cdb-364f-4eab-a80e-dd8b3859c694" ``` @@ -262,7 +262,7 @@ state_hub_task_id: "96b14cdb-364f-4eab-a80e-dd8b3859c694" ```task id: ISSUE-WP-0003-T07 -status: wait +status: done priority: medium state_hub_task_id: "8d853b8e-cfca-441d-b817-0a29e37bd66e" ``` @@ -271,8 +271,8 @@ state_hub_task_id: "8d853b8e-cfca-441d-b817-0a29e37bd66e" - ArgoCD Application Synced/Healthy; issue-core Pod Ready; Service reachable cluster-internal. -- [ ] activity-core -> issue-core emission returns 201 and creates a Gitea issue - (remaining T06 handoff). +- [x] activity-core -> issue-core emission returns 201 and creates a Gitea issue + (2026-07-02: Gitea issue `176` via the live sink path — see completion note). - [x] Document the GitOps runbook (image build/push, ArgoCD sync, secret contract, smoke, activity-core handoff) in `docs/argocd-gitops.md`. - Emit an `add_progress_event` milestone to the hub when the activity-core @@ -289,3 +289,39 @@ state_hub_task_id: "8d853b8e-cfca-441d-b817-0a29e37bd66e" - `activity-core/k8s/railiance/README.md` — the imperative pattern being superseded for this service. - `~/ops-warden/wiki/playbooks/activity-core-issue-sink.md` — key routing. + + +## Completion 2026-07-02 — live emission proven, topology corrected + +**Topology correction:** this workplan's "railiance01 cluster" is actually the +CoulombCore k3s cluster (92.205.130.254, reached via the workstation +kubeconfig tunnel `127.0.0.1:16443`). The real railiance01 (92.205.62.239) +hosts activity-core and has no issue-core namespace. The in-cluster +`issue-core.issue-core.svc.cluster.local` URL that T06 originally assumed was +therefore never resolvable from activity-core. + +**Cross-machine lane built (2026-07-02):** +- ops-bridge gained an optional `remote_host` forward destination + (ops-bridge commit) enabling tunnels to k3s ClusterIPs. +- Tunnels: `issue-core-coulombcore` (workstation `127.0.0.1:18765` -> + CoulombCore ClusterIP `10.43.103.154:8765`, health-checked on `/healthz`) + and `issue-core-railiance01` (railiance01 `127.0.0.1:18765` -> workstation). +- activity-core commit `a1e2a42`: new `actcore-issue-core-bridge` + hostNetwork proxy (host port 18081 -> node-local 18765) cloned from the + state-hub-bridge pattern, `ISSUE_CORE_URL` -> + `http://actcore-issue-core-bridge.activity-core.svc.cluster.local:8765`, + `ISSUE_SINK_TYPE` -> `rest`. +- `ISSUE_CORE_API_KEY` merged into railiance01's `actcore-runtime-secret` by + the operator via a stdin-only pipe from the approved OpenBao lane + (`CCR-2026-0002`, activated the same day). + +**Emission proof:** from inside the restarted actcore-worker, the real +`IssueCoreRestSink` emitted a labeled smoke TaskSpec and received +`TaskRef(external_id='176', backend='gitea')` — Gitea issue `176` in +`coulomb/markitect-main` (default backend). Auth, bridge, tunnels, issue-core +validation, and Gitea creation all exercised on the production path. + +**Contract note for emitters:** `POST /issues/` requires `target_repo` and +`activity_definition_id` (422 otherwise). activity-core `TaskSpec` defaults +(`target_repo=None`, `activity_definition_id=""`) will be rejected — rule and +instruction emitters must populate both.