Skip to content


DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality.

Download a file securely from GCS on an untrusted system

Download files from google cloud storage using temporary credentials or time-limited access URLs

Advanced PostgreSQL monitoring using Telegraf, InfluxDB, Grafana

Introduction This post will go through my experience with setting up some advanced monitoring for PostgreSQL database using Telegraf, InfluxDB, and Grafana (also known as the TIG stack), the problems I faced, and what I ended up doing at the end. What do I mean by advanced? I liked this

Advanced PostgreSQL monitoring using Telegraf, InfluxDB, Grafana

Running docker jobs inside Jenkins running on docker

Jenkins [] is a free and open source automation server, which is used to automate software building, testing, deployment, etc. I wanted to have a quick and easy way to run Jenkins inside docker, but also use docker containers to run jobs on the dockerized Jenkins. Using

Running docker jobs inside Jenkins running on docker

Telegraf: dynamically adding custom tags

Adding a custom tag to data coming in from an input plugin for telegraf

Install docker and docker-compose using Ansible

I wanted a simple, but optimal (and fast) way to install docker and docker-compose using Ansible. I found a few ways online, but I was not satisfied. My requirements were: * Support Debian and Ubuntu * Install docker using apt repositories * Do not even perform an apt-get update if docker is already

Install docker and docker-compose using Ansible

Riemann and Zabbix: Sending data from riemann to zabbix

Background At my work [], we use Riemann [] and Zabbix [] as part of our monitoring stack. Riemann is a stream processing engine (written in Clojure) which can be used to monitor distributed systems. Although it can be used for defining

My backup strategy to USB disk using duply

I don't have a lot of data to backup - just my home folder (on my Archlinux laptop) which just has configuration for all the tools I'm using and my programming work. For photos or videos taken from my phone, I use google photos for backup - which works pretty

PostgreSQL replication using Bucardo

There are many different ways to use replication in PostgreSQL, whether for high availability (using a failover), or load balancing (for scaling), or just for keeping a backup. Among the various tools I found online, I though bucardo is the best for my use case - keeping a live backup

PostgreSQL replication using Bucardo

Django, uWSGI, Nginx on Freebsd

Here are the steps I took for configuring Django on Freebsd using uWSGI and Nginx. The data flow is like this: Web Request ---> Nginx ---> uWSGI ---> Django I was undecided for a while on whether to choose uWSGI or gunicorn. There are some [

Read only root on Linux

In many cases, it is required to run a system in such a way that it is tolerant of uncontrolled power losses, resets, etc. After such an event occurs, it should atleast be able to boot up and connect to the network so that some action can be taken remotely.