2026-07-21 21:02:06 -03:00
|
|
|
# services/hermes/agent-ingress.yaml
|
2026-08-10 16:31:06 -03:00
|
|
|
apiVersion: traefik.io/v1alpha1
|
|
|
|
|
kind: Middleware
|
|
|
|
|
metadata:
|
|
|
|
|
name: hermes-agent-terminal-slash
|
|
|
|
|
namespace: hermes
|
|
|
|
|
spec:
|
|
|
|
|
redirectRegex:
|
|
|
|
|
regex: ^https://agent\.hermes\.bstein\.dev/terminal$
|
|
|
|
|
replacement: https://agent.hermes.bstein.dev/terminal/
|
|
|
|
|
permanent: false
|
|
|
|
|
---
|
2026-08-10 21:08:42 -03:00
|
|
|
apiVersion: traefik.io/v1alpha1
|
|
|
|
|
kind: Middleware
|
|
|
|
|
metadata:
|
|
|
|
|
name: hermes-agent-stock-dashboard-headers
|
|
|
|
|
namespace: hermes
|
|
|
|
|
spec:
|
|
|
|
|
headers:
|
|
|
|
|
customRequestHeaders:
|
|
|
|
|
Origin: http://127.0.0.1:9119
|
|
|
|
|
---
|
2026-05-20 17:22:12 -03:00
|
|
|
apiVersion: networking.k8s.io/v1
|
|
|
|
|
kind: Ingress
|
|
|
|
|
metadata:
|
2026-08-10 21:08:42 -03:00
|
|
|
name: hermes-agent-dashboard
|
2026-07-21 21:02:06 -03:00
|
|
|
namespace: hermes
|
2026-05-20 17:22:12 -03:00
|
|
|
annotations:
|
|
|
|
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
2026-08-10 21:08:42 -03:00
|
|
|
traefik.ingress.kubernetes.io/router.middlewares: hermes-hermes-agent-stock-dashboard-headers@kubernetescrd
|
2026-05-20 17:22:12 -03:00
|
|
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
|
|
|
|
spec:
|
|
|
|
|
ingressClassName: traefik
|
|
|
|
|
tls:
|
2026-08-08 17:59:45 -03:00
|
|
|
- hosts:
|
|
|
|
|
- agent.hermes.bstein.dev
|
|
|
|
|
secretName: hermes-sites-tls
|
2026-05-20 17:22:12 -03:00
|
|
|
rules:
|
2026-08-08 17:59:45 -03:00
|
|
|
- host: agent.hermes.bstein.dev
|
2026-05-20 17:22:12 -03:00
|
|
|
http:
|
|
|
|
|
paths:
|
|
|
|
|
- path: /
|
|
|
|
|
pathType: Prefix
|
|
|
|
|
backend:
|
|
|
|
|
service:
|
2026-08-08 17:59:45 -03:00
|
|
|
name: oauth2-proxy-hermes-agent
|
|
|
|
|
port:
|
|
|
|
|
name: http
|
2026-08-10 21:08:42 -03:00
|
|
|
---
|
|
|
|
|
apiVersion: networking.k8s.io/v1
|
|
|
|
|
kind: Ingress
|
|
|
|
|
metadata:
|
|
|
|
|
name: hermes-agent-terminal
|
|
|
|
|
namespace: hermes
|
|
|
|
|
annotations:
|
|
|
|
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
|
|
|
traefik.ingress.kubernetes.io/router.middlewares: hermes-hermes-agent-terminal-slash@kubernetescrd
|
|
|
|
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
|
|
|
|
spec:
|
|
|
|
|
ingressClassName: traefik
|
|
|
|
|
tls:
|
|
|
|
|
- hosts:
|
|
|
|
|
- agent.hermes.bstein.dev
|
|
|
|
|
secretName: hermes-sites-tls
|
|
|
|
|
rules:
|
|
|
|
|
- host: agent.hermes.bstein.dev
|
|
|
|
|
http:
|
|
|
|
|
paths:
|
|
|
|
|
- path: /terminal
|
|
|
|
|
pathType: Prefix
|
|
|
|
|
backend:
|
|
|
|
|
service:
|
|
|
|
|
name: oauth2-proxy-hermes-agent
|
|
|
|
|
port:
|
|
|
|
|
name: http
|
|
|
|
|
---
|
|
|
|
|
apiVersion: networking.k8s.io/v1
|
|
|
|
|
kind: Ingress
|
|
|
|
|
metadata:
|
|
|
|
|
name: hermes-sites
|
|
|
|
|
namespace: hermes
|
|
|
|
|
annotations:
|
|
|
|
|
cert-manager.io/cluster-issuer: letsencrypt
|
|
|
|
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
|
|
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
|
|
|
|
spec:
|
|
|
|
|
ingressClassName: traefik
|
|
|
|
|
tls:
|
|
|
|
|
- hosts:
|
|
|
|
|
- agent.hermes.bstein.dev
|
refactor(hermes): rename chat and triage public hostnames
Rename two public Hermes hostnames across the repo:
chat.hermes.bstein.dev -> hermes.bstein.dev
triage.hermes.bstein.dev -> triage.bstein.dev
agent.hermes.bstein.dev is left untouched. That rename ships separately and
must merge last, because it is the coordinator's own access point.
Covers CoreDNS host entries, the shared hermes-sites certificate SANs and
the ingress rules, Keycloak OIDC redirect/origin/post-logout URLs,
oauth2-proxy redirect URLs, CORS and allowed-origin settings, dashboard
public URLs, the Ariadne proposal UI link, ZAP baseline scan targets, the
operator and agent instruction text, the Telegram sign-in prompts, and the
Docker/UI references.
Knowledge catalogs and the HTTP diagram were regenerated with
scripts/render/knowledge_render_atlas.py rather than hand-edited. Only the
rename delta is carried here: the committed catalogs on main are already
stale by roughly 1650 lines, and that drift is left for a separate cleanup.
Repo-only change. After merge it needs the Keycloak ensure script re-run and
certificate reissuance; existing oauth2-proxy sessions are invalidated.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 21:57:07 +00:00
|
|
|
- hermes.bstein.dev
|
|
|
|
|
- triage.bstein.dev
|
2026-08-10 21:08:42 -03:00
|
|
|
secretName: hermes-sites-tls
|
|
|
|
|
rules:
|
refactor(hermes): rename chat and triage public hostnames
Rename two public Hermes hostnames across the repo:
chat.hermes.bstein.dev -> hermes.bstein.dev
triage.hermes.bstein.dev -> triage.bstein.dev
agent.hermes.bstein.dev is left untouched. That rename ships separately and
must merge last, because it is the coordinator's own access point.
Covers CoreDNS host entries, the shared hermes-sites certificate SANs and
the ingress rules, Keycloak OIDC redirect/origin/post-logout URLs,
oauth2-proxy redirect URLs, CORS and allowed-origin settings, dashboard
public URLs, the Ariadne proposal UI link, ZAP baseline scan targets, the
operator and agent instruction text, the Telegram sign-in prompts, and the
Docker/UI references.
Knowledge catalogs and the HTTP diagram were regenerated with
scripts/render/knowledge_render_atlas.py rather than hand-edited. Only the
rename delta is carried here: the committed catalogs on main are already
stale by roughly 1650 lines, and that drift is left for a separate cleanup.
Repo-only change. After merge it needs the Keycloak ensure script re-run and
certificate reissuance; existing oauth2-proxy sessions are invalidated.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 21:57:07 +00:00
|
|
|
- host: hermes.bstein.dev
|
2026-08-08 17:59:45 -03:00
|
|
|
http:
|
|
|
|
|
paths:
|
|
|
|
|
- path: /
|
|
|
|
|
pathType: Prefix
|
|
|
|
|
backend:
|
|
|
|
|
service:
|
|
|
|
|
name: oauth2-proxy-hermes-chat
|
|
|
|
|
port:
|
|
|
|
|
name: http
|
refactor(hermes): rename chat and triage public hostnames
Rename two public Hermes hostnames across the repo:
chat.hermes.bstein.dev -> hermes.bstein.dev
triage.hermes.bstein.dev -> triage.bstein.dev
agent.hermes.bstein.dev is left untouched. That rename ships separately and
must merge last, because it is the coordinator's own access point.
Covers CoreDNS host entries, the shared hermes-sites certificate SANs and
the ingress rules, Keycloak OIDC redirect/origin/post-logout URLs,
oauth2-proxy redirect URLs, CORS and allowed-origin settings, dashboard
public URLs, the Ariadne proposal UI link, ZAP baseline scan targets, the
operator and agent instruction text, the Telegram sign-in prompts, and the
Docker/UI references.
Knowledge catalogs and the HTTP diagram were regenerated with
scripts/render/knowledge_render_atlas.py rather than hand-edited. Only the
rename delta is carried here: the committed catalogs on main are already
stale by roughly 1650 lines, and that drift is left for a separate cleanup.
Repo-only change. After merge it needs the Keycloak ensure script re-run and
certificate reissuance; existing oauth2-proxy sessions are invalidated.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 21:57:07 +00:00
|
|
|
- host: triage.bstein.dev
|
2026-08-08 17:59:45 -03:00
|
|
|
http:
|
|
|
|
|
paths:
|
|
|
|
|
- path: /
|
|
|
|
|
pathType: Prefix
|
|
|
|
|
backend:
|
|
|
|
|
service:
|
|
|
|
|
name: oauth2-proxy-hermes-triage
|
2026-05-20 17:22:12 -03:00
|
|
|
port:
|
2026-08-02 02:30:44 -03:00
|
|
|
name: http
|