Render CLI

The Render CLI is an alternative way to leverage the power of Render for your projects. In conjunction with the infrastructure-as-code (IaC) practices enabled by Render Blueprints, the CLI is intended to build towards a rigorously automatable development and deployment process with Render at its heart—freeing you up to work on your project and not on the infrastructure around it.

In addition, the Render CLI is built atop the customer-facing Render REST API. There’s no special sauce in the Render CLI; any workflows you build using the Render CLI can be turned into code running in your programming language of choice.

How do I get help?

As the Render CLI is an alpha release, the project is not under the purview of standard support channels. Until the CLI exits alpha, please submit help requests only as GitHub issues.

We would like the Render CLI to grow and evolve with the needs of the community; to that end, feature requests and pull requests are gratefully solicited in our public GitHub repository.

Installation

We’re trying to make the Render CLI as easy to use as we can across all supported platforms—and some that aren’t, too. Our supported platforms include:

  • x86_64 Linux: x86_64-unknown-linux-gnu
  • x86_64 Windows: x86_64-pc-windows-msvc
  • x86_64 macOS: x86_64-apple-darwin
  • ARM macOS: aarch64-apple-darwin

The CLI may work on unsupported platforms as well; some work on your part may be required. (See From source, below.)

Homebrew (MacOS, Linux)

We support installs on MacOS and Linux via Homebrew, and run our own Homebrew tap. Install the Render CLI with the following:

brew tap render-oss/render
brew install render

Once installed, it should be available as render.

Chocolatey (Windows)

We support installs on Windows via Chocolatey. Once Chocolatey is installed and set up, run the following in an elevated (“run as administrator”) PowerShell or CMD prompt:

choco install rendercli

Once installed, it should be available to non-elevated accounts on the PATH as render.exe.

Direct installs (all supported operating systems)

  • Navigate to the CLI GitHub repository.
  • Click Releases on the right-hand sidebar.
  • Under the newest release, you’ll see a set of executables. Download the executable appropriate to your operating system. On *nix platforms we recommend creating a ~/bin directory for your user’s own executables and adding it to your PATH.
    • Make sure to chmod +x the downloaded file on *nix platforms.
    • You probably also want to rename it something shorter than the artifact names we use on GitHub, too! (In our packaged releases, we rename the files to render or render.exe, depending on platform.)

From source (unsupported operating systems)

Our CLI is written in Deno, which has execution targets for some operating systems not supported by the Deno compiler (chiefly ARM Linux). If you run into trouble with the below, please feel free to file a GitHub issue, and we can try to help, though as these platforms are not supported, we can’t guarantee success.

  • Install deno. If you use asdf, we ship a .tool-versions file that you can use with asdf install to get going immediately.
  • Clone the repo with git clone https://github.com/render-oss/render-cli.
  • Run make deps to download our application dependencies.
  • Run deno task run, which is the equivalent of the bare render command for a compiled version of the application, to ensure that everything installed correctly.
  • Your Deno build may have a compatible compiler for your local system, in which case deno compile will emit an executable that works locally. Check the Makefile for syntax. If deno compile does not work, consider a shim script or a shell alias to give yourself a render command.
  • Later, to update, simply do a git pull within this git repository.

Getting started

Now that you’ve got the CLI installed, you can get set up. render config init will walk you through providing an API key and getting started with usage. Once you’ve initialized your config, render commands provides an alphabetized list of commands used in the application.

All commands support the --help switch to get you started with their use. If something is unclear or incorrect in the help sections, we absolutely want to know about it — please file a GitHub issue with as much detail as you can provide.