3.6 KiB
inter-hub on railiance01
Interaction Hub deployment for https://hub.coulomb.social.
Companion source repo: coulomb/inter-hub. This repo owns the Railiance app
Helm surface and operator targets, not the runtime application code.
Hosts and release surface
| Server | IP | Role |
|---|---|---|
| Railiance01 | 92.205.62.239 |
Production k3s; deploy S5 apps here |
| CoulombCore | 92.205.130.254 |
Bootstrap / prerelease only |
| Item | Value |
|---|---|
| Namespace | inter-hub |
| Helm release | inter-hub |
| Chart | charts/inter-hub |
| Values | helm/inter-hub-values.yaml |
| Image | gitea.coulomb.social/coulomb/inter-hub:<tag> |
| Secret | inter-hub-env |
| Production kubeconfig | ~/.kube/config-hosteurope |
Current evidence
Read-only checks on 2026-06-15 showed:
- Helm release
inter-hubrevision 2 is deployed in namespaceinter-hub. helm get valuesreportsimage.tag: 11ff61c,image.pullPolicy: Always, andrunMigrations: false.- The live Deployment image is
92.205.130.254:32166/coulomb/inter-hub:790b5e5, so production image state has drifted from Helm values and from this repo's desired Gitea registry target. - The pod is Running and
certificate/inter-hub-tlsis Ready on Railiance01. GET https://hub.coulomb.social/api/v2/hubsreturned200unauthenticated, proving the route is present but not satisfying the expected401auth gate./openapi.json,/api/openapi.json,/swagger.json, and/api/swagger.jsonreturned404; the public OpenAPI route still needs to be confirmed by the upstream inter-hub owner.
Deploy
Use the Railiance01 kubeconfig. The Makefile defaults to
~/.kube/config-hosteurope and fails fast when it is missing.
make inter-hub-dry-run
INTER_HUB_IMAGE_TAG=91037a4 make inter-hub-deploy
make inter-hub-status
Deploy automation should pass the image tag without rewriting
helm/inter-hub-values.yaml. The production deploy target requires this
explicit tag:
INTER_HUB_IMAGE_TAG=91037a4 make inter-hub-deploy
Use a tag at or after the commit that contains the required v2 bootstrap API
routes. The upstream inter-hub workplan names 91037a4 as the first expected
tag for the IHUB-WP-0019 route surface; verify the actual registry tag before
announcing rollout.
Release verification
make inter-hub-release-info
This wraps the required non-secret inspection commands:
helm history inter-hub -n inter-hub
helm get values inter-hub -n inter-hub
kubectl describe deploy/inter-hub -n inter-hub
kubectl get pods -n inter-hub -o wide
Confirm the rendered deployment uses the intended immutable image tag and does
not rely on a stale latest image.
The chart intentionally keeps the legacy Deployment and Service selector
app=inter-hub because the live Helm release was created with that selector.
Kubernetes treats Deployment selectors as immutable; do not change this
selector during a normal in-place production upgrade.
Migration boundary
The Railiance app chart currently does not run inter-hub database migrations. Treat migration execution as an upstream inter-hub operator step and record the evidence before closing a production rollout. Do not describe migrations as automatic unless the chart grows an explicit init job/container or another committed migration mechanism.
Smoke checks
After rollout, the unauthenticated v2 API gate should be present:
make inter-hub-smoke
Expected results:
GET https://hub.coulomb.social/api/v2/hubsreturns401, not404.- OpenAPI lists
/hubs,/hub-capability-manifests,/api-consumers, and/policy-scopes.