This was an odd one, but luckily fairly straightforward to fix. It is one of those problems I’ve fixed multiple times but never wrote down the solution for next time I run into it.


I am trying to using single quotes setting in Prettier, however, the formatted keeps double quotes. What the heck is going on?!

I have created the file with this single setting:

"singleQuote": true

When I format the documents (.tsx files) Prettier runs without issues. …

I was playing with EnvoyFilters in Istio and ran into this error:

ADS:LDS: ACK ERROR router~ Internal:Error adding/updating listener(s) The v2 xDS major version is deprecated and disabled by default. Support for v2 will be removed from Envoy at the start of Q1 2021. You may make use of v2 in Q4 2020 by following the advice in (envoy.config.filter.http.lua.v2.Lua)

Not being too proficient with EnvoyFilters, the URL in the error didn’t help me much. …

Photo by Jason Leung on Unsplash

If you’re using TypeScript you might have run into this error before. The second part of the error says:

Try `npm install @types/XYZ` if it exists or add a new declaration (.d.ts) file containing `declare module 'XYZ';

If XYZ is a direct dependency of your project, you can follow the instructions from the error message and run .

Sometimes the types might not be available and the command fails. In that case, you can use the second option and declare the module.

Here’s how I usually do that.

  1. Create a folder called
  2. Create a file…

Photo by Bertrand Borie on Unsplash

I wanted to share one quick tip on how you can quarantine your Kubernetes pods.

You would use this if you want to investigate the containers within a pod, but you don’t want them to be part of the Kubernetes Service. You don’t want to debug something while the traffic might still be flowing to that container.

How to do it?

A way to quarantine or remove a pod from the ReplicaSet is by updating the labels on that pod. Once you do that the ReplicaSet will not be in control of that pod anymore.

Let’s look at a quick…

Photo by William Bout on Unsplash

Have you heard of gateways, proxies (forward and reverse), load balancers, API gateways? You probably did, and even if you haven’t you might have heard of products such as nginx, HAProxy, Envoy, Traefik, Gloo, Kong, Ambassador, and many others. You are probably using gateways each time without even knowing it.

A gateway usually lives between clients and backing applications or services. Gateways’ job is to proxy or “negotiate” the communication between the client and the server. Imagine walking into a mall through the main entrance. As you walk in you probably run into one of these things:

For those not familiar with Gumroad, it is an online platform creators can use to sell their products. As a creator, you can sign up and create products you want to sell. You can pick from a couple of pre-defined templates to customize your page or just use custom CSS. I know CSS can be daunting to people who have never used it. To be honest, it also doesn’t make sense for someone to learn CSS and figure out which classes to customize and how to do it. As a creator, you want to spend your time on creating your…

CAP theorem or Brewers theorem (named after computer scientist Eric Brewer) often gets mentioned in combination with distributed systems.

The theorem states that it is impossible for a distributed system to have more than two of the following three properties:

  • Consistency
  • High Availability
  • Partition tolerance

Distributed system is a collection of computers that are connected through a network and appear as a single computer.

What is consistency?

We have a cluster of four computers that are connected to each other and two operations that we can the cluster understands: and . …

I was working on a CI (continuous integration) portion for a project that lives in a mono-repo and hosts multiple, independently deployable services. Each service in the repository is versioned separately. There is a file with the version number inside each service folder. However, the application itself is currently deployed as a monolith - a single, versioned Helm chart with sub-charts for each of the services. Theoretically, we are in the spot where we could be deploying all these services separately by replacing one helm install/upgrade command with a Helm command for each service.

Here’s how the project structure…

The fallacies of distributed computing or distributed systems are a collection of eight statements made by L. Peter Deutsch and others at Sun Microsystems about false assumptions people new to developing distributed applications make. Here’s the list of 8 fallacies of distributed systems:

  1. Network is reliable
  2. Latency is zero
  3. Infinite bandwidth
  4. Network is secure
  5. Topology does not change
  6. There is one administrator
  7. Transport cost is zero
  8. Network is homogeneous

I’ll go through each one of them and explain them in more detail.

1. Network is reliable

If you compare how networks used to be ten or twenty years ago, you could say that networks…

Photo by Adrien Converse on Unsplash

Originally posted at Learn Istio Blog

For a while, when installing Istio, questions like “How do I include Grafana?” or “How to enable mTLS?” would pop-up and the answers to those questions was a specific variable you had to set when installing the Istio Helm chart, or setting the value, then rendering the template and install it. There is a plethora of settings, levers, and buttons that can be pushed, pulled or configured. Luckily, Istio has a couple of built-in configuration profiles you can use to install it, so that makes it a bit better.

SuperGloo is an open source…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store