Helm revision 3 with image cb7a6e4. Runbook updated with TLS/DNS operator guidance and smoke-check commands.
82 lines
2.4 KiB
Markdown
82 lines
2.4 KiB
Markdown
# reuse-surface on railiance01
|
|
|
|
Federation service deployment for **`https://reuse.coulomb.social`**.
|
|
|
|
Companion workplans: **RAILIANCE-WP-0007** (Helm release), **REUSE-WP-0011**
|
|
(service + CLI).
|
|
|
|
## DNS and TLS
|
|
|
|
| Record | Target | Notes |
|
|
|---|---|---|
|
|
| `reuse.coulomb.social` A | **`92.205.130.254`** | Cluster Traefik ingress (same as `hub.coulomb.social`) |
|
|
|
|
Let's Encrypt HTTP-01 requires traffic to reach this cluster. An earlier A record
|
|
to `92.205.62.239` does not satisfy the challenge until DNS propagates to the
|
|
ingress IP.
|
|
|
|
```bash
|
|
dig +short reuse.coulomb.social A
|
|
kubectl get certificate -n reuse
|
|
```
|
|
|
|
Until `certificate/reuse-surface-tls` is Ready, smoke checks from a workstation:
|
|
|
|
```bash
|
|
curl -k --resolve reuse.coulomb.social:443:92.205.130.254 https://reuse.coulomb.social/health
|
|
kubectl port-forward -n reuse svc/reuse-surface 18001:8000
|
|
export REUSE_SURFACE_URL=http://127.0.0.1:18001
|
|
```
|
|
|
|
## Release surface
|
|
|
|
| Item | Value |
|
|
|---|---|
|
|
| Namespace | `reuse` |
|
|
| Helm release | `reuse` |
|
|
| Chart | `charts/reuse-surface` |
|
|
| Values | `helm/reuse-surface-values.yaml` |
|
|
| Image | `gitea.coulomb.social/coulomb/reuse-surface:<tag>` |
|
|
| Secret | `reuse-surface-env` (`REUSE_SURFACE_TOKEN`) |
|
|
|
|
## Deploy
|
|
|
|
```bash
|
|
# 1. Pin image tag in helm/reuse-surface-values.yaml
|
|
# 2. Create secret (example — use SOPS handoff in production)
|
|
kubectl create namespace reuse --dry-run=client -o yaml | kubectl apply -f -
|
|
kubectl create secret generic reuse-surface-env \
|
|
--namespace reuse \
|
|
--from-literal=REUSE_SURFACE_TOKEN='<token>' \
|
|
--dry-run=client -o yaml | kubectl apply -f -
|
|
|
|
make reuse-dry-run
|
|
make reuse-deploy
|
|
make reuse-status
|
|
```
|
|
|
|
## Smoke checks
|
|
|
|
```bash
|
|
curl -k --resolve reuse.coulomb.social:443:92.205.130.254 https://reuse.coulomb.social/health
|
|
|
|
export REUSE_SURFACE_TOKEN=$(kubectl get secret reuse-surface-env -n reuse \
|
|
-o jsonpath='{.data.REUSE_SURFACE_TOKEN}' | base64 -d)
|
|
export REUSE_SURFACE_URL=https://reuse.coulomb.social # after TLS Ready
|
|
reuse-surface hub status
|
|
reuse-surface hub list
|
|
curl -fsS "$REUSE_SURFACE_URL/v1/federated" | jq '.capabilities | length'
|
|
```
|
|
|
|
Deployed image tag: see `helm/reuse-surface-values.yaml` (currently `cb7a6e4`).
|
|
Dogfood: `reuse-surface` repo registered; federated index returns 12 capabilities.
|
|
|
|
## Operations
|
|
|
|
```bash
|
|
make reuse-logs
|
|
make reuse-status
|
|
```
|
|
|
|
Image promotion: build from `coulomb/reuse-surface`, push to Gitea OCI, update
|
|
`helm/reuse-surface-values.yaml` `image.tag`, `make reuse-deploy`. |