Agent index (llms.txt) — fetch this first, then the page it names.

Other commands

nodes, ssh and version, and the maintainer commands under orama maint: build, push, rollout, inspect, invite and vpn. Every command and flag below comes from the orama command tree, so it matches the binary.

Global conventions are on the CLI overview.

orama edit

Change a node you already installed: storage size, exit role

text
orama edit [flags]
text
Change a setting of a node that is already installed, without installing it again.
With no setting flag, in a terminal, it opens a form: choose the node, then the
settings it has. With flags it changes exactly what they name.

  --storage-gb N    the public storage capacity the node offers. The node's public
                    Kubo is sized for N GB (its StorageMax becomes N plus 10%) and
                    restarted, and the capacity is declared on the chain
                    (MsgDeclareCapacity, signed by your RootWallet through an SSH
                    tunnel to a node's chain). The chain refuses a capacity the
                    node's role bond does not back, and one below the bytes deals
                    already reserve; if it refuses, the node is left as it was.
                    The chain needs the node's id there: --chain-node-id (see
                    'orama chain node <id>'), or --no-chain to resize the node only.
  --exit=true|false switch the node's Tor relay between a plain relay and an exit by
                    rewriting only the exit section of its torrc, and restart the
                    relay. An exit needs a network whose Tor file allows exits. The
                    node's roles on the chain are not changed by this.
  --global=...      the global layer cannot be turned on or off here, and edit says
                    what does it: running setup again for the IP adds it, 'orama remove'
                    takes a node out.

The change is made on the node by its own CLI, one node at a time, and the plan is
shown first; --yes skips the question. A node on a release without the node-side
command needs 'orama upgrade' first.

Examples:
  orama edit                                    # The form
  orama edit --node 203.0.113.7 --storage-gb 200 --chain-node-id node-7
  orama edit --node 203.0.113.7 --exit=true --yes
FlagDefaultDescription
--chain-id—The chain id you expect, for a network that is on no registry network (one from the registry already names it); the wallet signs for no other chain
--chain-node-id—The node's id in the chain's node registry, to declare its capacity there
--env—Network the node belongs to (default: the active one)
--exitfalseMake the node's Tor relay an exit (true) or a plain relay (false)
--globalfalseAsk for the global layer on or off (refused, with what does it)
--no-chainfalseResize the node without declaring the capacity on the chain
--node—Public IP of the node to edit (default: ask)
--storage-gb0Public storage capacity to offer, in GB
--yesfalseDo not ask for confirmation

orama maint

Maintainer commands: build, release, inspect, install and repair

text
orama maint
text
Commands for the people who build, release and repair a network. An operator
who joins a network does not need any of them; they are here, out of the way,
and they all work.

  build, push, rollout       build a signed archive and roll it onto a cluster
  inspect, sandbox           check a cluster over SSH; throwaway Hetzner clusters
  invite                     mint an invite for a node to join a cluster
  operator, cluster          the cluster's operator wallets, creators and update policy
  vpn                        a Tor client for an Orama Tor network
  node                       install and stage a node, auto-update, recovery, migration
  global                     validator keys, chain binary staging, the Tor network, tx gate
  network                    publish a network's manifest
  faucet                     set up a test network's public faucet on this node

Subcommands: build, cluster, faucet, global, inspect, invite, network, node, operator, push, release, rollout, sandbox, vpn

orama maint build

Build pre-compiled binary archive for deployment

text
orama maint build [flags]
text
Cross-compile all Orama binaries and dependencies for Linux,
then package them into a deployment archive. The archive includes:
  - Orama binaries (CLI, node, gateway, identity, SFU, TURN)
  - Olric, IPFS Kubo, IPFS Cluster, RQLite, CoreDNS, Caddy (built from
    checked-in, checksum-pinned modules; Kubo and RQLite by pinned digest)
  - The global layer, for amd64: oramad (with the orchard verifier linked) and its
    out-of-process verifier orama-orchard-verifier, orama-global and the pinned
    cosmovisor release, which 'orama global install' puts on a node. It needs
    rustup with the x86_64-unknown-linux-musl target, cargo, make and rsync.
    --skip-global-layer leaves it out (a cluster-only archive; arm64 always is).
  - Systemd namespace templates
  - manifest.json with checksums of every file, and manifest.sig

The manifest is signed with your RootWallet (the agent's active account, through
its wallet:sign capability). Nodes install only archives signed by an address in
their trust anchor, /etc/orama/archive-signers, so signing is the default;
--unsigned makes an archive without a wallet signature: the CI build that release
signers sign. A node installs it only when its release root accepted it
('orama maint node stage-archive --release-only'); otherwise it is for local inspection.

--signers rotates the trusted signers: nodes that install this build replace
their list with the given addresses. The build must be signed by a signer the
nodes trust now, and the list must include that signer; retiring a key takes
two builds (the old key adds the new one, the new key then drops the old).

--release-root <root.json> puts a TUF release root in the signed manifest. A node that
installs the build adopts it (/etc/orama/release-root.json) the way it takes a signer
rotation, and from then on accepts releases signed under that root
('orama maint node stage-archive --release-only', the auto-update agent).

The build is reproducible: with SOURCE_DATE_EPOCH set (a release build sets it to
the commit's time) two builds of one commit produce the same archive, byte for
byte. See docs/whitepaper/technical-reference/vol1/29-build-signing-and-release.md, "Reproducible builds".

The resulting archive can be pushed to nodes with 'orama maint push'.

Examples:
  orama maint build
  orama maint build --signers 0xYourWallet,0xNewOperator
  orama maint build --unsigned --output /tmp/inspect.tar.gz
FlagDefaultDescription
--archamd64Target architecture (amd64, arm64)
--output—Output archive path (default: /tmp/orama-&lt;version>-linux-&lt;arch>.tar.gz)
--release-root—A TUF root.json to put in the signed manifest: nodes that install this build adopt it as their release root
--signers—Rotate the trusted archive signers: nodes that install this build trust only these addresses (comma-separated)
--skip-global-layerfalseLeave out the global layer (oramad, its verifier, orama-global, cosmovisor): a cluster-only archive
--test-local-release-repofalseFOR TEST FLEETS ONLY: build the orama CLI so that ORAMA_ALLOW_LOCAL_RELEASE_REPO=1 lets it fetch releases from a loopback or private address
--unsignedfalseDo not sign the manifest (a node installs it only through its adopted TUF release root)
--verbosefalseVerbose output

orama maint faucet

Set up the public faucet of a test network on this node

text
orama maint faucet

Subcommands: init

orama maint faucet init

Create this node's faucet key and print the account to fund

text
orama maint faucet init [flags]
text
Create the key a node's gateway signs faucet drips with, and print the account
it belongs to. Run it on the node, as root.

The faucet gives test ORAMA to whoever asks (POST /v1/chain/faucet): the gateway
signs MsgFaucet for the recipient with this key and the chain mints the drip.
It exists only on a test network (a chain id with -stagenet-, -devnet- or
-localnet-; the gateway refuses to sign anywhere else), the chain keeps its own
limits (a maximum drip, a cooldown per recipient, a cap per epoch), and it must
be on in the genesis (faucet_enabled).

The key file is created owned by the gateway's account with mode 0600, and an
existing key is never replaced: running init again prints the same account. The
faucet account pays the transaction fee of every drip and mints the drip itself,
so it needs a small balance and nothing more: fund it from the genesis
(chain/scripts/stagenet/deploy.sh does this on stagenet) or from another faucet.

Then turn it on in node.yaml and restart the node:

  chain:
    faucet:
      enabled: true

  orama node restart

orama node upgrade keeps the block. Check it with:

  curl -sS -X POST https://<gateway>/v1/chain/faucet \
    -H 'Content-Type: application/json' -d '{"recipient":"orama1..."}'
FlagDefaultDescription
--key-file/opt/orama/.orama/secrets/chain-faucet.keyWhere the key goes (node.yaml chain.faucet.key_file, when it is not this default)
--owneroramaThe account that owns the key file: the one the gateway runs as

orama maint inspect

Inspect cluster health via SSH

text
orama maint inspect [flags]
text
SSH into cluster nodes and run health checks.
Supports AI-powered failure analysis and result export.

The report is written to stdout and progress to stderr, so --format json is one
JSON document. A bad flag value (an unknown --subsystem or --format, a timeout
that is not positive) is refused as usage before any node is contacted.
FlagDefaultDescription
--aifalseEnable AI analysis of failures
--api-key—OpenRouter API key (or OPENROUTER_API_KEY env)
--config—Read nodes from this file instead of resolving them
--env—Environment to inspect (devnet, testnet)
--formattableOutput format (table, json)
--modelmoonshotai/kimi-k2.5OpenRouter model for AI analysis
--output—Save results to directory as markdown (e.g., ./results)
--subsystemallSubsystem to inspect (rqlite,olric,ipfs,dns,wg,system,network,tor,global,all)
--timeout30sSSH command timeout
--verbosefalseVerbose output

orama maint invite

Mint an invite for a new node

text
orama maint invite [flags]
text
Create a single-use invite that lets a new node join the cluster.

The invite names one node of the cluster: its public address, the domain to
present to it, and the fingerprint of the TLS certificate it serves. The
joining node connects to exactly that node and pins exactly that certificate,
rather than resolving the cluster's domain — which reaches any nameserver,
each with a certificate of its own — or trusting whatever certificate it is
first shown. There is nothing else to copy across.

The node is the lowest address the environment's domain resolves to, or the
one named with --node. The token is minted through that node, on the same
connection whose certificate is pinned.

This is the same token as 'orama node invite', which does the same thing from
an existing node instead of from here.
FlagDefaultDescription
--env—Environment to invite into (default: active)
--expiry1h0m0sHow long the invite stays usable (the gateway caps it at 1h)
--node—Public IP of the node the invite names (default: the lowest address the environment's domain resolves to)

orama maint push

Push the binary archive to your nodes

text
orama maint push [flags]
text
Upload the pre-built binary archive to nodes and extract it.

The archive is uploaded from this machine to each node in turn: node SSH keys
never leave it, and no node is a hub. --direct is accepted and changes nothing.

--archive names the build: the path 'orama maint build' printed. There is no
default — the newest archive in /tmp may be another checkout's build.

Examples:
  orama maint push --env devnet --archive /tmp/orama-0.200.0-linux-amd64.tar.gz
  orama maint push --env devnet --archive <path> --node 203.0.113.4
  orama maint push --host 203.0.113.4 --archive <path>           # A node not in the inventory yet
  orama maint push --env devnet --archive <path> --trust-signers 0xYourWallet  # Nodes from before archive signing

Each node verifies the archive with its installed orama before anything under
/opt/orama changes: the manifest signature must recover to an address in the
node's /etc/orama/archive-signers and every file must match the manifest.
FlagDefaultDescription
--archive—The build archive to push (the path orama maint build printed) [required]
--directfalseAccepted and ignored: every push uploads from this machine to each node in turn
--env—Target environment (default: active)
--host—Push to a node that is not in the inventory yet
--node—Push to a single node IP from the inventory
--trust-signers—Create the archive trust anchor on nodes that have none (installed before archive signing); never changes an existing one
--user—SSH user for --host (default: root)

orama maint release

Cut and publish a signed release (maintainers)

text
orama maint release
text
Cut a release into the DeBros release repository and publish it.

The metadata is TUF, signed with the one release key in your RootWallet. Every
signature is approved by you in the RootWallet desktop app; the command says
what each approval is for before it asks. The release key is listed in the
root for all four roles, so the same wallet signs everything.

  init-root          make the repository's root (once); prints the digest networks pin
  renew-root         the next version of the root, same keys, a new expiry
  cut                list an archive on a channel and sign it (3 approvals)
  refresh-timestamp  re-sign only the timestamp (1 approval)
  publish            upload the archives to GitHub and the metadata to the release host

A channel is nightly, main, or dev/<branch>. cut writes only to the repository
directory (--dir); publish is the step that touches the network, so cut
--dry-run and cut work offline.

Subcommands: cut, init-root, publish, refresh-timestamp, renew-root

orama maint release cut

List an archive on a channel and sign the metadata (3 approvals)

text
orama maint release cut --channel nightly|main|dev/<branch> --archive <path> [flags]
text
List one or more archives of one version (amd64 and arm64) under a channel and
sign the result: targets.json, then snapshot.json, then timestamp.json, three
approvals in the RootWallet desktop app. Each is announced first. The command
checks that a client would accept the metadata before it writes anything, and
writes only to --dir; it uploads nothing. Run publish to upload.

An archive must be one built with "orama maint build --unsigned" (a release is trusted
through the release root, not a wallet), and an amd64 one carries the global layer.
A version must be dotted numeric (0.3.1) and newer than the channel's newest;
a release is immutable (--replace is for a dev/<branch> build that reuses a version).
Only the newest --retention versions of the channel stay listed. The timestamp
is valid 7 days for nightly and dev, 30 for main.

--dry-run plans the release and stops: nothing is signed, written or uploaded,
and the RootWallet is not contacted.
FlagDefaultDescription
--allow-cluster-onlyfalseRelease an amd64 archive built with --skip-global-layer (nodes cannot orama global install from it)
--archive—An orama-&lt;version>-linux-&lt;arch>.tar.gz to release; repeatable [required]
--channel—nightly, main or dev/&lt;branch> [required]
--dir—The release repository working directory (default ~/.orama/release-repo)
--dry-runfalsePlan the release; sign, write and upload nothing
--replacefalseLet a listed path change its bytes (dev builds only)
--retention3How many versions of the channel stay listed

orama maint release init-root

Make the repository's root from your RootWallet's release key

text
orama maint release init-root [flags]
text
Make version 1 of the repository's TUF root: your RootWallet's release public key
for the root, timestamp, snapshot and targets roles, threshold 1, valid for a
year. One approval. Prints the root's SHA-256, the digest network manifests pin
(release_root_sha256), and leaves 1.root.json and root.json in --dir. It refuses
a directory that already has a root.

Today one release key holds all four roles: whoever holds it can sign a root, a
targets file, a snapshot and a timestamp, and it is the only key that can sign
the next root. --keys <file> makes a root that splits the roles when the wallet
can hold more keys, without any other change: a JSON file naming, per role, the
keys (64 hex digits of an ed25519 public key, or "wallet" for your own release
key) and the threshold, for example

  {"root": {"keys": ["wallet"]},
   "targets": {"keys": ["<hex>", "<hex>"], "threshold": 2}}

A role that is left out is your release key at threshold 1. This command signs
the root once, with your key, so your key must be among the root keys and the root
threshold must be 1.
FlagDefaultDescription
--dir—The release repository working directory (default ~/.orama/release-repo)
--keys—A JSON file naming the keys and threshold of each role (default: your release key for all four roles, threshold 1)

orama maint release publish

Upload what cut left: archives to GitHub, metadata to the release host

text
orama maint release publish --dir <dir> [flags]
text
Upload the last cut or refresh. Before anything is sent the metadata in --dir is
checked as a client would check it, and each archive against the hash the
signed targets name. Then the archives go to the GitHub release for the tag
(created if it is not there; an archive already there is an error), then the
root, targets and snapshot go to the release host with rsync, and the timestamp
last.

Needs gh (logged in, able to upload to the repository) and ssh access to the
release host. --dry-run prints the commands.
FlagDefaultDescription
--dir—The release repository working directory (default ~/.orama/release-repo)
--dry-runfalseCheck the directory and print the commands; run nothing
--github-repoDeBrosDAO/oramaThe GitHub repository whose releases hold the archives
--metadata-destreleases.orama.network:/opt/orama-releases/The rsync destination of the metadata on the release host

orama maint release refresh-timestamp

Re-sign only the timestamp (1 approval)

text
orama maint release refresh-timestamp --channel nightly|main|dev/<branch> [flags]
text
Re-sign the timestamp alone: the next version, naming the snapshot already in
--dir, valid 7 days (nightly, dev) or 30 (main) from now. Clients refuse a
timestamp that has expired, so a repository nobody cuts into needs this before
the last one runs out. Then publish.
FlagDefaultDescription
--channel—Sets the validity: nightly, main or dev/&lt;branch> [required]
--dir—The release repository working directory (default ~/.orama/release-repo)

orama maint release renew-root

Make the next version of the root with a new expiry

text
orama maint release renew-root [flags]
text
Make the next version of the root: the same keys, a new year of validity. One
approval. Clients that hold the previous root fetch <N+1>.root.json, verify it
against the root they hold and adopt it, so nobody is handed a new file. Do it
before the root expires; an expired root stops every release.
FlagDefaultDescription
--dir—The release repository working directory (default ~/.orama/release-repo)

orama maint rollout

Build, push, and rolling upgrade every node in an environment

text
orama maint rollout [flags]
text
Full deployment pipeline: build the binary archive, push it to every node,
then upgrade them one at a time.

The rolling upgrade prints its plan — which node holds the raft leadership and
the order the restarts happen in — and stops unless --yes is given.

Examples:
  orama maint rollout --env testnet             # Build, push, then print the plan
  orama maint rollout --env testnet --yes       # Execute the plan
  orama maint rollout --env testnet --no-build  # Reuse the existing archive
FlagDefaultDescription
--archive—With --no-build: the build archive to roll out
--delay300Seconds a node has to rejoin the cluster after its upgrade before the rollout stops
--env—Target environment (devnet, testnet) [required]
--no-buildfalseSkip the build step; roll out the archive named by --archive
--yesfalseExecute the rollout plan instead of only printing it

orama maint vpn

Route traffic through an Orama Tor network

text
orama maint vpn
text
Join an Orama Tor network from this machine.

A network is described by its tor-network.json file: the directory authorities
and, optionally, the validator onion services it lists. up starts an unmodified
upstream tor on it and offers a SOCKS5 proxy on loopback; check joins the
network and proves a circuit reaches a validator's onion service.

The client has one route: the tor it starts, configured with the network's
authorities and no others. It never falls back to the public Tor network or to
a direct connection. When tor stops, the proxy port closes and whatever was
using it fails; nothing is routed around it. This is a proxy, not a system-wide
tunnel: only applications pointed at the SOCKS port, with names resolved by the
proxy (socks5h), use the network.

Only a private network can be joined: the public Orama network is not launched.

Subcommands: check, up

orama maint vpn check

Join an Orama Tor network and reach a validator onion service through it

text
orama maint vpn check [flags]
text
Start tor on the network (stopped again when the check ends) and read an account
through each validator onion service's tx gate, over a fresh circuit each. The gate
serves only the account read, the broadcast and the tx lookup, so the check uses the
account read; the chain answering "account not found" for the probe address passes.

By default every validator onion service the network file lists is tried, and the check
passes when at least one answers; --onion tries only the one given. It fails when tor
cannot bootstrap on the network's authorities, when none of the onion services answers, and
when the network file lists none and no --onion is given. Nothing is tried outside the
network.
FlagDefaultDescription
--data-dir—Tor state directory (default: the user cache directory, per network)
--network—Orama Tor network file (tor-network.json) [required] ($ORAMA_ONION_NETWORK)
--onion—Check only this validator onion service (addr.onion[:port])
--tortorThe tor binary to run

orama maint vpn up

Run a SOCKS5 proxy into an Orama Tor network

text
orama maint vpn up [flags]
text
Start tor on the network and keep it running until interrupted.

The SOCKS5 proxy listens on loopback only (--socks). Point an application at it
as socks5h, so the proxy resolves names, and each distinct SOCKS username gets
its own circuit. --dns also offers a DNS resolver on loopback that answers
through the network.

If tor stops, up exits with an error and the proxy port closes; applications
using it fail instead of connecting some other way.
FlagDefaultDescription
--data-dir—Tor state directory (default: the user cache directory, per network)
--dns—Loopback address for a DNS resolver that answers through the network (off by default)
--network—Orama Tor network file (tor-network.json) [required] ($ORAMA_ONION_NETWORK)
--socks127.0.0.1:9150Loopback address for the SOCKS5 proxy
--tortorThe tor binary to run

orama nodes

List your nodes across environments

text
orama nodes [flags]
text
List all nodes owned by your wallet. Queries the network API
with your stored credentials, falling back to nodes.conf.

Requires: orama auth login (for API-based resolution)
FlagDefaultDescription
--env—Filter by environment (default: active environment)

orama remove

Remove one node from your network, then erase it

text
orama remove [flags]
text
Take one node out of every store the network keeps, then wipe it.

Before anything changes, remove prints what the removal costs every raft cluster
the node is a voter in (the platform cluster and each namespace it serves) and
refuses if any of them would lose quorum. It also refuses:

  a node in the validator set       erasing it destroys the validator's consensus key
                                    and jails the validator; move the key first, or
                                    pass --drop-validator
  a node with the global layer      it may be registered on the chain with a bond; say
                                    what happens to that: --chain-node-id <id> retires
                                    it, --no-chain leaves it
  a node that holds storage deals   the chain refuses to retire a node whose deals
                                    still reserve bytes

With --chain-node-id the node is retired on the chain first (MsgRetireNode, signed
by your RootWallet, sent through a surviving node's chain over SSH): its service keys
are revoked and its bonds start to unbond. If the chain or the RootWallet refuses,
nothing has been removed. Then the node leaves the raft configuration, an eviction
tombstone keeps anything from re-adding it, its mesh address, nameserver slot,
namespace memberships, port blocks and TURN and SFU allocations are released, its DNS
records are purged, and the machine is wiped.

Use --offline when the machine is already gone: the removal is done from the
survivors and nothing is attempted on the target. It cannot be asked whether it
was registered on the chain, so its registration is left alone and the plan says
so; --chain-node-id retires it through a surviving node. Every step is keyed on the node and
safe to repeat, so a removal that failed part way is finished by running it again.

--dry-run prints the quorum arithmetic and every step, changing nothing. This is
DESTRUCTIVE: it asks you to type 'yes' unless --yes is given.

Examples:
  orama remove --node 203.0.113.9 --dry-run
  orama remove --node 203.0.113.9
  orama remove --node 203.0.113.9 --chain-node-id node-9
  orama remove --node 203.0.113.9 --offline
FlagDefaultDescription
--chain-id—The chain id you expect, for a network that is on no registry network (one from the registry already names it); the wallet signs for no other chain
--chain-node-id—The node's id in the chain's node registry: retire it there before removing it
--drop-validatorfalseRemove the node although it signs for the validator set; its consensus key is erased with it
--dry-runfalsePrint the quorum impact and every step, change nothing
--env—Network the node belongs to (default: the active one)
--no-chainfalseLeave the node's chain registration alone (its bonds stay locked until you retire it)
--node—Public IP of the node to remove [required]
--nuclearfalseWhen wiping, also remove the shared binaries, the Tor package and the system accounts Orama created
--offlinefalseThe machine is already gone: retire it from the cluster only, do not wipe it
--yesfalseDo not ask for confirmation (DESTRUCTIVE)

orama ssh

SSH into a node

text
orama ssh <ip-or-hostname> [-- command] [flags]
text
SSH into a node by IP address or hostname.
Resolves the SSH key from rootwallet automatically.

The node's host key must already be pinned in ~/.orama/known_hosts, where
'orama node setup' writes it. A host with no pinned key is refused, never
trusted on first use, and a key that differs from the pinned one is refused.

Pass a command after the IP to run it non-interactively:
  orama ssh 203.0.113.4 'sudo systemctl status orama-node'
FlagDefaultDescription
--env—Environment to search (default: active)

orama upgrade

Upgrade your nodes to the newest signed release of the network's channel

text
orama upgrade [flags]
text
Fetch the newest release of your network's channel, show what each node runs and
what it will go through, and after you confirm, upgrade the nodes one at a time.

The release comes from the release repository and channel the network publishes
(orama network list). It is verified here against the release root built into this
CLI before anything is sent: the signed metadata, then the archive's length and
hashes. Every node verifies it again against the release root it adopted, and
refuses a release that does not match, before it replaces a file.

The plan lists each node with the release it runs now (from the cluster's
telemetry, as 'orama status' shows it), the release it will run, and its place in
the rollout: followers first, nameservers spread so the zone keeps answering, the
raft leader last. A node that already runs the release is left alone
(--reinstall puts it in place again); a node that runs a newer one is never
downgraded.

The release is staged on every node first, which restarts nothing. Then each node
in turn is upgraded and restarted, and the next one starts only when that node is
healthy and carrying its share of the cluster again: never two RQLite voters at once.
A node that has the global layer also refreshes it right after its own upgrade:
the global binaries are replaced, and the services that run them are restarted.
The chain binary (oramad) is staged for cosmovisor only when the release carries
another one and the chain has a governed upgrade scheduled; otherwise the running
oramad is kept and the output says so.

--node upgrades one node. --dry-run prints the plan and stops.

Examples:
  orama upgrade --dry-run          # What would change
  orama upgrade                    # Show the plan, ask, then roll
  orama upgrade --yes              # Roll without asking
  orama upgrade --node 203.0.113.7
FlagDefaultDescription
--delay300Seconds a node has to rejoin the cluster after its upgrade before the rollout stops
--dry-runfalsePrint the plan and stop; nothing is staged or restarted
--env—Network to upgrade (default: the active one)
--node—Upgrade only the node with this public IP
--reinstallfalsePut the release in place again on nodes that already run it
--sshfalseRead what the nodes run over SSH instead of the gateway's telemetry
--yesfalseDo not ask for confirmation

orama version

Show version information

text
orama version