Skip to content

Commit 1c08426

Browse files
stubbiclaude
andauthored
chore(runtime): correct spec.runtime deprecation to v0.1.19 + kubectl-explain marker (#96)
Follow-up to #95. Release 0.1.18 (#86) shipped before #95 merged, so the `spec.runtime` deprecation actually lands in **v0.1.19** — corrected across the godoc, webhook warning, CRD/chart description, deprecations table, and api-reference. Also adds the `+kubebuilder:validation:Description` marker so `kubectl explain spec.runtime` shows the DEPRECATED notice (completes the deprecation policy's Step 1). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 791aefe commit 1c08426

6 files changed

Lines changed: 9 additions & 8 deletions

File tree

api/v1/hermesinstance_types.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,9 @@ type HermesInstanceSpec struct {
162162
// the operator no longer builds a runtime via init containers. Setting this
163163
// has no effect.
164164
//
165-
// Deprecated: ignored since the upstream-image runtime (v0.1.18); scheduled
165+
// Deprecated: ignored since the upstream-image runtime (v0.1.19); scheduled
166166
// for removal no earlier than v0.3.0 and 2027-01-01. See docs/deprecations.md.
167+
// +kubebuilder:validation:Description="DEPRECATED: ignored - the agent image is the self-contained upstream NousResearch/hermes-agent runtime (no init-container build). Removal no earlier than v0.3.0 / 2027-01-01. See docs/deprecations.md."
167168
// +optional
168169
Runtime RuntimeSpec `json:"runtime,omitempty"`
169170

@@ -1179,7 +1180,7 @@ type HermesInstanceList struct {
11791180
// RuntimeSpec controlled Python/uv runtime concerns for the old hand-rolled agent
11801181
// image's init-container build.
11811182
//
1182-
// Deprecated: ignored since the upstream-image runtime (v0.1.18); the upstream
1183+
// Deprecated: ignored since the upstream-image runtime (v0.1.19); the upstream
11831184
// agent image is self-contained. Scheduled for removal no earlier than v0.3.0 and
11841185
// 2027-01-01. See docs/deprecations.md.
11851186
type RuntimeSpec struct {

charts/hermes-operator/templates/crds/hermes.agent_hermesinstances.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5605,7 +5605,7 @@ spec:
56055605
image is the upstream NousResearch/hermes-agent s6 runtime, which is
56065606
self-contained (see docs/runtime.md). Setting this has no effect.
56075607

5608-
Deprecated: ignored since the upstream-image runtime (v0.1.18); scheduled
5608+
Deprecated: ignored since the upstream-image runtime (v0.1.19); scheduled
56095609
for removal no earlier than v0.3.0 and 2027-01-01. See docs/deprecations.md.
56105610
properties:
56115611
extraAptPackages:

config/crd/bases/hermes.agent_hermesinstances.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5605,7 +5605,7 @@ spec:
56055605
image is the upstream NousResearch/hermes-agent s6 runtime, which is
56065606
self-contained (see docs/runtime.md). Setting this has no effect.
56075607

5608-
Deprecated: ignored since the upstream-image runtime (v0.1.18); scheduled
5608+
Deprecated: ignored since the upstream-image runtime (v0.1.19); scheduled
56095609
for removal no earlier than v0.3.0 and 2027-01-01. See docs/deprecations.md.
56105610
properties:
56115611
extraAptPackages:

docs/api-reference-generated.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ _Appears in:_
421421
| `restoreFrom` _string_ | RestoreFrom names a backup snapshot to restore from on next boot. | | Optional: \{\} <br /> |
422422
| `autoUpdate` _[AutoUpdateSpec](#autoupdatespec)_ | AutoUpdate controls opt-in OCI-registry polling for newer agent images. | | Optional: \{\} <br /> |
423423
| `migration` _[MigrationSpec](#migrationspec)_ | Migration is a one-shot migration source (set on initial create only). | | Optional: \{\} <br /> |
424-
| `runtime` _[RuntimeSpec](#runtimespec)_ | Runtime configured the agent's Python toolchain and OS-level dependencies<br />for the old hand-rolled agent image. It is now IGNORED: the published agent<br />image is the upstream NousResearch/hermes-agent s6 runtime, which ships its<br />own Python env, browser, node, and dependencies (see docs/runtime.md), so<br />the operator no longer builds a runtime via init containers. Setting this<br />has no effect.<br />Deprecated: ignored since the upstream-image runtime (v0.1.18); scheduled<br />for removal no earlier than v0.3.0 and 2027-01-01. See docs/deprecations.md. | | Optional: \{\} <br /> |
424+
| `runtime` _[RuntimeSpec](#runtimespec)_ | Runtime configured the agent's Python toolchain and OS-level dependencies<br />for the old hand-rolled agent image. It is now IGNORED: the published agent<br />image is the upstream NousResearch/hermes-agent s6 runtime, which ships its<br />own Python env, browser, node, and dependencies (see docs/runtime.md), so<br />the operator no longer builds a runtime via init containers. Setting this<br />has no effect.<br />Deprecated: ignored since the upstream-image runtime (v0.1.19); scheduled<br />for removal no earlier than v0.3.0 and 2027-01-01. See docs/deprecations.md. | | Optional: \{\} <br /> |
425425
| `gateways` _[GatewaysSpec](#gatewaysspec)_ | Gateways configures the platform-side messaging bindings (Telegram, Discord,<br />Slack, WhatsApp, Signal). Each gateway is opt-in and references its own<br />Secret(s) so tokens are rotatable independently. | | Optional: \{\} <br /> |
426426
| `profileStore` _[ProfileStoreSpec](#profilestorespec)_ | ProfileStore configures the optional Honcho profile-store companion. | | Optional: \{\} <br /> |
427427
| `tailscale` _[TailscaleSpec](#tailscalespec)_ | Tailscale exposes the gateway over a Tailscale tailnet. | | Optional: \{\} <br /> |
@@ -1114,7 +1114,7 @@ _Appears in:_
11141114
RuntimeSpec controlled Python/uv runtime concerns for the old hand-rolled agent
11151115
image's init-container build.
11161116

1117-
Deprecated: ignored since the upstream-image runtime (v0.1.18); the upstream
1117+
Deprecated: ignored since the upstream-image runtime (v0.1.19); the upstream
11181118
agent image is self-contained. Scheduled for removal no earlier than v0.3.0 and
11191119
2027-01-01. See docs/deprecations.md.
11201120

docs/deprecations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ deprecated surface:
173173

174174
| Surface | Type | Deprecated in | Replaced by | Earliest removal | Status |
175175
|---|---|---|---|---|---|
176-
| `spec.runtime` (`RuntimeSpec`: `python`/`uv`/`apt`/`pip`) | API field | v0.1.18 | n/a — the agent image is the self-contained upstream runtime (no init-container build); see [runtime.md](runtime.md) | v0.3.0 / 2027-01-01 | Ignored |
176+
| `spec.runtime` (`RuntimeSpec`: `python`/`uv`/`apt`/`pip`) | API field | v0.1.19 | n/a — the agent image is the self-contained upstream runtime (no init-container build); see [runtime.md](runtime.md) | v0.3.0 / 2027-01-01 | Ignored |
177177

178178
## Historical removals
179179

internal/webhook/webhook_hermesinstance_validate.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ func validateCommon(inst *hermesv1.HermesInstance) (admission.Warnings, error) {
260260
warns = append(warns, "spec.config.raw and spec.config.configMapRef are both set without spec.config.mergeMode; defaults to 'replace' (Raw wins)")
261261
}
262262

263-
// Deprecated (v0.1.18): spec.runtime is ignored — the agent image is the
263+
// Deprecated (v0.1.19): spec.runtime is ignored — the agent image is the
264264
// self-contained upstream runtime, so there is no init-container Python build.
265265
if !reflect.DeepEqual(inst.Spec.Runtime, hermesv1.RuntimeSpec{}) {
266266
warns = append(warns, "spec.runtime is deprecated and ignored: the agent image is the self-contained upstream NousResearch/hermes-agent runtime (no init-container build). Remove spec.runtime; it is scheduled for removal no earlier than v0.3.0 and 2027-01-01. See docs/deprecations.md.")

0 commit comments

Comments
 (0)