Docker Tunneling in Go

A trick i learned recently is that Docker client in Golang can accept custom dialer which can be so useful to connect to a remote Docker engine through SSH tunneling, all you need is a working SSH connection to a remote server and Docker engine on this server that listens on a local UNIX socket. First let’s look at the NewClient function for Docker client: func NewClient(host string, version string, client *http.
Read more

Kubernetes Installers (1): Kubespray

Kubernetes installation is considered a tough problem for any infrastructure operator, picking the right solution to deploy and run Kubernetes depends mainly on the user’s need, there is no one right solution for deploying Kubernetes however it depends on many variables including cloud provider, HA, network plugins, etc. These series of posts will try to list some different popular approaches to install and run Kubernetes, and will try to compare different solutions and give a quick example on each installer, and I will start with kubespray which is one of popular approaches to install kubernetes.
Read more

Creating Private Docker Registry 2.0 with Token Authentication Service

Docker Registry is a stateless server-side application that can act as a central repository for Docker images, Docker has its own free to use central registry called Docker Hub. Setting up your own Docker Registry in your production environment, gives you control over what image being stored and control over the Continuous Integration/Continuous Delivery (CI/CD) workflow, where you can push changes to the source control repo, then the CI tool of your choice pulls the image from your private Registry, run the tests and then build the image and push it to the private registry, then a Docker API will be triggered to deploy the new image into production.
Read more

Using Ansible With Digitalocean

I started using Ansible about two months ago, because it appeared back then as an easy way to the automation world, it turns out, i was right. Ansible is a powerful configuration management and IT automation tool created by Michael DeHaan at 2012. Ansible can be used starting from gathering information about you local machine, rolling updates, deploying small software, all the way to orchestrating a highly scalable infrastructure and managing a fleet of servers.
Read more

Amazon S3 Automated Backups

Amazon S3 buckets can be a great place to store regular backups, using AWS API storing backups at S3 buckets can be done easily. S3cmd is one of the free tools, that can send files to the S3 buckets as well as Google cloud storage. In this post i will demonstrate how to create automatic backup system that can send regular backups every day to S3 bucket using s3cmd tool.
Read more