guides

Get the latest release tag from a Github repository

Sometimes I needed to programmatically get the tag name of the latest release from a GitHub repository. It’s often useful for automating tasks through scripts or for creating installer CLIs. The GitHub public API provides this information, so you’ll get it using your shell. Define the repository in the REPO environment variable. This way it will be easier for you to try other repositories later. REPO='kubernetes/kubernetes' Now use curl to issue a request to the GitHub REST API.

Local Kubernetes for devs

These days I’m learning how to develop Kubernetes operators in Go. Although I had developed programs in Go before, I never did that to extend Kubernetes. For this, a running cluster is required. So, I needed a Kubernetes cluster. The best option for this was to create a local one. Using a local Kubernetes cluster as development environment saves costs and reduces workload and time. Fortunately I have experience managing single node clusters with different distros.

Minikube installation in Ubuntu

Minikube is a tool to run Kubernetes locally as a single-node cluster, which is very useful for learning and developing. A regular Kubernetes installation needs at least three hosts. The first one will be the Kubernetes Master, the cluster manager. The rest will be Kubernetes Nodes, which are responsible for running the workloads. Installing kubectl There is a tool called kubectl for managing Kubernetes clusters. We will install it before, and Minikube installation process will configure it correctly.

Install Alfa AWUS036ACH on Ubuntu 18.04

Alfa AWUS036ACH is an external WiFi adapter with a USB 3.0 interface. Its most remarkable features are the high power it has and its ability to inject packets. It’s a great device for security tests on wireless networks. I wonder if this device has out of the box support with package injection in the latest kernels, but on Ubuntu 18.04 it’s necessary to install the driver, as it is not recognized by default.

Install multiple versions of Golang on Ubuntu

The Go language, better known as Golang, is a programming language that’s gaining a lot of popularity lately. My friend Brayan Bautista showed me his interest in this language, which ignited my curiosity. As well-known innovative projects such as Docker or Kubernetes use this language, I felt it would be useful for developing my career in DevOps engineering. That’s one of the reasons why I use Hugo for this blog.

Undo last Git commit

Have you ever made changes that you regretted? Git relies heavily on its history, and you may feel that your latest commit only contributes to creating a big mess in it for the other developers of the project. If you already did a commit and now you want to delete it, don’t worry, there is a solution for that. You can remove the last commit from the git history with the command below:

DockerEE installation in CentOS 8

DockerEE is Docker’s official container platform to build and share any application seamlessly and with high-velocity being capable to use both Docker Swarm and Kubernetes as orchestrators. As it’s an enterprise-grade platform, it includes high automation, authorization, high availability, and security features. DockerEE includes the three solutions in the table below: Component Description DockerEE Docker enterprise engine including Docker Swarm and Kubernetes Docker UCP Universal Control Plane: The cluster management solution DTR Docker Trusted Registry: The image storage solution In this post, we will learn how to install all the components of DockerEE in a single virtual host for testing purposes.

Chef client bootstrapping lab

Seems that I’ll work with Chef soon, so it’s time to review some lessons about it. After browsing the web for a while, I found that using Virtualbox to virtualize infrastructure and Vagrant to manage it as code is the easiest and fastest way to provision new lab environments for Chef. The first step to start working is to create a baseline, a minimal workaround built with one server host and two nodes.

Replacing author for multiple Git commits

Some time ago I was taking the course Master Microservices with Spring Boot and Spring Cloud but I had to leave it because these days I was getting very busy. Yesterday, after three months, I returned back and after pushing changes to GitLab repo, I noticed that changes were made with my GitHub email address instead of using the GitLab one. Last commit could be easily changed with the command below: