We've wanted to launch DNS services for our customers and for ourselves since we launched Reverse DNS recently (as we knew most of the work was in place). So while we're working on higher features that are more challenging, this seemed quite an easy one to build out and launch.
So as of this moment, you can now setup DNS serving for your domain names. We've written a few quick guides on how to change your domain to use our name servers, how to configure DNS records and what the different record types mean.
We've also worked on a few other new features that our customers have requested:
The previous mechanism was that we took the SSH public keys that users uploaded, inserted them in to Nova (OpenStack's compute resource) and then chose those keys when launching instances. Unfortunately, this limited us to DSA and RSA keys only and newer keys like Ed25519 weren't supported by Nova, even though the target operating systems such as Ubuntu 16.04 supported them. We already use cloudinit to configure the instances upon first boot, so the simple solution is to ignore this API and just insert the key using cloud-config. So now we support any of the current key types.
Instances on Civo have a private network IP and (now) optionally a public IP address. You can move the public IP from one instance to another that doesn't currently have one assigned. Therefore you can launch multiple webservers where only one of them has a public IP, then have all of them try to hit the public IP over HTTP and if it doesn't respond, call the Civo API to move the public IP to the current box. We wrote a learn guide on how to use this for really simple High Availability.