Skip to main content

Devops

Monitoring My HomeLab With Prometheus and Grafana

·7 mins
Introduction # I have enough machines in my house that I love to call the setup a home lab. Though I’m not saying my setup is as cool as the one you find on r/homelab. But I have my laptop which I have been using for 3 years now. I also bought a Raspberry Pi 4 back at the end of 2022. Recently I’ve built a PC for which I’m yet to upload video.

How to Setup a Jenkins to DockerHub Pipeline with Multi-Arch Images

·14 mins
Introduction # We have previously seen how to set up a GitHub to Jenkins pipeline with webhooks, this time we are going to continue on that lesson and learn how to configure Jenkins to build docker images and push Docker images to DockerHub. We’ll also see how to create images for both arm64 as well as amd64 architectures machines. Keep on reading.

Wildcard Domain Certificate Using Route53 and Let's Encrypt

Introduction # I have already posted about how we can automate installation of Jenkins & Nginx with Ansible. I have also done a post where I talk about how to enable HTTPS on a non-wildcard basis i.e. only for the root domain and not on subdomain. Today I’ll go through how go get and configure a HTTPS certificate from Let’s Encrypt for all the subdomain. I’ll automate all these using Ansible.

Getting Started with Ansible as a Fullstack Developer

·18 mins
Introduction # I don’t claim to be a DevOps expert. I just know some basic ssh and scp, that’s all. I have done whatever server configuration till date by ssh’ing into instances and then configuring them by hand. But now-a-days I feel like spinning up and destroying a server has increased in my life style. And doing it manually is just waste of time when we already have solution like Ansible.

How I Enabled HTTPS on My EC2 Hosted Website

·7 mins
Introduction # In 2014, Google hinted that they are running tests taking into account whether sites use secure, encrypted connections as a signal in our search ranking algorithms. This means it will affect SEO in some way. Today in the age of HTTP2, https is default. Default in the sense that many server software will only allow HTTP2 when https is configured.

What Does a True RESTful API Means?

·4 mins
Introduction # The way we used to deliver resources to the client in a server-client setup is now drifting away from REST to a more modern delivery mechanism. Two of them are gRPC and GraphQL. While both these solve a different kind of problem, REST is going to stay for a while. It is the simplest to learn at least.

Continuous Integration and Deployment to Beanstalk With Docker

·4 mins
In a previous post we discovered how can we run commands on each push and check if the test is passing against multiple versions of go. This is a continuation of the same concept. We are going to deploy our code to Elastic Beanstalk, straight from git push. Elastic Beanstalk is nothing but a wrapper around it’s EC2 infrastructure. It is a developer-centric view of deploying an application on AWS. Developers just have to push the code and Beanstalk can take care of Auto Scaling Group, Elastic Load Balancer, databases etc. No need to manage infrastructure manually.

Run Unit Test Before Every Commit with pre-commit Hook

·3 mins
Introduction # Why wait for CI/CD services to run your test? And in case you’ve already submitted a pull request, you’ll have to push another commit to fix the cause of failed test held by CI provider. You can prevent that by running unit tests locally before every commit. I’m building my website using the golang. On every git push, Travis CI runs test and create a docker image and pushes it to DockerHub. My plan is to pull that image every time it is pushed and deploy it to some production server.