cmd/

directory
v1.4.4 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2026 License: MIT

README

Table of Contents

Executables

Directory Binary name Description README
cmd/cli ais AIS command line management utility CLI
cmd/aisloader aisloader AIS integrated load generator aisloader
bench/tools/aisloader-composer aisloader-composer Scripts and ansible playbooks to benchmark an AIS cluster using multiple hosts running aisloader, controlled by ansible aisloader-composer
cmd/aisnode aisnode AIS node (gateway or target) binary
cmd/aisnodeprofile aisnode ... with profiling enabled
cmd/aisinit aisinit Kubernetes init container: generates aisnode config from pod environment (DNS, hostnames, networking mode, external LB)
cmd/authn authn Standalone server providing token-based secure access to AIS clusters AuthN
cmd/xmeta xmeta Utility to inspect, extract, format, and (in limited cases) edit internal AIS metadata structures (cluster map, bucket metadata, etc.) xmeta
cmd/ishard ishard Utility to create well-formed shards from an original dataset ishard

NOTE: installed CLI executable is named ais.

Installing from GitHub

Generally, AIStore (cluster) requires at least some sort of deployment process or sequence.

Standalone binaries, on the other hand, can be built from source or installed directly from the latest or previous GitHub releases.

Each release includes ais (CLI) and aisloader binaries for linux-amd64 and darwin-arm64:

$ ./scripts/install_from_binaries.sh --help
NAME:
  install_from_binaries.sh - install 'ais' (CLI) and 'aisloader' from release binaries

USAGE:
  ./install_from_binaries.sh [options...]

OPTIONS:
  --tmpdir <dir>        work directory, e.g. /root/tmp
  --dstdir <dir>        installation destination
  --release             release tag, e.g. v1.4.1, v1.4.3, latest (default: latest)
  --completions         install and enable _only_ CLI autocompletions (ie., skip installing binaries)
  -h, --help            show this help

NOTE: For CLI, the script will also enable auto-completions. CLI can be used without (bash, zsh) auto-completions but, generally, using auto-completions is strongly recommended.

Example: download 'ais' and 'aisloader' binaries from the latest release

$ ./scripts/install_from_binaries.sh --dstdir /tmp/qqq

Note: AIS container images (aisnode, aisinit, authn, etc.) are not distributed via the GitHub release page or this install script. They are published separately and are also available with native arm64 support. See Kubernetes deployment for details.

Installing from source

CLI

The preferable way is to use Makefile:

$ make cli

builds AIS CLI from the local aistore repository and installs it in your $GOPATH/bin.

NOTE: installed CLI binary is named ais.

Alternatively, you could also use go install:

$ go install github.com/NVIDIA/aistore/cmd/cli@latest && mv $GOPATH/bin/cli $GOPATH/bin/ais

To install CLI auto-completions, you could also, and separately, use cmd/cli/install_autocompletions.sh

aisloader

Makefile way:

$ make aisloader

But again, you could also use go install:

$ go install github.com/NVIDIA/aistore/cmd/aisloader@latest

xmeta

xmeta is a utility to inspect, extract, format, and (in limited cases) edit internal AIS metadata structures - see usage.

For command line options and usage examples, simply run xmeta with no arguments:

$ xmeta
Usage of xmeta:
  -f string ...
...
Examples:
        # Smap:
        xmeta -x -in=~/.ais0/.ais.smap      - extract Smap to STDOUT
...

To install, run:

$ make xmeta

OR, same:

$ cd cmd/xmeta
$ go install

ishard

ishard is a utility to create well-formed shards from an original dataset - see usage.

To install, run:

$ make ishard

Or use go install:

$ go install github.com/NVIDIA/aistore/cmd/ishard@latest

aisinit

aisinit is a Kubernetes init container that runs before aisnode in the same pod. It takes a template local configuration and produces the final node config based on the pod's runtime environment.

Specifically, aisinit:

  • resolves pod DNS names for intra-cluster (data and control) networks
  • sets the public hostname based on the configured DNS mode (IP, Node, or Pod)
  • fetches external LoadBalancer IPs for targets when external access is enabled
  • applies optional hostname mappings and cluster config overrides

The DNS mode (AIS_PUBLIC_DNS_MODE) controls how the public-facing hostname is determined:

Mode Hostname source Typical use case
IP (default) Host IP (discovered at runtime) Simple deployments; requires IP SANs in TLS certs
Node Kubernetes node name (spec.nodeName) Environments where node names are resolvable (e.g., AWS EC2 private DNS)
Pod Pod DNS (pod.service.namespace.svc.cluster.local) Host networking + TLS with wildcard certs

aisinit is not installed as a standalone binary. It is built into the aisinit container image and deployed via the AIS Kubernetes operator.

Directories

Path Synopsis
aisfs module
Package main contains logic for the aisinit container
Package main contains logic for the aisinit container
Package main for the `aisloader` executable.
Package main for the `aisloader` executable.
Package main for the AIS node executable.
Package main for the AIS node executable.
Package main for the AIS node executable.
Package main for the AIS node executable.
Package main contains the independent authentication server for AIStore.
Package main contains the independent authentication server for AIStore.
config
Package config manages config for the auth service
Package config manages config for the auth service
kvdb
Package kvdb contains authN server code for interacting with a persistent key-value store
Package kvdb contains authN server code for interacting with a persistent key-value store
kvdb/mock
Package mock contains mocks for authN kvdb interfaces
Package mock contains mocks for authN kvdb interfaces
signing
Package signing manages keys the auth service uses for signing and verification
Package signing manages keys the auth service uses for signing and verification
tok
Package tok provides AuthN token (structure and methods) for validation by AIS gateways
Package tok provides AuthN token (structure and methods) for validation by AIS gateways
cli module
ishard module
Package xmeta provides low-level tools to format or extract into plain text some of the AIS control structures.
Package xmeta provides low-level tools to format or extract into plain text some of the AIS control structures.

Jump to

Keyboard shortcuts

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