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,…
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…
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…
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…
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…
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…
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…
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.
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…
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 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…
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…
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…
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:…
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…
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…
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…
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…
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’s development, this post is for…
Today, ircb gets 0.1.1 release. It’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 –ssl option of flag type make –ssl-verify option of Choice type We’re now gearing up for our upcoming 0.2 release. Don’t forget to check it out, if you want to be part of the action.
ircb gets it’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 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 –answers-conf can now be used anywhere on…
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…
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…
It’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’ll create scaffolding for our Nulecule PostgreSQL application. mkdir -p…
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 >…
We had a Fedora 22 release party in Bangalore, on Aug 1, 2015. It took place a Hackerearth ’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…
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’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…
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’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…
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…
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…
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…
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…
We resumed our monthly meetups in Bangalore on the March 7, 2015. We’ve now decided to hold Fedora meetup in Bangalore on the 1st Saturday of every month. Here’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…
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…
Today, we had a Fedora meetup in Bangalore, at HackerEarth ’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…
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’re also able to achieve good real time performace in our demo instance with ever growing chat logs. It’s…
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
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…
Well, it’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’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…
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 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.
Transifex already supported validating translations of old styled Python strings, e.g., [sourcecode language=”python”] “A sample string with a %(keyword)s argument.” % {‘keyword’: ‘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…
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,…
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…
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…