RSSAmplifier

Blog

rtnpro

Recent content on rtnpro

rtnpro.comRSS feed ↗138 posts

Latest posts

Secrets in a GitOps World: Scopes, an External Store, and Never a Value in Git

Overview Last week I walked through the Argo CD and Kargo objects a golden-path layer generates, and closed on the thing that wasn’t there: not a single secret anywhere in those manifests. That wasn’t tidy example hygiene. It’s a design position, and this post defends it. The tension is familiar. The GitOps pitch is everything in Git — desired state, reviewable, revertible,…

Why We Built on Argo CD and Kargo Instead of Reinventing CD

Overview For three weeks I’ve ended every post with the same claim and never once shown my work. The claim: the CNCF ecosystem already solved continuous delivery, and what the mid-market team is missing isn’t technology, it’s the assembly — a golden path stitched from primitives that already exist. Argo CD reconciles. Kargo promotes. The last post argued you should adopt that…

You Don't Need a Platform Team to Have a Platform (But You Do Need Golden Paths)

Overview Two posts in, and both have been about a trap. Build an internal platform you can’t staff, or rent a hosted one you eventually outgrow. The most common reply I got was the fair one: If the constraint is headcount, and I’m not getting headcount, what exactly am I supposed to do on Monday? That question contains the mistake, and I made it too for years. It treats…

We Priced Out 'Just Use a PaaS' at Scale. Here's Where It Breaks.

Overview Last week I argued that mid-market platform teams are stuck between two roads — build an internal platform you can’t staff, or rent a PaaS you outgrow. A few people pushed back on the second road: is renting really that bad? The DX is incredible and the bill is tiny. They’re right, for a while. So this post is the honest version of the rent-it math. Not “PaaS is…

The Missing Middle: Why Mid-Market Platform Teams Are Stuck Between Backstage and Vercel

Overview There is a size of engineering organization that platform tooling has quietly failed. If you are Google, you build your platform. You have twenty engineers who work on nothing but the platform, and the leverage is obvious: one paved road, used by a thousand developers, pays for itself many times over. If you are four people with a Rails app and a deadline, you rent a platform. You push to…

Migrating a CNAME Record to Its Own Hosted Zone in AWS Route 53 with Zero Downtime

Overview Migrating DNS records, especially CNAME records, between hosted zones in AWS Route 53 can be tricky and often introduces the risk of downtime. This blog post discusses the challenges of migrating a CNAME record from a parent hosted zone to its own hosted zone and provides a step-by-step guide to achieve zero downtime using a combination of AWS CLI and Terraform. Example Use Case: We need…

Kubecon EU 2024

Introduction I attended KubeCon + CloudNativeCon Europe 2024 at Paris, France. Thanks to Zapier for sponsoring me to attend this conference. It was a great week of learning and networking at KubeCon. I caught up with the latest trends in Platform Engineering, upstream projects and got a chance to connect with upstream contributors. Highlights Platform Engineering patterns Apart from AI, one of the…

Contributing to ArgoCD ApplicationSet

Exploring ArgoCD ApplicationSet at Zapier and contributor experience

Speeding up Statefulset continuous deployments

This post explores the issue of blocked rolling updates during continuous deployment to Kubernetes Statefulsets due to failed volume attach attempts. It talks about workarounds and solutions for this issue, which results in consistent and faster STS rolling update times.

Enabling publish-service for ClusterIP nginx-ingress controller service

Currently, nginx-ingress controller can be run as a ClusterIP type service, however, it does not allow publishing this service’s endpoints to associated ingress objects. As a result, external-dns is not able to detect these ingress objects without any IP Address to create/update A DNS records for them. Why? Many may argue that why will someone need DNS records for ingress objects using…

Rootconf/Devconf 2017

This year’s Rootconf was special as it also hosted Devconf for the first time in India. The conference took place at MLR Convention Centre, JP Nagar, Bangalore on 11-12 May, 2017. The event had 2 parallel tracks running, 1 was for Rootconf and the other one for Devconf. Rootconf is a place like other Hasgeek events where you get to see friends and make new friends, learn about what they are…

CentOS Community Container Pipeline

CentOS Community Container Pipeline empowers running a container registry (currently at https://registry.centos.org ) to facilitate upstream and distro components to be delivered in a format suitable to be consumed by container tool chains on CentOS Linux.It enables upstream projects to build, test and deliver latest and safest container images, everytime and effortlessly (or with minimal…

Pycon Pune 2017

2017 saw a new chapter of Pycon in India, Pycon Pune . Pycon Pune 2017 felt more community focused, had loads of upstream contributors as speakers and participants, community booths (Pyladies, PSF) and loads of hacking. Pycon Pune 2017 was a 4 day event, from 16 Feb - 19 Feb. The first 2 days were conference days, and the remainder 2 were for devsprints. This was my first year as a Pycon…

Pycon India 2016

Day -1 Day 0: Devsprints Day 1 Day 2

Failed to load SELinux policy. Freezing

In this post, I will tell you how to fix “Failed to load SELinux policy. Freezing” issue and reboot your Fedora with SELinux set to Enforcing. It was the first day of Flock 2016, when I was working on my demos, that my laptop failed to boot after a bad system halt. The error was: systemd[1]: Failed to load SELinux policy. Freezing. I was running Fedora 23 on my laptop with SELinux set…

Basic video editing with ffmpeg

The following is my cheat sheet for basic video editing with ffmpeg split When I want to split a video input.mkv from 10s to 30s and save it as output.mkv : ffmpeg -i input.mkv -ss 10 -t 30 -vcodec copy -acodec copy output.mkv concatenate Let’s say, I want to join (concatenate) 2 video (or audio) files: part1.mkv , part2.mkv into a single file: joined.mkv . I will first create a file:…

Flock 2016

This year, Flock took place in Krakow, Poland from Aug 2 - Aug 5, 2016. I reached at Krakow on July 31, 2016. Day 0 Next day, we met other attendees who started coming down from various places. In the afternoon, we went out for a city tour, visited Oskar Schindler’s Enamel Factory , had lunch and returned back to the hotel. In the evening, we headed out to a nearby mall to have dinner with…

A typical day from my life

Today, I will be speaking about a typical, healthy and active day from my life. This is about a lifestyle I was able to attain and sustain, discovered during the course of my journey to become fit and stronger. Some time ago, I was leading a very undisciplined life, working day and night, eating whatever’s palatable, and I was getting fatter and fatter, reached up to 83 Kgs. Around 2 years…

Migrated blog to run inside a container

Today, I migrated my Ghost blog to a Docker container running on CentOS 7. The config and content data for the blog has been pushed to https://github.com/rtnpro/rtnpro.com . The setup was pretty simple. git clone https://github.com/rtnpro/rtnpro.com cd rtnpro.com # Allow sharing this directory with a Docker container sudo chcon -Rt svirt_sandbox_file_t ./ # Allow nginx access port 2368 expose from…

Storing IRC logs for Fedora Hubs

We have started working to power realtime IRC chat on Fedora Hubs pages, using Waartaa. We plan to load the Waartaa chat widget as an <iframe> inside Fedora Hubs. The user story we are looking forward to create is as follows. A user logs in to Fedora Hubs using his FAS account. He then creates a network connection to IRC and connects to the IRC server. Under the hood, it will run an ircb bot for…

Getting started with atomicapp

atomicapp is a reference implementation of the Nulecule Specification. It can be used to bootstrap container applications and to install and run them. atomicapp is designed to be run in a container context. Examples using this tool may be found in the Nulecule library . If you want to know the internals of atomicapp , how it works, etc., or contribute to it&rsquo;s development, this post is for…

ircb 0.1.1 released!

Today, ircb gets 0.1.1 release. It&rsquo;s a minor release with some bugfixes post 0.1 release: Fix handling nick AWAY command Fixes around SSL options in networks create CLI. make &ndash;ssl option of flag type make &ndash;ssl-verify option of Choice type We&rsquo;re now gearing up for our upcoming 0.2 release. Don&rsquo;t forget to check it out, if you want to be part of the action.

ircb 0.1 released!

ircb gets it&rsquo;s initial 0.1 release! ircb is a versatile IRC Bouncer, made for scale. It was born out of our sheer requirements for a better IRC bouncer when hosting the demo instance of waartaa . A bouncer that: scales to multiple hosts, to overcome connection limitations put by IRC servers on a single host accepts multiple simultaneous client connections for the same IRC connection A sane…

Atomicapp 0.3.0 released!

Atomicapp gets 0.3.0 release! A major highlight of this release is the new provider: Marathon . Apart from this, numerous other features and bug fixes and changes went into this release: A complete refactor of our OpenShift provider (API comm rather than oc command) Support for oc new-app deployment Refactor on CLI commands and options Optios such as &ndash;answers-conf can now be used anywhere on…

Started learning to play guitar

I was thinking to learn playing guitar for some time now. I tried self learning from the internet, but I was not regular and so my skills with guitar always remainded next to zero. Seems like I am not that self motivated for it, as I am in the case of coding and working out. Well, neither was I motivated to work out until I joined the gym and took personal training. That provided the external push…

A month at OSAS, Redhat

This had been lying in the draft for quite some time now, waiting to be published. Better late, than never. Well, I joined the container tools team in OSAS , Redhat on August 24, 2015. Nevertheless, I had already been contributing to the upstream projects around projectatomic prior to joining Redhat :). It was not a totally new environment at Redhat, I knew many people from the Fedora community at…

Nuleculize your Docker application

It&rsquo;s easier to explain things with an example. So, I will take up centos/postgresql docker image and nuleculize it for Docker and Kubernetes as providers. This post assumes that you have setup an Atomic environment on CentOS7/Fedora. If you have not done so, you can follow the instructions here . First , we&rsquo;ll create scaffolding for our Nulecule PostgreSQL application. mkdir -p…

Setting up Atomic on CentOS 7

This post will run you through how to setup an environment Atomic apps on CentOS 7, by hand. For quickstart, you can just run the Vagrantfile at here . Setup Install dependencies # yum install docker atomic kubernetes etcd Configure docker storage pool Assuming that you have a new volume: /dev/vdb attached to your machine, configure /etc/sysconfig/docker-storage-setup as below: # cat <<EOF >…

Fedora 22 Release Party, Bangalore

We had a Fedora 22 release party in Bangalore, on Aug 1, 2015. It took place a Hackerearth &rsquo;s office in Bangalore. We had around 9 attendees for the party along with the hosts from Hackerearth. The event started at around 10:30 AM and continued till 1:30 PM. We started with us introducing ourselves. Following the introductions, Sayan giving a brief introduction about the Fedora Project and…

FUDCON Pune, 2015

After 4 years, after 2011, FUDCon came back to Pune, again in 2015. It took place from 26th to 28th June, 2015 at MIT, Pune. Fedora Users and Developers Conference (FUDCon) is the annual conference for people interested in Fedora in any way. This year&rsquo;s FUDCon had a great line up of talks and multiple parallel tracks: Container, Openstack, Storage. I took part in FUDCon this year as a…

Fedora meetup, Bangalore, June 2015

We again met at Starbucks Coffee, Indiranagar on June 6, 2015 at 5:30 PM for our monthly Fedora meetup in Bangalore. Attendees: Ratnadeep Debnath Lalatendu Mohanty Nitish Bharadwaj Topics discussed: Openstack setup and overview Vagrant on Fedora, it&rsquo;s quirks and how we can make it more awesome Statscache demo How to start contributing to Fedora infra This meetup was one of the most fruitful…

Rootconf 2015

Last month, May 15-16, there was Rootconf in Bangalore. Rootconf is a premier conference for devops and system administrators. The highlights of this Rootconf were SaltStack , RancherOS , Project Atomic , PostgreSQL , etc. We also had Fedora presence in the conference. 3 Fedora ambassadors: Aditya Patawari, Praveen Kumar and myself were present at the event. We distributed Fedora 21 workstation…

Fedora meetup, Bangalore, May 2015

We again met at Starbucks Coffee, Indiranagar on May 2, 2015 at 6 PM for our monthly Fedora meetup in Bangalore. Like the meetup in the month of April, there were only 2 attendees: myself and Sayan Chowdhury. Well, we are used to such things and were not disheartened. As decided over the mailing list, we discussed on the hot topics from in the Fedora Cloud ecosystem: Project Atomic Docker…

Started working at Idea Device

This month, i.e., April, 2015, I started working for Idea Device Technologies as a Member of Technical Staff. I will be mostly working on backend stuffs here and help build scalable tools for infrastructure automation. Idea Device is mostly a Python shop using Pyramid, gevent, etc. to the fullest apart from other awesome technologies. However, its not just the tech stack that got me attracted…

Meeting reminders in fedocal

fedocal 0.13 release makes it possible for anyone to download iCal file for a meeting and brings support for client side notifications. You can do this in the following ways: Click on a meeting in fedocal In the meeting modal/page, click on the iCal export link to download iCal file for that particular meeting. You can also export iCal file for the meeting with reminder info in by checking the…

Fedora meetup, Bangalore, March 2015

We resumed our monthly meetups in Bangalore on the March 7, 2015. We&rsquo;ve now decided to hold Fedora meetup in Bangalore on the 1st Saturday of every month. Here&rsquo;s link to our event on Fedora Calendar: https://apps.fedoraproject.org/calendar/meeting/2036/ . We met at Starbucks Coffee, Indiranagar . at 6 PM. It was good place to chat and had free wifi internet too. We were 4 people. We…

Moving to Ghost

Migrated blog from nikola static site generator to ghost.

Fedora 21 release party, Bangalore

Last Saturday, on Jan 10, 2015, we had a Fedora 21 release party in Bangalore. It was held in the premises of Red Hat, Bangalore with the help and support of Archit and Humble, who are working at Red Hat, Bangalore. Registration for the event started from around 9:30 AM and slowly people started dropping in. Over 40 people had turned up for the event. We started the event at around 10:30 AM with…

Fedora meetup, Bangalore

Today, we had a Fedora meetup in Bangalore, at HackerEarth &rsquo;s office. Although, there were only 4 attendees including ourselves: myself, Sayan, Ashwin and Puneet, we made the most out of the meetup. The meetup lasted from morning 11 AM to around 3 PM. Following is a summary of our activities during the meetup: Discussed about the upcoming Fedora 21 release Planning for a release party for…

Waartaa stats

try.waartaa.com has been live since January, 2014. We have got quite some signups and some folks actively using Waartaa. Thanks to our code level optimizations, which has led to storage complexity for channel chat logs dependent only number of unique channels being listened to. We&rsquo;re also able to achieve good real time performace in our demo instance with ever growing chat logs. It&rsquo;s…

Flock 2014

It was great that our proposal to speak on Waartaa at Flock, 2014 was accepted. So, I, along with Sayan went to Prague, Czech Republic last week to attend Flock. Flock was a 4 day event packed with loads of talk and workshops. It was like living in a dream at Flock. I was able to meet so many great people from the Fedora and Open Source community. Day 1

Say hello to Waartaa

Waartaa is an Open Source communication and collaboration tool build on top of IRC

Mozilla Summit 2013

I have been contributing to Mozilla for some time now and so, I got the opportunity to attend Mozilla Summit 2013 at Santa Clara. Contributors from all around the globe turned up to attend the Summit which was going in parallel in 3 places: Santa Clara, Brussels and Toronto. Finally, I met Mathjazz at the Summit. We had been working for a long time on Pontoon and were communicating over the…

Time flies by

Well, it&rsquo;s been quite some time since I last blogged. There have been a lot of things happening at my end and amidst this I totally dropped the ball on updating my posts. As it is said, it&rsquo;s better late than never. Let me summarize what happened over the past couple of months. Good bye Transifex, hello Goibibo I quit #Transifex last January (2013) and joined Goibibo . Goibibo is one of…

#Django #TransactionTestCase with REUSE_DB=1 of #django-nose

Lately, I found out that Django’s TransactionTestCase leaves test data in database after the test case is executed. It’s not until the next execution of _pre_setup method of a TransactionTestCase instance that the database is flushed. This is troublesome when tests are run with Django Nose’s test runner with REUSE_DB =1. An easy fix to this is to customize the TransactionTestCase so that it…

My talk got selected for #Pycon India 2012

My proposed talk titled Develop for an international audience got selected for Pycon India, 2012. It’s time to start working on the slides. I am thinking to use rst to write my slides. Also, I have booked by flight tickets for Pycon Thanks everyone who voted for my talk.

Validate Python string translation in Transifex

Transifex already supported validating translations of old styled Python strings, e.g., [sourcecode language=”python”] &ldquo;A sample string with a %(keyword)s argument.&rdquo; % {‘keyword&rsquo;: ‘key word’} [/sourcecode] The validation is done by checking if all the positional and keyword arguments are present in the translation string and the translation string does not contain any extra…

A year at Transifex

It’s more than a year now that I have been working at Transifex. It’s a great experience to be a part of the Transifex team. Well, it’s been a roller coaster ride for me at Transifex. I had to go through steep learning curves, work with new stuffs, deliver great features, meet strict deadlines. It was fun, because of being part of an awesome team. I am very much thankful to Apostolis,…

App specific logging in Transifex

Yesterday, I was working on adding app specific loggers in Transifex. By app specific logger I mean a logger which shows the app name which generated the log. As of now, the logs in Transifex look something like this: [sourcecode language=”python”] 2012-06-29 13:01:43,300 tx DEBUG Saved: Project Avant Window Navigator 2012-06-29 13:01:43,312 tx DEBUG Saved: Project Switchdesk 2012-06-29…

FUDCON KL Day 3

The 3rd day of FUDCON KL started a bit sluggishly for me. May be because of brainstorming and hacking till late night. We (Kushal, Soumya and me) decided to work on a new app to display system logs in a user friendly manner. We named the application Tower log tower , in short, tlogt , after Twin towers of Kuala Lumpur During the first few hours of the day, we went to visit some tourist spots in…