Liking cljdoc? Tell your friends :D

eyre.core/gather output format

eyre.core/gather gathers facts about the system reachable through an executor and returns a single hashmap with the following top-level keys:

KeyTypeDescription
:shellhashmapDetected shell information.
:oshashmapOperating system identification.
:hardwarehashmapCPU, memory, disks and virtualization facts.
:usershashmapUser and group information for the executing user.
:filesystemhashmapMounted filesystems and filesystem features.
:networkhashmapHostname, network interfaces, routes and DNS.
:pathshashmapAbsolute paths of discovered binaries.

:shell

KeyTypeDescription
:typekeywordThe detected shell family, e.g. :bash, :zsh, :fish, :powershell, :cmd-exe.
:versionstringShell version string.
:shellstringPath to the shell as found on the system, e.g. "/bin/bash".
:canonical-pathstringCanonical, fully resolved path to the shell, e.g. "/usr/bin/bash".

:os

KeyTypeDescription
:familykeywordBroad OS family, e.g. :linux, :macos, :freebsd, :windows.
:kernelhashmapKernel details (see below).
:machinestringHardware/machine architecture, e.g. "x86_64".
:distrohashmapLinux distribution or OS product details (see below).

:kernel

KeyTypeDescription
:namestringKernel name, e.g. "Linux".
:releasestringKernel release, e.g. "6.12.91-1-MANJARO".
:versionstringFull kernel version/build string.

:distro

KeyTypeDescription
:idkeywordDistribution id, e.g. :manjaro, :ubuntu.
:namestringHuman-readable distribution name.
:releasestring?Distribution release, or nil if unavailable.
:codenamestring?Distribution codename, or nil.
:descriptionstringLonger distribution description.

A trailing ? means the value may be nil.


:hardware

KeyTypeDescription
:cpuhashmapCPU details.
:memoryhashmapSystem memory totals.
:disksvectorList of detected block disks.
:virtualizationhashmapVirtualization/container detection.

:cpu

KeyTypeDescription
:modelstringCPU model name.
:coresintegerNumber of logical CPU cores.
:flagssetCPU feature flags.
:architecturestringCPU architecture, e.g. "x86_64".

:memory

KeyTypeDescription
:totalintegerTotal RAM in bytes.
:swapintegerTotal swap space in bytes.

:disks

A vector of disk hashmaps:

KeyTypeDescription
:namestringKernel device name, e.g. "nvme0n1".
:sizeintegerDevice size in bytes.
:typekeywordClass of disk, e.g. :ssd, :nvme, :hdd.

:virtualization

KeyTypeDescription
:is-virtual?booleanWhether the system appears to be virtualized.
:typekeyword?Detected virtualization/container type, e.g. :kvm, :vmware, :docker, or nil.

:users

Information about the user running the executor.

KeyTypeDescription
:gidhashmapPrimary group: {:id integer :name string}.
:uidhashmapUser identity: {:id integer :name string}.
:groupsvectorGroup memberships as {:id integer :name string} maps.
:group-idssetSet of group ids (integers).
:group-namessetSet of group names (strings).

:filesystem

KeyTypeDescription
:filesystemsvectorMounted filesystems.
:featureshashmapOptional security/filesystem feature flags.

:filesystems entry

KeyTypeDescription
:devicestringDevice or source for the mount.
:mount-pointstringPath where the filesystem is mounted.
:typestringFilesystem type, e.g. "ext4", "tmpfs".
:optionsstringMount options string.
:sizeinteger?Total size in bytes, if available.
:usedinteger?Used bytes, if available.
:availableinteger?Available bytes, if available.
:capacitydouble?Used fraction (0.0–1.0), if available.

:features

This submap contains optional, OS-specific feature detections. The exact keys vary by platform; for example there may be a :security section with an :apparmor map such as {:enabled true}.


:network

KeyTypeDescription
:hostnamestringSystem hostname.
:interfaceshashmapNetwork interfaces keyed by interface name.
:default-gatewayhashmap?Default IPv4/IPv6 gateway, or nil.
:dnshashmapDNS configuration.

:interfaces entry

The key is the interface name (string, e.g. "eno1", "docker0", "lo"). The value is a hashmap that always contains :name with the same value.

KeyTypeDescription
:namestringInterface name (matches the map key).
:macstring?Normalized MAC address, or nil.
:mtuinteger?Maximum transmission unit, or nil.
:statuskeyword:up, :down or :unknown.
:loopback?booleantrue if this is the loopback interface.
:ipv4vectorIPv4 addresses as {:address string :prefix integer}.
:ipv6vectorIPv6 addresses as {:address string :prefix integer}.
:peer-indexstring?For virtual-ethernet pairs, the peer interface index, e.g. "if2".

:default-gateway

KeyTypeDescription
:addressstringGateway IP address.
:interfacestringName of the outgoing interface.

:dns

KeyTypeDescription
:nameserversvectorIP addresses of configured nameservers (strings).
:searchvectorDNS search suffixes (strings).

:paths

A hashmap of discovered executable paths. The keys are binary names as keywords and the values are absolute filesystem paths as strings.

KeyTypeDescription
:bashstringExample: "/usr/bin/bash".
:catstringExample: "/usr/bin/cat".
:<binary-name>stringOne key per discovered binary.

Only binaries found on the system are present. The exact set of keys depends on what is installed and visible in the target environment.

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close