GitLab CI runner and VirtualBox

Recently, I have been installing such configuration and discover that not a lot documentation exist in Internet. So, I write this post as summary. I think that this is also can be usefull for guys who want install GitLab runner and Virtualbox on headless server using Puppet and automate this provision as much as possible. There are some caveats that requires manual work but it is also can be easily automated.