ring0 » blog

Upgrading to a Container World

tags: ring0, docker 2019-07-24 18:05 by lhw

It’s been three and a half years since the last post. But nothing much changed in our infrastructure and apparently those are the only posts that actually get published here. Now its time to change everything up again.

In the last three some years the container landscape has changed considerably again. From pure docker containers to orchestration environments that put full blown enterprise software to shame. All in the name of availability. Might as well also jump on that ship. Even if not full-blown kubernetes.

new blog software ... again

tags: ring0, blog, hugo 2015-12-29 12:53 by lhw

And once again a new blog software. Well not as much blog software as just a static site generator. I went with hugo as it seemed to be of reasonable complexity and allowed me to port over the blog theme in a minimal amount of time. Whole blog and the content are now maintained in the old microblog git.

All old links should still work as before. e.g. /entry/1/ or /page/2/. In addition code blocks now support syntax highlighting for all of pygments supported languages, which are quite numerous. Including most programming and config file syntaxes. Which is quite important for a coding and administration oriented blog.

//go example
import "fmt"

func main() {
	fmt.Println("Hello World")
server {
  listen [::]:80 ipv6only=off;
  server_name server.name.nic;

  location / {
    add_header Strict-Transport-Security max-age=15768000;
    return 301 https://$server_name$request_uri;

The old famfam icon set was replaced by a web font with just a minimal set of glyphs we actually need, thanks to fontello. The Icons come from Font Awesome and Entypo I’ll do an inlined version of the SVG font version later to remove absolutely all binary traffic from the blog.

new blog software

tags: ring0 2010-05-15 12:01 by lwi

The blog software initially designed for this purpose is now online. Written in plain C as a webserver providing a small http subset, it is reverse proxied by our nginx. While the former used software was written in Vala and used plain text files, this software uses sqlite as data backend.

Stay tuned and be awesome.

debian repository

tags: ring0, debian 2010-05-12 14:24 by sre

I just switched my Debian repository software and location. Now reprepro is used, so I can easily provide the Release file gpg signed. Add the following line to your /etc/apt/sources.list:

deb http://pkg.ring0.de/debian unstable main

and add the repository’s key to apt:

sre@mars ~ % curl "http://pkg.ring0.de/debian/key.gpg" | sudo apt-key add -

last but not least run apt-get/aptitude update. I’m currently migrating the packages from the old repository to the new one. New and updated packages will follow later.

migrating jabberd2 to ejabberd

tags: ring0, services 2010-04-27 08:30 by lhw

After being constantly pelted to change our Jabber/XMPP services from jabberd2 to ejabberd. We took a few hours of time and gone through with it once and for all.

“Thats gonna be easy”, was our first thought on it, “There are merge tools and such”. After testing the tools and running into problems with each of them(not merging at all, producing garbage output), we simply converted the information presented in the jabberd2 database to a ejabberd compatible format. Here is the sql we used to convert our database format: git.ring0.de

Okay the next problem was way worse then the first one. jabberd2 uses UNIX crypt() with salt for saving the passwords where as ejabberd uses plain text passwords by standard, hashes with hacking. As we are not really good with an old language like erlang we hacked ourselves something together. Mainly relying on the features (My)SQL provides us with. And here is the patch against ejabberd 2.1.2: git.ring0.de

Of course this version of the patch requires you to use MySQL with ejabberd therefore relying on the module from ejabberd.im But from this point on it’s easy to patch yourself some SQL together for other servers as well.