Skip to main content

Helios

@mccormick/heliosv2026.05.19.1· 3d agoMODELS
01README

Manage an illumos/Helios host over SSH from swamp. Four model types compose to provision and inventory zones with explicit ZFS layout and isolation/security controls:

  • @mccormick/helios/host — connection profile + uname/release probe - @mccormick/helios/zfs — remote ZFS dataset and pool ops - @mccormick/helios/dladm — datalink and exclusive-IP VNIC management - @mccormick/helios/zone — zonecfg/zoneadm with hardened defaults (ip-type=exclusive, file-mac-profile, hardened limit-priv, capped-cpu/memory) plus a fan-out inventory method that gathers live usage, security state, network, storage, SMF health, and recent log lines for every zone in a single SSH session.

Brands supported: solaris (native illumos) and bhyve. SSH key supplied by the user's ssh-agent (e.g. the 1Password SSH agent); no key material flows through swamp. Privileged commands run via pfexec so the model can connect as a non-root user with the relevant Solaris RBAC profiles.

02Models4
@mccormick/helios/hostv2026.05.14.4helios_host.ts

Global Arguments

ArgumentTypeDescription
sshUserstringDefault SSH user; recommended: a non-root user with Solaris RBAC
sshPort?numberDefault SSH port
sshKnownHosts?stringPath to a known_hosts file. Omit to use accept-new on first connect.
fn lookup()
Probe the Helios host for hostname, illumos build, helios release,
fn thermal()
Read-only thermal snapshot. Aggregates prtdiag -v, kstat fan/temp
fn load()
Read-only load snapshot: load average, per-core CPU, top processes,
fn faults()
Read-only fault snapshot: active faults from fmadm plus the most
fn messages(pattern: string, lines: number)
Filtered tail of /var/adm/messages and the fmd service log. The
ArgumentTypeDescription
patternstring
linesnumber
fn health_check(messagePattern: string, messageLines: number)
Fan-out: gather thermal + load + faults + recent messages in a
ArgumentTypeDescription
messagePatternstring
messageLinesnumber

Resources

host_info(infinite)— Probed identity and capacity of the Helios host
thermal(7d)— Temperature/fan sensor snapshot from prtdiag, kstat, and (when
load_snapshot(7d)— CPU/IO/memory pressure snapshot: load averages, per-core CPU, top
fault_state(7d)— Active faults from fmadm and recent ereports from fmdump. One per
kernel_messages(7d)— Filtered lines from /var/adm/messages and the fmd service log
audit(7d)— Combined host health audit: thermal + load + faults + recent
@mccormick/helios/zfsv2026.05.14.3helios_zfs.ts

Global Arguments

ArgumentTypeDescription
sshUserstring
sshPort?number
sshKnownHosts?string
fn dataset_list()
List all filesystem and volume datasets on the host.
fn dataset_lookup(name: string)
Look up one dataset's full property set.
ArgumentTypeDescription
namestring
fn dataset_create(name: string, quota?: string, reservation?: string, compression: string, encryption?: string, encryptionPassphrase?: string, recordsize?: string, mountpoint?: string, canmount?: enum)
Create a ZFS filesystem with optional quota, reservation,
ArgumentTypeDescription
namestring
quota?stringe.g. 10G; omit for unlimited
reservation?string
compressionstring
encryption?stringe.g. aes-256-gcm. Omit to disable encryption.
encryptionPassphrase?stringPassphrase for keyformat=passphrase keylocation=prompt.
recordsize?string
mountpoint?string
canmount?enum
fn dataset_destroy(name: string, recursive: boolean, force: boolean)
Destroy a dataset (recursive optional).
ArgumentTypeDescription
namestring
recursiveboolean
forceboolean
fn snapshot_create(name: string, recursive: boolean)
Create a snapshot pool/dataset@name.
ArgumentTypeDescription
namestringFully-qualified e.g. rpool/zones/foo@2026-05-14
recursiveboolean
fn snapshot_destroy(name: string)
Destroy a snapshot.
ArgumentTypeDescription
namestring
fn delegate(dataset: string, zone: string)
Delegate a dataset into a zone: `zfs zone <dataset> <zone>`.
ArgumentTypeDescription
datasetstring
zonestring
fn pool_status(pool: string)
Capture pool size/usage and zpool status output.
ArgumentTypeDescription
poolstring
fn pool_scrub(pool: string)
Start a scrub on a pool.
ArgumentTypeDescription
poolstring

Resources

dataset(infinite)— A ZFS filesystem or volume on the Helios host
pool(infinite)— A ZFS pool on the Helios host
snapshot(infinite)— A ZFS snapshot on the Helios host
@mccormick/helios/dladmv2026.05.14.3helios_dladm.ts

Global Arguments

ArgumentTypeDescription
sshUserstring
sshPort?number
sshKnownHosts?string
fn link_list()
List every datalink (phys, vnic, aggr, etherstub).
fn phys_list()
List physical NICs (`dladm show-phys`).
fn etherstub_create(name: string)
Create an etherstub.
ArgumentTypeDescription
namestring
fn etherstub_destroy(name: string)
Destroy an etherstub.
ArgumentTypeDescription
namestring
fn vnic_create(name: string, over: string, macAddress?: string, vlanId?: number, allowedIps: array)
Create a VNIC over `over` (phys/etherstub/aggr) and immediately
ArgumentTypeDescription
namestring
overstring
macAddress?string
vlanId?number
allowedIpsarrayCIDR list to pin via the allowed-ips linkprop. Required for
fn vnic_destroy(name: string)
Destroy a VNIC.
ArgumentTypeDescription
namestring

Resources

link(infinite)— A datalink
phys(infinite)— A physical NIC
vnic(infinite)— A VNIC, with mac, vlan, link-protection, allowed-ips
etherstub(infinite)— An etherstub
@mccormick/helios/zonev2026.05.14.3helios_zone.ts

Global Arguments

ArgumentTypeDescription
sshUserstring
sshPort?number
sshKnownHosts?string
fn list()
List every configured zone via `zoneadm list -cp`.
fn lookup(name: string)
Look up a single zone with full zonecfg.
ArgumentTypeDescription
namestring
fn create(name: string, brand: enum, zonepath: string, vnicLink?: string, allowedAddress?: string, defaultRouter?: string, limitPriv: string, fileMacProfile: string, cappedCpu?: number, cappedMemoryMb?: number, dedicatedCpu?: string, delegatedDatasets: array, lofs: array)
Create a zone with hardened security defaults. ip-type=exclusive,
ArgumentTypeDescription
namestring
brandenum
zonepathstring
vnicLink?string
allowedAddress?string
defaultRouter?string
limitPrivstring
fileMacProfilestring
cappedCpu?number
cappedMemoryMb?number
dedicatedCpu?string
delegatedDatasetsarray
lofsarray
fn install(name: string, extraArgs: array)
Install a zone (no-op for bhyve brand).
ArgumentTypeDescription
namestring
extraArgsarray
fn boot(name: string, bootArgs?: string)
Boot a zone.
ArgumentTypeDescription
namestring
bootArgs?string
fn halt(name: string)
Halt a zone.
ArgumentTypeDescription
namestring
fn uninstall(name: string)
Uninstall a zone (force).
ArgumentTypeDescription
namestring
fn delete(name: string)
Delete a zone configuration.
ArgumentTypeDescription
namestring
fn exec(name: string, command: string)
Run a command inside the zone via `zlogin -S`.
ArgumentTypeDescription
namestring
commandstring
fn inventory(includeLogs: boolean, logTailLines: number)
Single fan-out: gather identity, live usage, security config,
ArgumentTypeDescription
includeLogsboolean
logTailLinesnumber

Resources

zone(infinite)— An illumos zone (configured/installed/running) on the host
zone_inventory(7d)— Per-zone inventory snapshot: identity, security, network, storage,
inventory_summary(7d)— Host-level zone inventory rollup. One per inventory call.
exec_result(1d)— stdout/stderr/exit from a zlogin exec call
03Previous Versions1
2026.05.14.1May 19, 2026
04Stats
A
100 / 100
Downloads
2
Archive size
54.2 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types1/1earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
05Platforms
06Labels