Skip to main content

Commands

Enum Commands 

Source
pub enum Commands {
Show 36 variants Version, Completions { shell: Shell, }, Status, Modules { quarantined: bool, }, Metrics { history: bool, }, Sessions(SessionsArgs), Connections { type: Option<ConnectionType>, }, Logs(LogsArgs), Restart { wait: bool, timeout: Option<u64>, interval: Option<u64>, }, Wait(WaitArgs), Doctor { check_write: bool, webdev_route: Option<String>, }, Adopt { user: Option<String>, key_name: Option<String>, level: Option<String>, project: Option<String>, testing: bool, checkout: Option<String>, bake: Option<String>, }, Session(SessionArgs), Project(ProjectArgs), Workspace(WorkspaceArgs), Edit(EditArgs), Resource(ResourceArgs), Webdev(WebdevArgs), Tags(TagsArgs), Rig(RigArgs), Backup(BackupArgs), Eam(EamArgs), Script(ScriptArgs), Testing(TestingArgs), Lint(LintArgs), E2e(E2eArgs), Api(ApiArgs), License(LicenseArgs), Redundancy(RedundancyArgs), Gan(GanArgs), Diagnostics(DiagnosticsArgs), Profile(ProfileArgs), Mcp(McpArgs), Lsp, Tui, Top,
}

Variants§

§

Version

Print version information (CLI always; gateway check when a profile resolves)

§

Completions

Generate shell completions (bash, zsh, fish, …) — the one stdout exception

Fields

§shell: Shell

Shell to generate completions for

§

Status

Gateway status: identity, platform, uptime, license (incl. trial countdown)

§

Modules

List gateway modules (healthy by default)

Fields

§quarantined: bool

Show quarantined modules instead of healthy ones

§

Metrics

Gateway performance metrics (current gauges + thread counts)

Fields

§history: bool

Include historic chart datapoints

§

Sessions(SessionsArgs)

List gateway sessions (designers, Perspective, Vision) — or terminate one via the terminate subcommand

§

Connections

List database/OPC connections with healthcheck status as reported

Fields

§type: Option<ConnectionType>

Filter to one connection family (default: both)

§

Logs(LogsArgs)

Query, tail, and download gateway logs; manage logger levels

§

Restart

Restart the gateway — destructive, refused without –yes; –wait polls until RUNNING

Fields

§wait: bool

Wait for the gateway to return to RUNNING (POST, then poll /StatusPing)

§timeout: Option<u64>

Wait budget in seconds (default 300)

§interval: Option<u64>

Poll interval in seconds (default 2)

§

Wait(WaitArgs)

Wait for a gateway state (readiness, restart completion, module)

§

Doctor

Diagnose the gateway setup: URL, liveness, commissioning, auth, permissions, write, WebDev route, rig — exits 0 whenever the diagnosis completes (failing checks are data)

Fields

§check_write: bool

Probe write permission (POST scan/projects — a harmless project rescan)

§webdev_route: Option<String>

Probe one WebDev route’s presence (/system/webdev/)

§

Adopt

Adopt this profile’s gateway: native login → mint an Administrator-level API key (idempotent by name) → wire the gateway’s read/write permissions → live-probe the key → persist the credential (OS keyring, env-var fallback). Re-run on an adopted gateway is an all-skip no-op. Composition flags ride the bootstrap: –project deploys the CLI’s WebDev routes, –checkout lands every enabled project locally, –bake saves a restore-ready gwbk

Fields

§user: Option<String>

Gateway login user for the native OIDC dance (default: admin)

§key_name: Option<String>

The API-key name — the idempotency key (default: ign-cli)

§level: Option<String>

The granted security level as a slash path (default: Authenticated/Roles/Administrator)

§project: Option<String>

Deploy the CLI’s WebDev routes (scriptExec on) into this project after the bootstrap

§testing: bool

Ship the embedded TESTING bundle with the routes (the Jython framework + testing/run|tags routes + the smoke sentinel; the step asserts discover ≥1 module and a green smoke run — the empty-suite trap)

§checkout: Option<String>

Check out every enabled project into DIR/ (scripts decoded — grep/lint ready); existing targets skip

§bake: Option<String>

Download a roaming gwbk to FILE after everything landed — a gateway reset restored from it keeps the key and routes

§

Session(SessionArgs)

Obtain a live gateway login session (the native OIDC dance) — returns the session cookie name/value, the CSRF token, the gateway URL, and a ready-to-use Playwright storageState document. The session material is emitted ONLY under the global –json flag; the human render prints the cookie name and the gateway URL and withholds the rest

§

Project(ProjectArgs)

Manage gateway projects: list with inheritance info, new, copy, rename, set (reparent), delete, export/import (ZIP)

§

Workspace(WorkspaceArgs)

Check out a project’s resources to a local tree, inspect drift, push guarded changes — the local edit loop over the project-export interchange (project RESOURCES only; tag values never appear in the tree — tags remain ign tags verbs)

§

Edit(EditArgs)

Fetch a gateway resource, edit it in $EDITOR, push back (guarded) — the kubectl-edit loop over ONE resource: unchanged saves are clean no-ops (nothing pushed, never prompted), a gateway changed since fetch refuses (never force-pushed), a JSON-breaking save refuses fail-closed with the temp tree kept (path printed). Zero stdout in every mode — the editor owns the terminal (see README’s edit section)

§

Resource(ResourceArgs)

Manage a project’s individual resources: list, get, put, delete — the surgical edit loop (change one view/script without re-importing everything)

§

Webdev(WebdevArgs)

Manage the CLI’s own WebDev routes on the gateway: deploy the embedded bundle, verify the version handshake

§

Tags(TagsArgs)

Tag operations: manage providers (native REST) and browse / read / write tag values (the deployed WebDev routes — run ign webdev deploy first)

§

Rig(RigArgs)

Manage a Docker compose rig: up/down/reset/status/logs/trial (snapshot arrives in a later plan) — docker-only, no profile needed

§

Backup(BackupArgs)

Manage gateway backups (gwbk) on any profiled gateway: download (streamed) and restore (guarded)

§

Eam(EamArgs)

EAM task orchestration (Enterprise Administration Module): history/definitions reads, guarded task create + force — every verb honestly reports the controller-mode state gate

§

Script(ScriptArgs)

Run gateway-side Python (Jython) through the secret-gated scriptExec route — the opt-in is STRUCTURAL (ign webdev deploy --with-script-exec deploys the route + persists its secret); there is no –yes on this verb by design

§

Testing(TestingArgs)

Run the gateway’s own Jython test suite through the deployed testing bundle — the agent/CI verb: a machine verdict without the Designer (ign webdev deploy --with-testing or ign adopt --project NAME --testing installs the bundle)

§

Lint(LintArgs)

Lint local project files by delegating to ignition-lint (PATH discovery) — doctor posture: findings are DATA, exit 0 whenever the tool ran; –strict passes the tool’s exit code through for CI

§

E2e(E2eArgs)

Browser end-to-end testing: diagnose the host + gateway a Playwright suite needs (doctor), and scaffold one that logs in through ign session login and talks to the gateway’s testing routes (init). There is no e2e run — the scaffold’s own npm test is the runner

§

Api(ApiArgs)

Raw passthrough to any gateway REST endpoint — the escape hatch for the uncurated routes (the envelope’s data is left gateway-verbatim; see README’s documented contract exception)

§

License(LicenseArgs)

License inventory + trial state — the morning-check read (trial companion merged into one command)

§

Redundancy(RedundancyArgs)

Gateway redundancy status — the morning-check read

§

Gan(GanArgs)

Gateway Area Network (GAN) overview — the morning-check read

§

Diagnostics(DiagnosticsArgs)

Diagnostics support-bundle operations: generate, check status, download (streamed), wait — the support-bundle slice

§

Profile(ProfileArgs)

Manage gateway profiles

§

Mcp(McpArgs)

Serve the Model Context Protocol over stdio (hidden; for MCP clients — the newline-delimited JSON-RPC 2.0 stream IS the stdout product; the routes.rs OutOfBand row lands atomically with this command, 08-06 contract)

§

Lsp

Serve LSP over stdio (hidden; for ignition-nvim — the Content-Length-framed LSP stream IS the stdout product; the routes.rs OutOfBand row lands atomically with this command, 08-06 contract)

§

Tui

Interactive TUI cockpit

§

Top

Live gateway monitor — htop for Ignition: cpu/heap gauges, sparkline history, and a sortable/filterable table of the gateway’s live entities (modules, sessions, connections, providers); terminate a session with x (the routes.rs Dashboard row lands atomically with this command)

Trait Implementations§

Source§

impl Debug for Commands

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for Commands

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Subcommand for Commands

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more