This site uses cookies for analytics. By continuing to browse this site, you agree to use this.  Learn more

Opening doors with ungleich-cli

Or: our user as our first priority

Posted on May 14, 2019

About openness

As you might now, we at ungleich feel very strongly about openness (Read about our Open Instrastructure Project). This time we want to take our approach one step further by introducing the ungleich-cli. The objective of this CLI is to allow customers to manage their VMs, their reverse DNS or even play an IPv6 game. What? IPv6 game?! Yes yes, but that's for another blog post. :D


Eat your own dog food

A very old and very reliable method of creating software that actually works is eat your own dog food: we are actually going to use the ungleich-cli to manage our infrastructure the same way our customers manage their virtual infrastructure. We are not creating the ungleich-cli just for the limited use of our customers.


Beware of dog bites

Before reading further, beware: ungleich-cli is a very early pre-pre-pre release at the moment. But we follow the (also very old) wisdom "release early, release often".


How it actually works

We started the ungleich-cli as a python script that bundles functionality to manage infrastructures. At the moment it contains prototype code to manage reverse dns entries of our infrastructure and to create networks in the RIPE database. We plan to add quite some features in the near future, like:

  • creating and deleting a VM
  • creating and deleting IPv6 networks for VMs (including vxlan handling)
  • attaching and removing an IPv6 network to/from a VM
  • adding and removing HDD space to/from a VM
  • managing forward DNS
  • managing more object types at RIPE 
  • playing an IPv6 game


How you can hack and benefit from it

If you are interested in an easy to use CLI to manage your VMs, you are invited to clone the repository and go ahead hacking on it. If you have ideas for things to be added, just fork the repository on and create a merge request (don't have an account yet? get one at account.ungleich).