llm-connect/deploy/k8s/activity-core-llm-connect
tegwick c81ff3cb51
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Document railiance01-only target for activity-core llm-connect overlay
Note coulombcore legacy deployment removed 2026-07-08 after production
cutover to railiance01 (ACTIVITY-WP-0010).
2026-07-08 16:01:13 +02:00
..
configmap.yaml Complete activity-core LLM endpoint handoff (LLM-WP-0006) 2026-06-19 13:51:12 +02:00
deployment.yaml Add activity-core LLM endpoint support 2026-06-07 19:24:45 +02:00
externalsecret.yaml activity-core: ExternalSecret for llm-connect-provider-secrets via openbao-activity-core CSS (CCR-2026-0003) 2026-07-02 12:56:21 +02:00
kustomization.yaml activity-core: ExternalSecret for llm-connect-provider-secrets via openbao-activity-core CSS (CCR-2026-0003) 2026-07-02 12:56:21 +02:00
networkpolicy.yaml Add activity-core LLM endpoint support 2026-06-07 19:24:45 +02:00
README.md Document railiance01-only target for activity-core llm-connect overlay 2026-07-08 16:01:13 +02:00
service.yaml Add activity-core LLM endpoint support 2026-06-07 19:24:45 +02:00

activity-core llm-connect Service

This overlay deploys llm-connect as an internal activity-core namespace service for daily WSJF triage.

Target cluster: railiance01 only (KUBECONFIG=~/.kube/config-hosteurope). The legacy coulombcore copy was removed 2026-07-08 after production cutover (ACTIVITY-WP-0010); do not re-apply this overlay to coulombcore.

Stable in-cluster URL after apply:

http://llm-connect.activity-core.svc.cluster.local:8080

Create provider credentials outside Git before applying the Deployment. For the default OpenRouter config:

kubectl -n activity-core create secret generic llm-connect-provider-secrets \
  --from-literal=OPENROUTER_API_KEY="$OPENROUTER_API_KEY"

Provider API key custody belongs to the operator/OpenBao-to-Kubernetes Secret path. ops-warden documents this as outside its issuance scope; do not paste key values into Git, State Hub, logs, or chat.

Apply:

docker build -f Containerfile -t docker.io/library/llm-connect:latest .
docker save docker.io/library/llm-connect:latest | ssh coulombcore sudo k3s ctr -n k8s.io images import -
kubectl apply -k deploy/k8s/activity-core-llm-connect
kubectl -n activity-core rollout status deployment/llm-connect

Smoke from inside the namespace, using an image that includes this repo's fixtures and scripts/smoke_activity_core_endpoint.py:

kubectl -n activity-core run llm-connect-smoke \
  --rm -i --restart=Never \
  --image=llm-connect:latest \
  --image-pull-policy=Never \
  --env=LLM_CONNECT_URL=http://llm-connect.activity-core.svc.cluster.local:8080 \
  --env=LLM_CONNECT_TIMEOUT_SECONDS=300 \
  -- python scripts/smoke_activity_core_endpoint.py

Then set activity-core's runtime config:

LLM_CONNECT_URL=http://llm-connect.activity-core.svc.cluster.local:8080
LLM_CONNECT_TIMEOUT_SECONDS=300

Do not commit provider keys, live prompt payloads, or smoke response bodies that contain operational State Hub data.