And how to set it up in minikube

Rubic’s cube floating against a black background
Rubic’s cube floating against a black background
Photo by Michelen Studios on Unsplash

Why Do We Need Ingress?

Some pods will require user input of some kind to interact with the running container.

CQRS (Command Query Responsibility Segregation) is a software pattern, which in its simplest form, looks at segregating Commands from Queries.

Photo by kimi lee on Unsplash

What are the benefits of CQRS?

Scaling and Optimisations

It is possible to scale resources independently. An example of this may be you have a 20%, 80% split for commands, to queries. Using CQRS means you can have a smallish instance…

What is a semantic version?

Software versioning has always been an issue ever since software has been created. Semantic versioning is a universal way of versioning some software or a development project where multiple versions of the software exist, or plan to exist.

  • a is the major version
  • b is the minor version
  • c is a patch

In a real scenario it would look something like:

  • 1.0.0
  • 1.0.4-snapshot
  • 0.1.7752


In this article, I will be working with the following software, it makes sense to have these pre-installed before continuing.

  • minikube - minikube is local Kubernetes, focusing on making it easy to learn and develop for Kubernetes
  • kubectl - The Kubernetes command-line tool, kubectl, allows you to run commands against Kubernetes clusters.
  • k9s - K9s provides a terminal UI to interact with your Kubernetes clusters.
  • helm - helm Charts help you define, install, and upgrade even the most complex Kubernetes configurations

You can install all by using brew if on OSX, or check out the website for detailed installation instructions.

Creating a Namespace

Photo by frank mckenna on Unsplash

When working with kubernetes, it is sometimes useful to spin up a container within a cluster to just test something quickly.

What is AWS Client VPN?

AWS Client VPN is a managed client-based VPN service that enables you to securely access your AWS resources and resources in your on-premises network. With Client VPN, you can access your resources from any location using an OpenVPN-based VPN client.

Mutual authentication — generating certs

With mutual authentication, Client VPN uses certificates to perform authentication between the client and the server.

In my case, I generated the following files:

GitOps is a broad term, which generally describes some processes used when deploying cloud-native applications.

I’ve recently had to work on services that require to be installed on Windows, and because of this, using a container was out of the question.

I had an underutilized raspberry pi, running raspian headless.

SSH tunneling is something I have to do all the time, yet its something that never seems to stick in my brain.

Photo by Jordan Harrison on Unsplash

I have created a guide (with examples) to quickly and easily demystify SSH tunneling and get you going.

Before we start — SSH Config

Use ssh config to save your connections, to save having to go through your bash history to find the command you used last week that worked.

Craig Godden-Payne

Technologist who enjoys writing and working with software and infra. I write up all the things I learn as I go along to share the knowledge!

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