# activity-core llm-connect Service This overlay deploys `llm-connect` as an internal `activity-core` namespace service for daily WSJF triage. Stable in-cluster URL after apply: ```text http://llm-connect.activity-core.svc.cluster.local:8080 ``` Create provider credentials outside Git before applying the Deployment. For the default OpenRouter config: ```bash kubectl -n activity-core create secret generic llm-connect-provider-secrets \ --from-literal=OPENROUTER_API_KEY="$OPENROUTER_API_KEY" ``` Apply: ```bash docker build -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`: ```bash kubectl -n activity-core run llm-connect-smoke \ --rm -i --restart=Never \ --image=llm-connect:latest \ --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: ```text 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.