Release Announcement · Render CLI v0.1.0

Hey, folks!

I’m Ed, and if you haven’t run across me before, I handle developer advocacy and developer experience here at Render. A command-line tool for working with Render has been high on our feedback page for quite a while; I’ve been using Render well before I worked here, and ever since joining I’ve been pushing for, and then building, the CLI I wanted to have as a customer.

You can get render-cli v0.1.0 from our GitHub Releases page here; I hope you like it.

One important note: this is alpha software. We don’t think render-cli will make demons fly out your nose and nothing in the current feature set is either destructive (in Render) or irreversible (via git), but no warranties are stated or implied, so on and so forth.

What can you do with render-cli right now? Well, here’s a partial list:

  • render repo from-template lets you scaffold a project sourced from Render Examples, degit-style, to give you a fresh repository to start working with. For example, render repo from-template jekyll will hand you a new Jekyll project that’s ready to go, with a render.yaml file already set up for you.
  • render blueprint launch will let you take that new repo and (once you’ve pushed it to GitHub, anyway) launch it via the Render Dashboard.
  • We’ve also started on some API surfaces as well. Stuff like render services list, render services show, etc. will let you poke around your Render account when you need to, for example, get a service ID for…
  • render services tail lets you connect to your service’s logs and tail them locally. Or–
  • render services ssh lets you SSH into a live service in your account. It also helps manage SSH public keys, so you know you’re connecting to Render even on first use.

This is a very preliminary release, of course, and there’s a long way to go, but we wanted to get this into your hands ASAP because your feedback is critical. As this is alpha software and outside the main “flow” of Render right now, please don’t contact support via standard channels with render-cli questions; they’ve got a lot on their plate already! I’m happy to answer general questions here, and if you’ve got bugs or feature requests, we want them–please check our GitHub Issues and file a new one if appropriate.

Thanks very much for checking out render-cli. Let us know what you think.

18 Likes

Congrats on the first release!

Feature request: let me somehow store the relevant service IDs for a given directory, such that I don’t need to provide the parameter each time.

For example when I’m in my /Users/marc/Code/startupjobs project, I’d like to be able to just run render services tail and it tails the startupjobs webservice (default). If I want another service within that project, I could do render services tail postgres, etc.

I think Heroku’s CLI can figure out which app you’re interested in by looking at your git remotes. That’s one approach. Another approach would be to lean into the render.yaml blueprint and use the first listed service as the default, and allow the other services to be referenced to by name (although, I’d love to also be able to specify aliases as all my services are prefixed by the project name like startupjobs-redis-cache and I’d prefer to be able to just type redis-cache)

Also, I’d love to get some more instructions on how to make the downloaded CLI available globally in my macOS terminal. I’m used to Homebrew and since that’s not available yet (although I saw it’s planned), I’m never quite sure what the proper way is to make an executable available globally.

5 Likes

Hey Marc - this is great stuff, thanks for checking it out. To track:

Right now we are in a spot where we are splitting the difference between users who aren’t using blueprints and those who are. So far during development, that’s meant avoiding too tight integration with blueprints–but I think you’ve hit on something in that we should figure out a way to embrace blueprints and use them as productivity enhancers.

The easiest way I know to have a global executable would be something like (I haven’t tested this, but it’s directionally accurate):

mkdir ~/bin
cp ./render-xxx ~/bin

echo 'export "PATH=~/bin:$PATH"' > .zshrc # or .bashrc if you're on bash

I’ll see about getting a Homebrew recipe PR’d this week.

1 Like

(Homebrew update - been working on it, sidetracked with a few other things. It’s cooking.)

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.