Best Zsh Syntax Highlighting

Today, let’s embark on an exciting journey into the realm of Zsh syntax highlighting – a fantastic way to jazz up your terminal experience and boost your productivity. If you’re a techy roaming around the world of containers, Kubernetes, and the cloud, you’re in for a treat! So, grab your favorite cup of coffee ☕️, and let’s explore the best Zsh syntax highlighting features that can make your command-line interface (CLI) a joy to work with.

In one of my previous posts How to Use Aliases in Zsh to Boost Your Productivity and 2023 – Oh My Zsh Plugins: the Best Way to Enhance Your Z Shell – I dove into some of the most common questions and plugins.

Understanding Zsh Syntax Highlighting

credit to ohmyz.sh

Zsh, short for Z Shell, is a powerful command interpreter for Unix-based systems. It’s highly extensible, and one of its coolest features is syntax highlighting. This nifty feature colorizes your commands, making it easier to read and understand complex statements. It’s like having a personal coding assistant right in your terminal!

Read More

Revolutionizing Kubernetes: Introducing Kubehelper, Your AI Sidekick!

Are you tired of the endless Google searches, scouring through pages just to find that elusive Kubernetes AI solution buried in the depths of the internet?

Have you ever wished for a reliable companion in your tech journey, someone who understands Kubernetes like the back of their hand? Well, your wish just came true! We are thrilled to introduce Kubehelper – your ultimate tech sidekick who’s here to revolutionize your Kubernetes experience.

Unraveling the Magic of Kubehelper

Kubehelper is not just another tool; it’s a game-changer. We’ve been burning the midnight oil, crafting a solution that simplifies your Kubernetes challenges, and putting an end to those frustrating forum hunts and late-night coding marathons. So, what sets Kubehelper apart from the rest? Let’s dive right in:

Read More
From Code to Cloud in Seconds: How to Quickly Release App Updates on AWS App Runner

From Code to Cloud in Seconds: How to Quickly Release App Updates on AWS App Runner

If you’re seeking a faster and more efficient way to release app updates, AWS App Runner is the secret weapon you’ve been missing. In this blog post, we’ll dive into the seamless process of leveraging AWS App Runner and Docker to achieve rapid deployment and ensure your app is always up to date.

If you haven’t heard about AWS App Runner, you can learn more about it in my recent blog post.

Selecting a Source

When setting up your new App Runner service, it’s crucial to choose the right repository type.

Although App Runner supports pulling images from Amazon Elastic Container Registry, it currently doesn’t integrate with Dockerhub, GitHub Registry, or GitLab Container Registry.

However, if you prefer deploying directly from a source code repository, you can easily utilize public and private GitHub repositories by installing the AWS Connector for GitHub app.

With this app in place, you can select the relevant repository and branch for deployment.

Read More

Getting CKA Certified

This post is several months overdue, I actually got my CKA in September 2019. As you may have heard, Kubernetes is everywhere and will sooner or later take over the world.

I’ve been working with Kubernetes and containerized workloads since July 2017 and it has been a blast. Back in 2017, it was fun to talk to customers who were told to containerize their workloads but didn’t really know how to fully operationalize containers, forget monitoring or securing such workloads. Initially, I got my hands dirty with Docker Swarm and eventually learned to use Kubernetes and some of it’s modified versions, such as RedHat OpenShift.

When I joined Sysdig in October of 2018, I started out as Principal Technical Account Manager before I took over Professional Services. Our Professional Services team is made up of experienced and highly technical Cloud Engineers/Architects, who know there way around Kubernetes pretty damn well. As I started working with them, I realized I knew a lot about Kubernetes but not nearly as much as they did. I do believe to truly bring change to an organization, you first have to fully understand the in and outs of the people you’ll lead. With me being fairly technical, I thought: “What better way to understand what these folks do on a daily basis, than shadowing them and eventually try to replicate their work in a lab environment.”

Sure enough, I spend several months deploying Kubernetes, breaking it and re-deploying. Eventually, I learned the patterns in which Kubernetes breaks and how to troubleshoot it rather quickly, without lengthy Google searches.

I purchased the exam on September 1st 2019 and took the exam on September 3rd 2019. I was confident that it cannot be as hard as people described on the many blogs out there. A couple of hours after taking the exam, I received an email stating that I failed by reaching 72% out of 74% – required to pass. Seriously…2%…

The next day, I rescheduled the exam for September 9th and doubled down on the questions I previously could not answer. Obviously, I did pass on the second try.

Lastly, here are some common questions I’ve received from friends and coworkers.

Why should I get CKA certified?

As I mentioned at the beginning, Kubernetes is taking over the world and became the orchestrator of choice for many. I believe the number of people who are CKA certified is still limited but it’s increasing steadily. I believe achieving the CKA certification, still helps you to stand out of the crowd. However, this will surely change over the next 9-18 months.

What was your exam experience?

This exam was a bit weird because someone is actually watching your screen and webcam while you take the exam from your own computer at home. Overall, it worked well and I didn’t have any technical difficulties and like the fact that you can take the exam from home. Another interest aspect of the exam was that it’s very very hands-on.

How did you prepare for the exam?

I highly recommend Cloud Native Certified Kubernetes Administrator (CKA) course from Linux Academy. It was well done and covered pretty much everything which was part of the test.

Additionally, my #1 tip would be to familiarize yourself with the Kubernetes docs and how to successfully find things. Why? Because you can use the docs during the exam and if you know to search for things, it will greatly speed up the time it takes to find answers. I used the docs probably for 2-3 exercises and was able to quickly find the solutions.

Any tips for passing the exam?

Be creative! Remember your Kubernetes commands. Don’t try to write all the yamls from scratch, instead, remember the -o yaml option in kubectl. It will save you a lot of time and avoids syntax errors.

Running Usenet Stack as Docker Containers

In Running Usenet Stack on Kubernetes, I covered how to deploy a Usenet stack onto Kubernetes.

Image result for docker container

As it turned out, Kubernetes has won the race as the orchestrator of choice but not everyone is running it in their home lab just yet. I received multiple requests how to translate my YAML files into Docker run commands.

This image has an empty alt attribute; its file name is text256.png

sudo docker run -d –name=radarr -e PUID=1000 -e PGID=1000 -e TZ=America/New_York -p 7878:7878 -v change_me:/config -v change_me:/movies -v change_me:/downloads –restart unless-stopped linuxserver/radarr

The above command will launch a docker container from the linuxserver/radarr image and publish the application on port 7878.
Before you just run the above command, please make sure to change following paths:

/config
stores the configuration files

/movies
location of the downloaded movies after it has been moved from the /downloads folder

/downloads
download folder where your NZBGet or SABnzbd app will store the downloads

sudo docker run -d –name=sonarr -e PUID=1000 -e PGID=1000 -e TZ=America/New_York -p 8989:8989 -v change_me:/config -v change_me:/tv -v change_me:/downloads –restart unless-stopped linuxserver/sonarr

This is basically doing the same as the container for Radarr, except this application will be launched on port 8989. As with Radarr, Sonarr all needs some paths updated before launching the above command:

/config
stores the configuration files

/tv
location of the downloaded tv shows after they have been moved from the /downloads folder

/downloads
download folder where your NZBGet or SABnzbd app will store the downloads

Image result for nzbget

sudo docker run -d –name=nzbget -e PUID=1000 -e PGID=1000 -e TZ=America/New_York -p 6789:6789 -v change_me:/config -v change_me:/downloads –restart unless-stopped linuxserver/nzbget

In my other post, I covered SABnzbd but I’ve recently chosen to go with NZBGet on Docker as it has been more reliant in my lab. NZBGet’s default port is 6789 and if you don’t have a good reason, I would just keep it on the default port. NZBGet has one configuration less than Sonarr and Radarr:

/config
stores the configuration files

/downloads
download folder where your NZBGet is going to store all downloads. This folder needs to be accessible by Sonarr and Radarr.