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.
Before using neoctl, ensure your system meets the requirements:
- Operating System: Linux (AMD64)
- Container Runtime: Docker or Podman
- Utilities:
cifs-utils(specificallymount.cifs)
Run the verify command to check your system:
neoctl verify- 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.
--help,-h: Show help for command.
Displays the current version of the CLI tool.
Manage the software versions used for deploying instances.
Fetches the latest version information from the configured container registries. This updates your local cache of available versions.
Displays the currently configured versions and the cached "recent" versions for Neo Core and Neo UI.
Manage the lifecycle of Neo deployments.
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.3Starts 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,neoctlrequires elevated privileges to mount SMB shares within containers. You will be prompted for yoursudopassword at the beginning of the operation. For security purposes, the elevated session is automatically reset (sudo -k) immediately after the operation completes.
Stops a running instance.
Usage:
neoctl instance <name> stop [flags]Flags:
--all: Stop all configured instances.
Stops and removes an instance, deleting its configuration files.
Usage:
neoctl instance <name> delete [flags]Flags:
--all: Delete all configured instances.
Fetches logs for an instance.
Usage:
neoctl instance <name> logs [flags]Flags:
--archive: Save logs for all services (neo, neoui, neodb) into a.tar.gzarchive.--all: Fetch logs for all instances.
Lists all configured instances and their current running status (Running, Stopped, Degraded).
Displays the raw JSON configuration of all instances.