Skip to content

open-edge-platform/orch-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

300 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Edge Manageability Framework Command Line Interface

License OpenSSF Scorecard

Overview

The Orchestrator CLI is a standalone utility which offers command line commands to interact and manage various Orchestrator resources using the REST API endpoints.

Currently the orch-cli is supported for Infrastructure Management operations and in beta for Application Orchestration and Cluster Orchestration.

Currently allows user to create, get, list, set and delete the following Orchestrator entities:

  • Hosts
  • Operating System Profiles (OsProfiles)
  • Sites
  • Regions
  • Custom Configs
  • Clusters
  • Application images registries
  • Application artifacts
  • Applications
  • Application profiles
  • Deployment packages (a.k.a bundles)
  • Deployment profiles (a.k.a. bundle profiles)
  • Application references of deployment packages
  • Deployments

Additionally, the CLI supports advanced operations.

  • Infrastructure Management:

    • Host registration in bulk via the upload of a CSV file.
    • Validation of the CSV file for the host registration.
  • Application Orchestration:

    • Deployment packages can be created/updated by loading contents of a directory structure via the load command.

Get Started

Instructions on how to install and set up the CLI on your development machine.

Download pre-built artefacts

Pull the orch-cli compressed artifact from the registry-rs.edgeorchestration.intel.com and unpack the archive. The archive contains the orch-cli binary.

oras pull registry-rs.edgeorchestration.intel.com/edge-orch/files/orch-cli:3.1
tar xf orch-cli-package.tar.gz

Build From Source

Dependencies

Firstly, please verify that all dependencies have been installed. This code requires the following tools to be installed on your development machine:

Build the Binary

Standard build (Go only):

# Build orch-cli binary
make build

KVM-enabled build (Angular UI + Go binary):

The KVM viewer feature embeds an Angular web app into the binary. Building it requires Node.js v20+ and npm (v10) in addition to Go.

# Build Angular KVM Viewer UI, then compile the full orch-cli binary
make build-kvm

This runs two steps in sequence:

  1. make build-kvm-ui — runs npm ci && ng build inside ui/kvm-viewer/, writing static assets into internal/cli/static/.
  2. Compiles the Go binary with -tags kvm, embedding the Angular bundle via //go:embed static into the binary.

To rebuild the UI independently (e.g. during Angular development):

make build-kvm-ui

The orch-cli binary is created in the build/_output/ directory.

The orch-cli binary is created in the build/_output/ directory.

To install the cli:

# Install binary
make install

By default, the binary will be installed to /usr/local/bin, the location can be overridden by setting the INSTALL_PATH environmental variable.

Contribute

We welcome contributions from the community! To contribute, please open a pull request to have your changes reviewed and merged into the main branch. We encourage you to add appropriate unit tests and end-to-end tests if your contribution introduces a new feature. See Contributor Guide for information on how to contribute to the project.

Develop

The Orchestrator CLI is developed in the Go language and is built as a standalone executble for Linux, Mac, and Windows platforms. The CLI uses the industry standard viper and cobra libraries.

Below are some of the important make targets which developer should be aware about.

Build the component binary as follows:

# Standard build — Go only, no Node.js required
make build

# KVM-enabled build — builds Angular UI then compiles Go binary with -tags kvm
make build-kvm

# Rebuild Angular UI only (during KVM UI development)
make build-kvm-ui

Unit tests are run for each PR and the developer can run unit tests locally as follows:

# Run unit tests
make test

Linter checks are run for each PR and the developer can run linter check locally as follows:

make lint

License checks are run for each PR and the developer can run license check locally as follows:

make license

Community and Support

To learn more about the project, its community, and governance, visit the Edge Orchestrator Community.

For support, start with Troubleshooting or Contact us.

License

The Orchestrator CLI is licensed under Apache 2.0 License

Last Updated Date: May 26, 2026

About

Open Edge Platform Command Line Interface

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages