Skip to content

CLI: Update Hypeman Go SDK to 392f55111d188fad255676e90c0c55d7c4b35b73 - #64

Open
kernel-internal[bot] wants to merge 6 commits into
mainfrom
cli-coverage-update
Open

CLI: Update Hypeman Go SDK to 392f55111d188fad255676e90c0c55d7c4b35b73#64
kernel-internal[bot] wants to merge 6 commits into
mainfrom
cli-coverage-update

Conversation

@kernel-internal

@kernel-internal kernel-internal Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

This PR updates the Hypeman Go SDK dependency to the latest version.

SDK Update

  • Updated hypeman-go to 392f55111d188fad255676e90c0c55d7c4b35b73 (released as v0.26.1)

Coverage Analysis

A full enumeration of SDK methods and CLI commands was performed. No coverage gaps were found.

  • All 62 methods listed in the SDK api.md resolve to a CLI call site. client.Instances.Logs and client.Builds.Events are server-sent-event endpoints and are consumed through their streaming variants (LogsStreaming in hypeman logs, EventsStreaming in hypeman build).
  • All 189 fields across the 59 request param structs (including nested types such as AutoStandbyPolicyParam, HealthCheckParam, RestartPolicyParam, SetSnapshotScheduleRequestParam, CreatePushRequestParam, and MemoryReclaimRequestParam) are reachable from an existing CLI flag. The InstanceNewParamsCredential.Inject / .Hosts sub-fields are supplied as part of the JSON payload accepted by hypeman run --credentials-json.
  • openapi.yaml contains no x-cli-skip markers, so no endpoints were excluded.

This branch also merges main (resolving a go.sum conflict by regenerating it against the current module graph). go build ./..., go vet ./..., and go test ./... all pass.

Triggered by: kernel/hypeman-go@392f551
Reviewer: @stainless-app[bot]


Note

Medium Risk
Touches instance lifecycle (expiration) and passes registry secrets on pull/push/create; changes are mostly additive with client-side validation before API calls.

Overview
Bumps hypeman-go to v0.26.1 and exposes several SDK capabilities in the CLI.

Adds hypeman capabilities, which calls the Capabilities API and prints host/server/runtime/network/image feature info (default table, or --format json / --transform runtimes). README documents the new command.

Instance expiration is available via --ttl / --expires-at on hypeman run and hypeman update expiration, with shared parsing that rejects both flags together and validates Go durations vs RFC3339 (0s clears expiration).

Registry credentials (--username, --password, --registry-token) are centralized in registrycredentials.go and wired into hypeman pull, hypeman image create, and push (push refactored to use the same helper). Credentials are only sent when at least one value is set.

Unit tests cover capabilities formatting, expiration parsing, and credential building.

Reviewed by Cursor Bugbot for commit d9957ff. Bugbot is set up for automated code reviews on this repo. Configure here.

kernel-internal Bot and others added 2 commits August 14, 2026 15:30
The SDK now accepts Docker-style registry credentials on ImageNewParams, so a
private-registry image can be pulled without the server holding credentials for
that registry. Expose them as --username/--password/--registry-token on
`hypeman image create` and `hypeman pull`.

`hypeman push create` already had the same three flags for the outbound push
credentials, so both call sites now share one flag set and one builder.

A full enumeration of the 61 SDK methods in api.md and their param struct fields
against the CLI command tree found no other coverage gaps.

Co-authored-by: Cursor <cursoragent@cursor.com>
Bump github.com/kernel/hypeman-go to 7f21c67d750f6dd66c6b6af04e88c710841f2daf,
which adds the GET /capabilities resource.

Expose it as `hypeman capabilities` so users can discover which runtimes and
features a host actually supports instead of hard-coding hypervisor knowledge.

Co-authored-by: Cursor <cursoragent@cursor.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update hypeman SDK to 913f5b9d8432fe6bd2f0c7af7aba16a71bfe1c5a and add new commands/flags CLI: Update hypeman SDK to 7f21c67d750f6dd66c6b6af04e88c710841f2daf and add new commands/flags Aug 17, 2026
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	pkg/cmd/pushcmd.go
@kernel-internal kernel-internal Bot changed the title CLI: Update hypeman SDK to 7f21c67d750f6dd66c6b6af04e88c710841f2daf and add new commands/flags CLI: Update hypeman SDK to 3819f7931388d925f77c3f1e921d76ea65ff3e43 and add new commands/flags Aug 19, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit b91ebcf. Configure here.


if format == "auto" || format == "" {
return showCapabilities(os.Stdout, res)
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Transform ignored in default format

Medium Severity

handleCapabilities always prints the full showCapabilities table when --format is the default auto, and never applies --transform. The advertised hypeman capabilities --transform runtimes path therefore still dumps the whole summary instead of falling through to ShowJSON.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit b91ebcf. Configure here.

Bumps github.com/kernel/hypeman-go to ea5a7f8d0d069b51e10189a8d0196f6155aaa4a8.

A full enumeration of api.md against the pkg/cmd command tree found every SDK
method already reachable from the CLI, but the SDK bump adds instance TTL /
absolute expiration to InstanceNewParams and InstanceUpdateParams, which had no
CLI surface. Expose them as --ttl and --expires-at on `hypeman run` and a new
`hypeman update expiration` subcommand, rejecting the mutually exclusive
combination and malformed values before the API round trip.

Co-authored-by: Cursor <cursoragent@cursor.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update hypeman SDK to 3819f7931388d925f77c3f1e921d76ea65ff3e43 and add new commands/flags CLI: Update hypeman SDK to ea5a7f8d0d069b51e10189a8d0196f6155aaa4a8 and add new commands/flags Aug 21, 2026
Pin the CLI to the tagged v0.26.0 release of github.com/kernel/hypeman-go
instead of the pseudo-version for the unreleased ea5a7f8d commit.

A full enumeration of api.md methods and their param structs against the
CLI command tree found no coverage gaps: all 62 SDK methods and every
param field already map to an existing command or flag.

Co-authored-by: Cursor <cursoragent@cursor.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update hypeman SDK to ea5a7f8d0d069b51e10189a8d0196f6155aaa4a8 and add new commands/flags CLI: Update hypeman SDK to cf8022d3a0b1dd8cabd16e1b7dde0a7b1b193b51 and add new commands/flags Aug 21, 2026
Resolves the go.sum conflict by regenerating it against the current
module graph, and bumps github.com/kernel/hypeman-go to v0.26.1
(392f55111d188fad255676e90c0c55d7c4b35b73).

A full enumeration of api.md methods and their param structs against
pkg/cmd found no coverage gaps, so no new commands or flags are needed.

Co-authored-by: Cursor <cursoragent@cursor.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update hypeman SDK to cf8022d3a0b1dd8cabd16e1b7dde0a7b1b193b51 and add new commands/flags CLI: Update Hypeman Go SDK to 392f55111d188fad255676e90c0c55d7c4b35b73 Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants