Programming and Exciting Things

HaProxy ACL by source IP adress

Published on 22.08.2018
Haproxy is an awesome load balancer for TCP and HTTP connections. In this short post we will see how to secure bind by source IP address Configuration of HaProxy to allow and reject connections by IP Address: For doing this we will use ACL to check source IP and based on it we will decide how to proceed.
In my use case I want to publish RabbitMQ management interface to few public users. It will be served through different from 80/443 port. So my config looks like:
Note: RabbitMQ management interface is running on port 25672
So as you can see I’m adding new listener on port 15672 which backend will be 127.0.0.1:25672. Interesting part here is ACL conditions It’s a pretty straightforward and self-explanatory. Of course this can be used in frontend section as well.
For example:
Happy codding!

GoLang update all packages

Published on 27.08.2017
Developing in go typacly involve installing a lot of packages. A common scenario is from time to time to update all of them to their latest versions. This can be done easily with go get -u all

EasyMail Managment interface

Published on 15.02.2017
Last few days I was working on first version of Managment interface for project of my friend "RunEasyMail". In short it is a collection of bash scripts which automates installation and configuration of email server.
My contribution for this is connected with managment part of users and for now is REST API which makes adding/removing users and domains very easy.
More information about project can be found at https://www.runeasymail.com/.
Any suggestions, requests and bug reports are wellcomed for API at https://github.com/runeasymail/ManagementAPI

Равносметката за 2016та

Published on 31.12.2016
Равносметката за тази година може би няма да е толкова лесна колкото очаквах, но за разлика от миналата година, сега се чувствам че съм изпълнил по-голяма част от нещата, които съм планирал за изминалата вече година. Годината беше бурна както в професионален така и в чисто емоционален.
Пътувах доста, надявам се тази година да разширя още повече периметъра си... Италия, идвам :D
Влюбих се, разделих се, преживях доста трудни моменти в личен и емоционален аспект, но имах подкрепата на хората около мен, за което им благодаря от все сърце. Май не съм чак толкова лош човек щом приятелите ми ме търпят все още.
В професионален аспект нещата се стекоха доста благоприятно, имах огромно количество предложения за работа но дори и за мое учудване все още съм в Mansion, даже раста кариерно, май съм уцелил компанията и екипа с който работя. В този контекст искам да благодаря и на всичките ми мениджъри за търпението и вярата в мен, без тяхна помощ шанса да имплементираме Go в prod. среда в такъв бранш би бил немислим.
Какво друго ... а да купих си кола, което от своя страна увеличи пътуванията ми, запознах се с един страхотен човек, който има дейно участие в последните ми разходки по света и у нас и за който се надявам да продължи още дълго време да бъде все така интересна част от живота ми.
Здравословно съм почти добре, ще пропусна тазгодишният ски сезон, но това е дребно неудобство ... просто ще се отдам на СПА :D
Настоящето ... ами то е сложно и продиктувано от прекалена емоционалност, която на моменти пречи на трезвото ми мислене и виждане на очевидни неща, може би се оставям да бъда лъган но все още е рано за да правя заключения.
Може би вече най-важният въпрос е накъде. Имам 2-3 големи идеи които ще се опитам да реализирам, но нека да не издавам все още тайни :) В краткосрочен план искам да затвърдя малко повече знанията си относно някои програмни езици и да дам втори шанс на чистото C++. Въпреки, че към момента съм изключително доволен от избора си да заложа на Go.
Надявам се следващата година да е по-добра, наситена с повече положителни емоции и да съм все така близко до любимите си хора!

Docker redis image

Published on 09.08.2016
From yesterday I'm in process of moving some of my services in new VPS which is based on latest Ubuntu LTS. Some of software that I'm using is "conterized" but not all of them. So moving to new VPS is time to fix that and Redis is first in my list. After quick research I figure out that I preffer to use Phusion base image for Redis also, instead of getting new images :) and because of that I update a little bit original Docker file to: So we can save this in some directory in Dockerfile after that we can user Result will something like: That is :) we can quickly use it with something like Result will be: And woala we have fully functional Redis instance.
Happy codding