Skip to content

Latest commit

 

History

History
135 lines (98 loc) · 4.02 KB

File metadata and controls

135 lines (98 loc) · 4.02 KB

NetApp Neo CLI (neoctl) Documentation

neoctl is the command-line interface for managing NetApp Neo instances and software bundles. It simplifies the deployment, configuration, and lifecycle management of Neo Core and Neo UI components.

Prerequisites

Before using neoctl, ensure your system meets the requirements:

  • Operating System: Linux (AMD64)
  • Container Runtime: Docker or Podman
  • Utilities: cifs-utils (specifically mount.cifs)

Run the verify command to check your system:

neoctl verify

Global Concepts

  • Configuration: Stored in ~/.neoctl/.
    • bundle.json: Stores registry info and available versions.
    • config.json: (Internal use)
    • instances.json: Stores instance configurations.
  • Instances: A named deployment of Neo (Core + UI + DB).
  • Bundles: The software images for Neo Core and Neo UI.

Commands

Global Flags

  • --help, -h: Show help for command.

neoctl version

Displays the current version of the CLI tool.


Bundle Management

Manage the software versions used for deploying instances.

neoctl bundle get

Fetches the latest version information from the configured container registries. This updates your local cache of available versions.

neoctl bundle version

Displays the currently configured versions and the cached "recent" versions for Neo Core and Neo UI.


Instance Management

Manage the lifecycle of Neo deployments.

neoctl instance configure

Creates or updates the configuration for a named instance.

Flexible Syntax: You can specify the instance name before the action verb:

  • neoctl instance <name> configure (New)
  • neoctl instance configure <name> (Classic)

Usage:

neoctl instance <name> configure [flags]

Flags:

  • --db: Enable managed database (default true).
  • --port-core <int>: Port for Neo Core API (default 8081).
  • --port-ui <int>: Port for Neo Console UI (default 8080).
  • --port-sql <int>: Port for PostgreSQL (default 5432).
  • --cpu <string>: CPU limit (default "4").
  • --memory <string>: Memory limit (default "8G").
  • --gpu <string>: Enable GPU support (values: cuda, rocm). Requires NVIDIA/AMD runtime.
  • --core <string>: Specific Neo Core version (e.g. v1.2.3).
  • --ui <string>: Specific Neo UI version (e.g. v1.2.3).
  • --smb: Enable a SMB server for test only.
  • --port-smb <int>: Port for SMB server (default 445).

Example:

neoctl instance configure my-neo --port-ui 8090 --core v1.2.3

neoctl instance start

Starts a configured instance. Generates necessary environment and compose files.

Usage:

neoctl instance <name> start [flags]

Flags:

  • --all: Start all configured instances.

Note for Podman Users:
When using Podman, neoctl requires elevated privileges to mount SMB shares within containers. You will be prompted for your sudo password at the beginning of the operation. For security purposes, the elevated session is automatically reset (sudo -k) immediately after the operation completes.

neoctl instance stop

Stops a running instance.

Usage:

neoctl instance <name> stop [flags]

Flags:

  • --all: Stop all configured instances.

neoctl instance delete

Stops and removes an instance, deleting its configuration files.

Usage:

neoctl instance <name> delete [flags]

Flags:

  • --all: Delete all configured instances.

neoctl instance logs

Fetches logs for an instance.

Usage:

neoctl instance <name> logs [flags]

Flags:

  • --archive: Save logs for all services (neo, neoui, neodb) into a .tar.gz archive.
  • --all: Fetch logs for all instances.

neoctl instance status

Lists all configured instances and their current running status (Running, Stopped, Degraded).

neoctl instance show

Displays the raw JSON configuration of all instances.