DevOpsKube – My opinionated View of a full SDLC Stack on Kubernetes II

In my last post, I described the motivation behind the creation of DevOpsKube. In this post, I would like to propose a SDLC-Stack, which is going to get implemented in the DevOpsKube Stack:


The following components are included in the current version:

* Redmine – Project Management/Issue Tracking
* Jenkins – Automation Server for CI and CD stuff
* TheNexus – Central Repository for Maven/Gradle/…
* SonarQube – Platform to manage code quality
* Gogs – central Git Repository

To provide central data-storeage options we are using MySql for all components in need of a database.


Since a vanilla Kubernetes Cluster does not provide any Edge-Loadbalancer, we are going to provide documentation on how to setup the whole cluster including an Edge-Loadbalancer and other useful tools (eg. SSO Components). An initial set of Helpers are:

* Nginx Ingress – Load-Balancing for Kubernetes PODs
* Kube-Lego – Kube-Lego automatically requests certificates for Kubernetes Ingress resources from Let’s Encrypt

For the use of a configurable set of PODs, we are using helm in its latest (not yet ready for production) incarnation.

DevOpsKube – My opinionated View of a full SDLC Stack on Kubernetes

What is DevOpsKube?

A Kubernetes „cluster“ with all things SDLC (Software Development Life Cycle)/DevOps related. This Solution is going to be implemented so that it Can be installed onto a one node cluster. In later phases also big installations should be possible.

What is the Motivation behind DevOpsKube?

It was/is the dream of myself to be able to install such a full SDLC stack easily on own Hardware and/or environment. Kubernetes seems like the natural choice for this.

Up until now there is no full DevOps Stack for vanilla Kubernetes. The following „solutions“ can be found when googling:

  • fabric8 – highly based on RedHats OpenShift, probably the closest to my requirements
  • Harbur – mainly focused on docker and has no real kubernetes support
  • Software Factory – from RedHat as well, based on OpenStack
  • Marcel Birkner – a blog-post from codecentric (merely an blog-post with some docker containers)
  • GoPaddle – seems to be focused on a full CI Environment to install Container on Kubernetes and uses eg. Jenkins, but is commercial and has a different focus then the above mentioned ones

None of the above mentioned stacks do fulfill my needs/my idea, therefor I decided to put this stack together to allow to install a full SDLC stack on an own Kubernetes cluster or even on the Google Cloud.

So watch this place closely during the next couple of days, because Herr you will read First as soon as this Project is started and where you can reach it.

So what do you think? Are you interested? Would you like to contribute? Please just leave a comment and/or write me an email.

EDIT 2016-10-09 16:10: Updated the links, so that they do work in WordPress

Create Image Gallery

More a note to myself.

Put all images in folders and create a corresponding file in each folder:

Title: Fuschoelpass (18.08.2016)
Representative: DSC01775.JPG

## Fuschoelpass (18.08.2016)


Resize all images in each folder:

for file in *.JPG; do convert $file -resize 1920 $file; done

Generate Gallery using sigal:

sigal build source . ../generated

Compile rtl8812au Driver on Raspbian (Kernel 3.18.5+)

I tried the everywhere mentioned method with, but this was not working as expcected. Therefor I tried the method mentioned on the Fedora Mailing List. This does not contain the patches for the Raspberry PI. The Makefile needs to get adopted, so that you can compile this driver on the Raspberry Pi.

The compile seems to work now. I have uploaded all sources to Github. In this repository is also the 8812au.ko, which is compiled on a Raspbian Box with Kernel 3.18.5+. Hope this will work out now.


Finally I have made it and ripped the whole CD collection of us. The whole collection can be seen on discogs. I will add new CDs in there, if those are added to the ripped cd. The whole process took more then one and a half year (well, I really starte end of Mai 2013), but I guess, it was worth it.

Update eTrex 30 with Linux

I am a proud owner of an Garmin etrex 30. Since I do run Linux on all my machines at home, I tried several ways to update the firmware of this device. Unfortunately this is not possible, using WebUpdater from garmin directly. A tool which should make it easy (and most probably it does on windows and/or mac) makes it hard to do on Linux.

Anyways, a download of the lates firmware can be found at You just need to rename the Downloaded file to GUPDATE.GCD and move it to /Garmin/ on your Garmin device.

After a restart of the eTrex 30, all seems to be fine.

Rotate Images based on EXIF Tags

Back from vacation I am currently in the process to create an image gallery using sigal.

Unfortunately sigal can only copy EXIF tags to the (smaller) images in the gallery or rotate the images correctly.

Since this is needed for some of the pictures, I have done, I use jhead.

The following line is quite helpful to rotate jpgs based on the EXIF tags:

find -name "*.JPG" -exec jhead -autorot {} \;

MPD and ALSA settings on cubox-i

I have had some trouble with some songs playing on my cubox-i via the SPDIF-Toslink connection. I heard crackling noises on those songs. First I thought, that those were due to some mistake done during ripping those from my CDs. But I tested those songs on some other devices and recognized, that it is most probably due to high frequencies or something similar.

Therefor I digged into the concrete settings of ALSA and MPD to fiddle around with Frequency- and Volume-Settings. In the end it turned out, that the solution is rather easy and I just had to reduce the volume of the cubox-i SPDIF out to 98%. Now all crackling noises are gone and I can enjoy the music via my home stereo system.

Here are the settings of ALSA (/etc/asound.conf):

pcm.imxspdif {
type hw
card imxspdif

pcm.imxhdmisoc {
type hw
card imxhdmisoc

ctl.imxspdif {
type hw
card imxspdif

ctl.imxhdmisoc {
type hw
card imxhdmisoc

The above settings are just setting the devices in the Cubox-I to be used by alsa. The „imxspdif“ is important, because this one is used by the following MPD-setting:

audio_output {
type "alsa"
name "imxspdif"
mixer_type "software"

Unfortunately I could not use „alsactl store“ to store my alsamixer settings, therefor I have set the mixer_type of MPD to software, which allows to call the

mpd volume -2

command inside of my mediaplayer-startup script. This command sets the used volume to 98%. Now everything is working fine, on every boot, like wanted 😉