yomiro-cli

module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 13, 2026 License: MIT

README

yomiro

Release

Yomiro's command-line client: a gateway daemon for on-prem device/asset connectivity and a control surface for the Yomiro platform.

Public release mirror of the CLI built inside the Yomiro monorepo. Issues and PRs against the CLI itself are welcome here; platform issues belong in the main product channels.

Install

macOS / Linux (Homebrew)
brew install yomiroco/yomiro/yomiro
Direct download

Grab a release archive for your OS/arch from Releases and extract the yomiro binary into your $PATH.

From source
git clone https://github.com/yomiroco/yomiro-cli
cd yomiro-cli
go install ./cmd/yomiro

Requires Go 1.25+.

Quickstart

yomiro login                 # device-code flow against Auth0
yomiro whoami                # confirm you're authenticated
yomiro --help                # list commands

yomiro login opens a browser for the Auth0 device-code grant. The resulting access token is stored in your OS keychain (via zalando/go-keyring).

Pointing at a non-prod tenant
export YOMIRO_API_BASE_URL=https://api.dev.yomiro.io
export YOMIRO_AUTH0_CLIENT_ID=<dev-client-id>
export YOMIRO_AUTH0_AUDIENCE=https://api.dev.yomiro.io
yomiro login

The compiled-in defaults target prod; dev requires explicit overrides so that production-tagged binaries never silently issue tokens against the dev tenant.

Verifying release artifacts

Every release archive is signed with cosign (keyless) and the checksums.txt is signed alongside the binaries. To verify:

cosign verify-blob \
  --certificate checksums.txt.pem \
  --certificate-identity-regexp 'https://github.com/yomiroco/yomiro-cli/.*' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  --signature checksums.txt.sig \
  checksums.txt

A CycloneDX SBOM is attached to each GitHub release.

License

Apache-2.0 — see LICENSE.

Directories

Path Synopsis
cmd
yomiro command
internal
auth
Package auth implements the Auth0 device-code OAuth flow and the operator auth subcommands.
Package auth implements the Auth0 device-code OAuth flow and the operator auth subcommands.
buildinfo
Package buildinfo holds release metadata set via -ldflags at link time.
Package buildinfo holds release metadata set via -ldflags at link time.
config
Package config resolves XDG-compliant paths for the yomiro CLI.
Package config resolves XDG-compliant paths for the yomiro CLI.
credentials
Package credentials stores the operator's API token + identity hints.
Package credentials stores the operator's API token + identity hints.
gw
gw/connectors
Package connectors holds the ServiceHandler abstraction and the built-in connectors (postgres, mqtt, modbus, opcua, sonos, otel, generic).
Package connectors holds the ServiceHandler abstraction and the built-in connectors (postgres, mqtt, modbus, opcua, sonos, otel, generic).
gw/connectors/generic
Package generic is the fallback connector: TCP connect, banner grab, TLS cert read.
Package generic is the fallback connector: TCP connect, banner grab, TLS cert read.
gw/connectors/modbus
Package modbus implements the Modbus TCP connector — read holding registers, device ID via function 0x2B/0x0E.
Package modbus implements the Modbus TCP connector — read holding registers, device ID via function 0x2B/0x0E.
gw/connectors/mqtt
Package mqtt implements the MQTT broker connector.
Package mqtt implements the MQTT broker connector.
gw/connectors/opcua
Package opcua implements the OPC-UA connector — namespace browse, node listing.
Package opcua implements the OPC-UA connector — namespace browse, node listing.
gw/connectors/otel
Package otel implements the OTEL collector connector — gRPC health + config R/W.
Package otel implements the OTEL collector connector — gRPC health + config R/W.
gw/connectors/sonos
Package sonos discovers Sonos speakers via UPnP SSDP.
Package sonos discovers Sonos speakers via UPnP SSDP.
gw/connregistry
Package connregistry constructs a connectors.TargetResolver with the built-in connectors enabled.
Package connregistry constructs a connectors.TargetResolver with the built-in connectors enabled.
gw/control
Package control implements a tiny request/response protocol over a Unix socket so `yomiro gw status/pause/resume/reload` can talk to a running daemon.
Package control implements a tiny request/response protocol over a Unix socket so `yomiro gw status/pause/resume/reload` can talk to a running daemon.
gw/daemon
Package daemon ties together the tunnel client, dbproxy, control socket, and reconnect loop into one runnable unit.
Package daemon ties together the tunnel client, dbproxy, control socket, and reconnect loop into one runnable unit.
gw/dbproxy
Package dbproxy proxies database queries on the gateway side, enforcing allowlists and row limits before any SQL hits the customer DB.
Package dbproxy proxies database queries on the gateway side, enforcing allowlists and row limits before any SQL hits the customer DB.
gw/svcwrap
Package svcwrap wraps kardianos/service to install, start, stop, and uninstall the gateway as a launchd / systemd / SCM service.
Package svcwrap wraps kardianos/service to install, start, stop, and uninstall the gateway as a launchd / systemd / SCM service.
gw/tunnel
Package tunnel implements the gateway-side WSS protocol client.
Package tunnel implements the gateway-side WSS protocol client.
output
Package output renders platform API responses for the CLI in the format selected by the persistent --output flag (json, yaml).
Package output renders platform API responses for the CLI in the format selected by the persistent --output flag (json, yaml).
platform
Package platform is a typed HTTP client for the platform's REST API.
Package platform is a typed HTTP client for the platform's REST API.
platform/bindings
Package bindings wires generated platform-cmd subcommands to cobra flags and JSON request bodies.
Package bindings wires generated platform-cmd subcommands to cobra flags and JSON request bodies.
platform/client
Package client provides primitives to interact with the openapi HTTP API.
Package client provides primitives to interact with the openapi HTTP API.
platform/generated
Code generated by gen-platform-cmds.
Code generated by gen-platform-cmds.
platform/overrides
Package overrides holds hand-written cobra subcommands that take precedence over the OpenAPI-generated ones.
Package overrides holds hand-written cobra subcommands that take precedence over the OpenAPI-generated ones.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL