netris
Play the Tetris game in the terminal
SYNOPSIS
netris [global_options] <command> [arguments...]
PARAMETERS
show
Displays one or more Netris resources. For example, use `netris show sites` or `netris show bgp` to inspect the current state of network entities.
create
Creates a new Netris resource. Typically used with a configuration file (`-f
apply
Applies a configuration to a Netris resource. This command can create new resources or update existing ones based on a provided configuration file. It's often used for declarative management, similar to `netris apply -f network-config.yaml`.
delete
Deletes one or more Netris resources by name or ID. For example, `netris delete vnet my-virtual-network`.
login
Authenticates the CLI client with the Netris Controller. This command prompts for credentials and saves the authentication token for subsequent commands.
logout
Deauthenticates the CLI client from the Netris Controller, removing stored credentials.
help
Provides help for the netris command itself, or for specific subcommands. For example, `netris help show` displays options for the `show` command.
version
Displays the version of the netris CLI client and the connected Netris Controller.
--config
A global option that specifies the path to the Netris configuration file, overriding the default location (e.g., `netris --config ~/.netris/dev-config.yaml show sites`).
--json
A global option that formats the command output as JSON, suitable for programmatic parsing (e.g., `netris show sites --json`).
--yaml
A global option that formats the command output as YAML (e.g., `netris show bgp --yaml`).
DESCRIPTION
The netris command is the primary command-line interface (CLI) for interacting with the Netris network automation platform. Netris is an intent-based networking software that automates the deployment, operation, and troubleshooting of network infrastructure in data centers and cloud environments.
The netris CLI allows network operators, DevOps engineers, and developers to manage their network resources programmatically. It provides a unified control plane to define network intents, such as creating virtual networks (VNETs), configuring Border Gateway Protocol (BGP) sessions, deploying load balancers, or managing VPN connections. Instead of configuring individual devices, users declare their desired network state, and Netris automates the underlying configurations across various network devices.
Key functionalities include provisioning network services, monitoring network health, troubleshooting issues, and integrating with other automation tools. The CLI supports both interactive use and scripting, making it a critical component for NetDevOps workflows and continuous integration/continuous deployment (CI/CD) pipelines for network changes.
CAVEATS
- The netris CLI requires active network connectivity to a running Netris Controller.
- Successful operation depends on proper authentication credentials and appropriate user permissions defined within the Netris platform.
- The exact syntax and available subcommands can vary slightly based on the Netris Controller version.
- Resource creation and modification commands often rely on YAML or JSON configuration files, demanding familiarity with Netris resource definitions and API schema.
CONFIGURATION FILE
The netris CLI typically stores its configuration, including authentication tokens and controller endpoints, in a YAML file. By default, this file is located at ~/.netris/config. This file can be manually edited or managed via the netris login and netris logout commands. The `--config` global option can be used to specify an alternative configuration file for different environments or contexts.
INTENT-BASED NETWORKING
At its core, Netris operates on an intent-based networking paradigm. This means users define the desired outcome or 'intent' for their network (e.g., 'I want a virtual network connecting these two servers with a specific IP range'). The netris CLI is the primary mechanism to declare these intents. The Netris Controller then translates this intent into the necessary low-level configurations across all involved network devices, continuously verifying that the actual network state matches the declared intent.
HISTORY
Netris emerged as a modern solution for automating complex data center networking, shifting from traditional manual configurations to an intent-based, software-defined approach. The netris CLI has been central to this vision since the platform's inception, providing a unified and programmatic interface for managing the entire network lifecycle. Its development aligns with the rise of NetDevOps principles, enabling network engineers to integrate network operations into CI/CD workflows, apply version control to network configurations, and automate deployments. The CLI's design, inspired by tools like kubectl, emphasizes declarative configuration and idempotent operations, making it suitable for both interactive troubleshooting and large-scale automation.