balena-io/balena-cli is a open-source project on GitHub, written primarily in TypeScript. It has 515 stars. The official balena CLI tool.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
The balena CLI is a Command Line Interface for balenaCloud or
openBalena. It is a software tool available for Windows, macOS and
Linux, used through a command prompt / terminal window. It can be used interactively or invoked in
scripts. The balena CLI builds on the balena API
and the balena SDK, and can also be directly
imported in Node.js applications. The balena CLI is an open-source project on
GitHub, and your contribution is also welcome!
Installation
Check the balena CLI installation instructions on
GitHub.
Note for v22 Migration: If you are upgrading to balena CLI v22 from a previous standalone installation, please see the v22 Migration Guide for installation changes.
Choosing a shell (command prompt/terminal)
On Windows, the standard Command Prompt (cmd.exe) and
PowerShell
are supported. Alternative shells include:
MSYS2:
Install additional packages with the command: pacman -S git gcc make openssh p7zip
Set a Windows environment variable: MSYS2_PATH_TYPE=inherit
Note that a bug in the MSYS2 launch script (msys2_shell.cmd) makes text-based interactive CLI
menus to break. Check this Github issue for a
workaround.
MSYS
Git for Windows
During the installation, you will be prompted to choose between "Use MinTTY" and "Use
Windows' default console window". Choose the latter, because of the same MSYS2
bug mentioned above (Git for Windows
actually uses MSYS2). For a screenshot, check this
comment.
Microsoft's Windows Subsystem for Linux
(WSL). In this case, a Linux distribution like Ubuntu is installed via the Microsoft Store, and a
balena CLI release for Linux should be selected. See
FAQ for using the
balena CLI with WSL and Docker Desktop for Windows.
On macOS and Linux, the standard terminal window is supported. Optionally, bash command
auto completion may be enabled by running balena autocomplete.
Logging in
Several CLI commands require access to your balenaCloud account, for example in order to push a
new release to your fleet. Those commands require creating a CLI login session by running:
$ balena login
Proxy support
HTTP(S) proxies can be configured through any of the following methods, in precedence order
(from higher to lower):
The BALENARC_PROXY environment variable in URL format, with protocol (http or https),
host, port and optionally basic auth. Examples:
The HTTPS_PROXY and/or HTTP_PROXY environment variables, in the same URL format as
BALENARC_PROXY.
Proxy setup for balena device ssh
In order to work behind a proxy server, the balena device ssh command requires the
proxytunnel package (command-line tool) to be installed.
proxytunnel is available for Linux distributions like Ubuntu/Debian (apt install proxytunnel),
and for macOS through Homebrew. Windows support is limited to the Windows
Subsystem for Linux (e.g., by installing
Ubuntu through the Microsoft App Store).
Ensure that the proxy server is configured to allow proxy requests to ssh port 22, using
SSL encryption. For example, in the case of the Squid proxy
server, it should be configured with the following rules in the squid.conf file: acl SSL_ports port 22 acl Safe_ports port 22
Proxy exclusion
The BALENARC_NO_PROXY variable may be used to exclude specified destinations from proxying.
This feature requires CLI version 11.30.8 or later. In the case of the npm installation
option, it also requires
Node.js version 10.16.0 or later.
To exclude a balena device ssh target from proxying (IP address or .local hostname), the
--noproxy option should be specified in addition to the BALENARC_NO_PROXY variable.
By default (if BALENARC_NO_PROXY is not defined), all private IPv4
addresses and '*.local' hostnames are excluded
from proxying. Other hostnames that resolve to private IPv4 addresses are not excluded by
default, because matching takes place before name resolution.
localhost and 127.0.0.1 are always excluded from proxying, regardless of the value of
BALENARC_NO_PROXY.
The format of the BALENARC_NO_PROXY environment variable is a comma-separated list of patterns
that are matched against hostnames or IP addresses. For example:
Matched patterns are excluded from proxying. Wildcard expressions are documented at
matcher. Matching takes place before name
resolution, so a pattern like '192.168.*' will not match a hostname that resolves to an IP
address like 192.168.1.2.
Command reference documentation
The full CLI command reference is available on the web or by running balena help --verbose.
Support, FAQ and troubleshooting
To learn more, troubleshoot issues, or to contact us for support:
Check the masterclass tutorials
Check our FAQ / troubleshooting document
Ask us a question in the balena forums
For CLI bug reports or feature requests, check the
CLI GitHub issues.
Deprecation policy
The balena CLI uses semver versioning, with the concepts
of major, minor and patch version releases.
The latest release of a major version of the balena CLI will remain compatible with
the balenaCloud backend services for at least one year from the date when the
following major version is released. For example, balena CLI v11.36.0, as the
latest v11 release, would remain compatible with the balenaCloud backend for one
year from the date when v12.0.0 was released.
Half way through to that period (6 months after the release of the next major
version), older major versions of the balena CLI will start printing a deprecation
warning message when it is used interactively (when stderr is attached to a TTY
device file). At the end of that period, older major versions will exit with an
error message unless the --unsupported flag is used. This behavior was
introduced in CLI version 12.47.0 and is also documented by balena help.
To take advantage of the latest backend features and ensure compatibility, users
are encouraged to regularly update the balena CLI to the latest version.
Please have a look at the CONTRIBUTING.md file for some guidance before
submitting a pull request or updating documentation (because some files are automatically
generated). Thank you for your help and interest!
License
The project is licensed under the Apache 2.0 License.
A copy is also available in the LICENSE file in this repository.
No homepage URL was recorded for balena-io/balena-cli in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
Does balena-io/balena-cli have any tags?
TopGit's last sync did not record any GitHub topics for balena-io/balena-cli. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on balena-io/balena-cli?
The most recent commit recorded on balena-io/balena-cli was 4 days ago, based on the GitHub push timestamp. The repository has 156 forks — one of the better signals of community interest.
Is balena-io/balena-cli open source?
Yes — balena-io/balena-cli ships under the Apache-2.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/balena-io/balena-cli.
What license does balena-io/balena-cli use?
balena-io/balena-cli is released under the Apache-2.0 license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where do I read more about balena-io/balena-cli?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/balena-io/balena-cli is the definitive source.
Read full README in the tab above.
Want a second opinion on balena-cli?
Ask an AI that can read this page — one click and you get its take on balena-cli.