|
42 | 42 | **Short names:** `hi`, `hermes` |
43 | 43 | **Categories:** `hermes`, `agents` |
44 | 44 |
|
45 | | -HermesInstance describes a single hermes-agent deployment backed by a StatefulSet and a PVC. The controller reconciles all subsystems (ConfigMap, Service, StatefulSet, NetworkPolicy, RBAC, PDB, HPA, Ingress, ServiceMonitor, PrometheusRule) and reports readiness via `.status.conditions`. |
| 45 | +HermesInstance describes a single hermes-agent deployment backed by a StatefulSet and a PVC. The controller reconciles all subsystems (ConfigMap, Service, StatefulSet, NetworkPolicy, RBAC, PDB, HPA, Ingress, HTTPRoute, ServiceMonitor, PrometheusRule) and reports readiness via `.status.conditions`. |
46 | 46 |
|
47 | 47 | ### spec.image |
48 | 48 |
|
@@ -190,6 +190,23 @@ Exposes the agent via a Service and optionally an Ingress. |
190 | 190 | | `spec.networking.ingress.path` | `string` | `/` | URL path for the Ingress rule. | |
191 | 191 | | `spec.networking.ingress.servicePortName` | `string` | `gateway` | Name of the Service port the Ingress routes to. | |
192 | 192 |
|
| 193 | +#### spec.networking.httpRoute |
| 194 | + |
| 195 | +Optional Gateway API HTTPRoute, an alternative to the Ingress for clusters that |
| 196 | +run a Gateway API implementation. The operator emits an unstructured |
| 197 | +`gateway.networking.k8s.io/v1` HTTPRoute (no extra controller dependency); the |
| 198 | +Gateway API CRDs must be installed for the route to take effect. The route |
| 199 | +mirrors the Ingress shape: a single prefix rule routing to the agent Service. |
| 200 | + |
| 201 | +| Field | Type | Default | Description | |
| 202 | +|---|---|---|---| |
| 203 | +| `spec.networking.httpRoute.enabled` | `*bool` | `false` | When true, the operator creates an HTTPRoute for the agent. | |
| 204 | +| `spec.networking.httpRoute.parentRefs` | `[]HTTPRouteParentRef` | `[]` | Gateways (or other parents) the route attaches to. Each entry has a required `name` and optional `namespace` and `sectionName`. | |
| 205 | +| `spec.networking.httpRoute.hostnames` | `[]string` (listType=set) | `[]` | Hostnames matched by the route. | |
| 206 | +| `spec.networking.httpRoute.path` | `string` | `/` | Path prefix routed to the agent Service. | |
| 207 | +| `spec.networking.httpRoute.servicePortName` | `string` | `gateway` | Name of the Service port the route targets; resolved to the Service port number. | |
| 208 | +| `spec.networking.httpRoute.annotations` | `map[string]string` | `nil` | Annotations applied verbatim to the HTTPRoute. | |
| 209 | + |
193 | 210 | ### spec.observability |
194 | 211 |
|
195 | 212 | Controls metrics exposure, Prometheus Operator integration, and logging configuration. |
@@ -433,7 +450,7 @@ The Honcho-side PVC layout that Plan 4's `addProfileSnapshot` Job writes to is ` |
433 | 450 | | `status.phase` | `string` | Short human-readable status. Values: `Pending`, `Ready`, `Degraded`, `Suspended`. | |
434 | 451 | | `status.replicas` | `int32` | Latest observed StatefulSet replica count. | |
435 | 452 | | `status.readyReplicas` | `int32` | Latest observed ready-replica count. | |
436 | | -| `status.conditions` | `[]metav1.Condition` (listType=map, listMapKey=type) | Subsystem readiness conditions. See `docs/conditions.md` for the full catalogue. Condition types: `StorageReady`, `ConfigReady`, `SecretsReady`, `NetworkPolicyReady`, `RBACReady`, `ServiceReady`, `PDBReady`, `HPAReady`, `IngressReady`, `ServiceMonitorReady`, `PrometheusRuleReady`, `Ready`. | |
| 453 | +| `status.conditions` | `[]metav1.Condition` (listType=map, listMapKey=type) | Subsystem readiness conditions. See `docs/conditions.md` for the full catalogue. Condition types: `StorageReady`, `ConfigReady`, `SecretsReady`, `NetworkPolicyReady`, `RBACReady`, `ServiceReady`, `PDBReady`, `HPAReady`, `IngressReady`, `HTTPRouteReady`, `ServiceMonitorReady`, `PrometheusRuleReady`, `Ready`. | |
437 | 454 |
|
438 | 455 | --- |
439 | 456 |
|
|
0 commit comments