I was very fortunate to qualify for the GitLab CEO Shadow program after there was a last minute slot opening. In this program I followed Sid through his daily work routine (and some of his personal ventures).

I got to see the inner workings of GitLab, as well as attend meetings with a variety of different Silicon Valley CEOs. Just having a program like this shows how transparent GitLab is.

Image for post
Image for post
Ty Fujimura and Sid speak about creating a sense of ownership while working remote

In this post, I’m going to go over 4 things I’ve learned after completing the program.

How to make and communicate key decisions

As a CEO shadow I was able to attend board meetings. These board meeting really showed me how key decisions are made using data and how they are communicated out to the employees. …


According to the United States Department of Labor, close to 5-million Americans are currently working in retail. During College, I worked at a Retail Office Supply Store and have many stories.

Image for post
Image for post
Photo by Anna Dziubinska on Unsplash

A lot of these stories come from my memory of working in retail over 10 years ago. There were many scenarios which involved customers, which found creative ways of stealing from the store.

What lies within the storage cabinets

It was a typical day, nothing out of the ordinary going on. Everyone wanted to get out early(as usual). We went ahead and quickly organized the store. …


Better nginx with Kubernetes

Image for post
Image for post
Photo by ian dooley on Unsplash

There are a lot of blogs and articles on using ingress-nginx, but I’ve noticed that there’s not many on actually developing features for the Kubernetes ingress controller.

I was a speaker at KubeCon Europe back in 2018 and presented on this very topic, and I want to make it easy for anyone to get started.

Shows how to create an annotation and configmap change for ingress-nginx

This guide will provide you with an in-depth explanation of creating an ingress-nginx annotation, as well as tips on how to contribute it back to the Kubernetes community.

Prerequisites

  • Knowledge of GoLang
  • Knowledge of GoLang…


Covid-19 has made times very hard for all of us, but there are ways of making it a little easier.

It’s Groundhog day, but not the one will Bill Murray, not even Palm Springs, a recent adaptation, but rather the one in Supernatural, which was noted by Jared Padalecki(Sam) as the worst episode to film.

Image for post
Image for post
Photo by Niklas Tidbury on Unsplash

One of the best ways to maintain mental health is to set and accomplish goals and have things to look forward to in the future.

At the end we will come out stronger, than ever. It’s a tough situation, and these situations will build our character and allow us to become a better version of ourselves. We just need to spend this time wisely and take advantage of the opportunity. …


With Deployments getting bigger and bigger, networking issues are becoming harder and harder to troubleshoot.

This guide will provide basic information on debugging access to your application via the ingress controller using the ingress-nginx kubectl plugin.

Image for post
Image for post
Photo by Boris Smokrovic on Unsplash

As of Kubernetes 1.12, custom plugins can be written for kubectl. The Ingress Community, specifically alexkursell has done a great job at creating a plugin to help us easily debug ingress issues.

In this tutorial, we will use minikube, but all the troubleshooting examples can be performed on any Kubernetes Cluster(1.12+) with an ingress-nginx deployment(0.23.0+).

Requirements

In order to get started using this guide, the following must be…


Golang provides the package text/template for generating textual output from an object. It is used in many popular OpenSource projects like Kubernetes Ingress-NGIX and Hugo.

It allows us to avoid doing extra work when generating similar forms. We only change/process just what we need.

I will go over a few of the things I’ve learned while using it.

Image for post
Image for post
“person holding four photos” by Josh Hild on Unsplash

I have created some executable examples which can be seen here. Each example is built off of the previous. I will be going over the following topics:

  • Creating a Template from a Golang Object
  • Creating a Template Function
  • Creating a Sub-Template

The examples will consist…


The Kubernetes Ingress-Nginx controller allows us to enable ModSecurity, an OpenSource Web Application Firewall. In this post I will go over how to use and configure ModSecurity with Ingress-Nginx.

Image for post
Image for post
“Marshmello walking down the side of the road with camera on the top of the building” by arvin febry on Unsplash

What is ModSecurity

ModSecurity is a web application firewall which is used to protect your web application from a variety of attacks.

In Ingress-NGINX you will be able to ModSecurity in a variety of ways:

  • Default Configuration
  • OWASP Core Rule Set
  • Snippet

Default Configuration

When enabling ModSecurity without the OWASP Core Rule Set or a Snippet, a Default Configuration from ModSecurity is used. It runs only in “Detection Only Mode” and is non-disruptive to your applications.

Usually you would run in “Detection Only Mode” for some time and review all the events generated by ModSecurity. …


I was recently adding e2e test cases to Kubernetes Ingress-Nginx when I realized that there aren’t too many resources out there to show how to properly configure and test Mutual(Client Certificate) Authentication.

I’m writing this post to show you how easy it is to get it done!

Image for post
Image for post
“two man doing shake hands” by rawpixel on Unsplash

What is Mutual Authentication?

Mutual authentication is also known as 2-way authentication. It is a process in which both the client and server verify each others identity via a Certificate Authority. CodeProject.com has a great definition for Mutual Authentication:

Mutual SSL authentication or certificate based mutual authentication refers to two parties authenticating each other through verifying the provided digital certificate so that both parties are assured of the others’ identity. …


Most of us working in Software Development have experienced “The Good, the Bad, and the Ugly”. I’m here to talk about the Ugly.

Image for post
Image for post
Sponge Bob wasn’t Ugly, he just had bad breath. Post from the-rad-grunge-queen tumblr

Throwing people at the problem

I have seen times where a deadline needs to be met. Usually in professions like Construction, Manufacturing, and the like, adding more people to a project gets it done faster. This is not the case for Software Development.

Hiring new members to the team that are not experienced with the architecture of the project, nor it’s complexities, will need time to ramp up. …


I have been working on Kubernetes Ingress-Nginx for some time now, and I’ve noticed that there aren’t many tutorials that go over the very basics. I hope that this post will help out those which are new to Kubernetes and getting started deploying their applications.

What is an Ingress? It is a door, a way into your application.

Image for post
Image for post
“yellow 8-panel door beside window” by Jünior Rodríguez on Unsplash

How does Ingress work in Kubernetes? In Kubernetes, Ingress works by configuring rules for accessing your applications.

There are 4 items which we will be looking at, Pods, Services, Ingress Resources, and the Ingress Controller. …

About

Fernando Diaz

Technical Marketing @ GitLab 🦊, Developer at home, Keeping ATX Weird 😜

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