Introducing the new Bytemark command-line client


#1

Hello! With the launch of our new website we’re also releasing a new command-line client, to replace the old BigV command-line client. It’s not yet feature-complete nor bug-free, but it’s coming along and I’m ready to share it with the world. The new client is called bytemark.

Before we get into the fun stuff, a bit of rationale: The old client is a bit broken, takes a while to start, uses HTTP Basic authentication (we like OAuth 2 bearer tokens in our public APIs these days) and is really, really hard to maintain.

The primary goal of the new client is to have ongoing feature-parity with the panel. It does not yet meet that goal, but it’s also not a million miles off. Most of the missing functionality concerns payment, invoices, and other account-management type things. Working with your servers and such is mostly feature-complete.

A secondary goal was to make it easy to script against Bytemark’s self-service stuff, which it now partly is, but there’s more work needed still. Take a look at bytemark help scripting for some examples of cool things you can do today!

Alright, let’s talk fun stuff. Over at our new documentation site you’ll find instructions for installing the client. As it says over there - be aware that it’s in alpha! It may be a bit janky and broken in places, this is expected. Please report anything that seems bug-like to the project.

Please note that the command syntax is very different between the old BigV client and this new client. Mostly it’s that we now use subject-verb-object style rather than the alternative. So where before you’d run bigv vm show, it’s now bytemark show server <name> (or even just bytemark show <name>). Machines and groups are specified along with the account, so there’s no need for millions of flags all the time anymore - bytemark show myserver.mygroup.myaccount for example.

There are a couple of things that you may expect to be implemented that aren’t:

  • The ‘request ip’ command isn’t implemented - this should be in by the next point release. This means that for the time being the panel is the best way to add a new IP to a server.
  • There are no equivalents for the ‘account admin grant/revoke’, ‘vm admin grant/revoke’, ‘group admin grant/revoke’ and ‘vm user grant/revoke’ commands. If you require these commands, please continue to use the old client for the time being.

Also, we’ve kicked the old notion of ‘selecting’ a profile. If you need multiple profiles like the old client, see bytemark help profiles.

If you have any feedback/questions do let me know through here!

Telyn