Three fenced worker Pods claim Hermes Kanban runs through a coordinator that owns every state transition, with per-ordinal HMAC authority, a mediated broker-only SCM path, and durable per-ordinal workspaces. Content is the reviewed head of PR #18 (689bcb6e) with PR 16's and PR 19's contributions removed: they were merged in only to validate co-existence and are not prerequisites, so this branch no longer carries them as ancestors. Only PR 14 and PR 15 remain, because the broker boundary and the cli_lane_* decomposition are load-bearing for two of the fixed P0 boundaries. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
184 lines
3.1 KiB
YAML
184 lines
3.1 KiB
YAML
# services/hermes/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: hermes
|
|
namespace: hermes
|
|
labels:
|
|
app: hermes
|
|
spec:
|
|
type: ClusterIP
|
|
selector:
|
|
app: hermes
|
|
ports:
|
|
- name: api
|
|
port: 8642
|
|
targetPort: api
|
|
protocol: TCP
|
|
- name: dashboard
|
|
port: 9119
|
|
targetPort: dashboard
|
|
protocol: TCP
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: hermes-triage
|
|
namespace: hermes
|
|
labels:
|
|
app: hermes
|
|
spec:
|
|
type: ClusterIP
|
|
selector:
|
|
app: hermes
|
|
ports:
|
|
- name: api
|
|
port: 8642
|
|
targetPort: api
|
|
- name: dashboard
|
|
port: 8787
|
|
targetPort: dashboard
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: hermes-chat-tenant
|
|
namespace: hermes
|
|
labels:
|
|
app: hermes-chat-tenant
|
|
spec:
|
|
clusterIP: None
|
|
publishNotReadyAddresses: true
|
|
selector:
|
|
app: hermes-chat-tenant
|
|
ports:
|
|
- name: webui
|
|
port: 8787
|
|
targetPort: webui
|
|
- name: api
|
|
port: 8642
|
|
targetPort: api
|
|
- name: telegram-media
|
|
port: 8788
|
|
targetPort: telegram-media
|
|
protocol: TCP
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: hermes-chat-router
|
|
namespace: hermes
|
|
labels:
|
|
app: hermes-chat-router
|
|
spec:
|
|
type: ClusterIP
|
|
selector:
|
|
app: hermes-chat-router
|
|
ports:
|
|
- name: http
|
|
port: 8080
|
|
targetPort: http
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: hermes-image-broker
|
|
namespace: hermes
|
|
labels:
|
|
app: hermes-agent
|
|
spec:
|
|
type: ClusterIP
|
|
publishNotReadyAddresses: true
|
|
selector:
|
|
app: hermes-agent
|
|
ports:
|
|
- name: http
|
|
port: 9002
|
|
targetPort: image-broker
|
|
protocol: TCP
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: hermes-codex-broker
|
|
namespace: hermes
|
|
labels:
|
|
app: hermes-agent
|
|
spec:
|
|
type: ClusterIP
|
|
publishNotReadyAddresses: true
|
|
selector:
|
|
app: hermes-agent
|
|
ports:
|
|
- name: http
|
|
port: 9003
|
|
targetPort: codex-broker
|
|
protocol: TCP
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: hermes-execution-worker
|
|
namespace: hermes
|
|
labels:
|
|
app: hermes-execution-worker
|
|
spec:
|
|
clusterIP: None
|
|
publishNotReadyAddresses: true
|
|
selector:
|
|
app: hermes-execution-worker
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: hermes-execution-pool
|
|
namespace: hermes
|
|
labels:
|
|
app: hermes-agent
|
|
spec:
|
|
type: ClusterIP
|
|
publishNotReadyAddresses: true
|
|
selector:
|
|
app: hermes-agent
|
|
ports:
|
|
- name: http
|
|
port: 9007
|
|
targetPort: execution-pool
|
|
protocol: TCP
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: hermes-local-image
|
|
namespace: hermes
|
|
labels:
|
|
app: hermes-local-image
|
|
spec:
|
|
type: ClusterIP
|
|
publishNotReadyAddresses: true
|
|
selector:
|
|
app: hermes-local-image
|
|
ports:
|
|
- name: http
|
|
port: 9004
|
|
targetPort: local-image
|
|
protocol: TCP
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: hermes-claude-broker
|
|
namespace: hermes
|
|
labels:
|
|
app: hermes-agent
|
|
spec:
|
|
type: ClusterIP
|
|
publishNotReadyAddresses: true
|
|
selector:
|
|
app: hermes-agent
|
|
ports:
|
|
- name: http
|
|
port: 9006
|
|
targetPort: claude-broker
|
|
protocol: TCP
|