If you are writing your express js API, you might get in a situation where your number of routes is growing, and it’s getting harder to communicate your routes and their inputs and outputs within your team or outside your team, be that publicly or privately.

One of the common options for addressing this is to document your API with a standard like swagger or open API docs. Although this does work to produce nice standardised docs, your team will have to manage, and there is a chance that the documentation can drift from the actual API you are deploying.

This article will cover how you can easily set up a local or externally accessible Docker registry for hosting your own built Docker images.

I have recently gone from running the most minimal HTTP version of the registry on my machine to support my local docker image development workflows to running my own private docker registry available to private and public hosts with access control. …

I recently had a requirement to produce some code that can generate encrypted PEM encoded RSA key pairs that can be used for snowflake key pair authentication for service accounts. I didn’t find a lot of clear documentation on what the best practice was to do this in a python environment, so ill share what I came up with that allows you to produce an RSA key pair with the following properties:

- It is a PEM encoded format for both public and private keys

- PEM encoded Private key is encrypted with a password for further security and to…

You may have lots of reasons for what you run your lab but there is an always growing list of new things to try in your homelab or server. Check out this quick list of 10 apps that you can try out and see if you can get some new functionality for free through self-hosting.


This article was originally posted on my blog code punnet.

Getting a software dev internship can be a daunting process but there are a few things that you could be doing to make the process a little easier. I had to complete a year’s worth of internships to complete the professional engineering portion of my software engineering degree. I initially found this process to be a challenge but with a few tweaks and learnings along the way, I think I made the process a little easier for myself. …

This article was originally posted on my blog code punnet.

I’ve been using proxmox for a while now in my homelab as an open-source alternative for a virtualization platform like ESXi. One useful feature in proxmox is the templates which allows us to create a LXC or VM templates that can then be cloned as a starting off point for new proxmox resources. …

This article was originally posted on my blog code punnet.

Often when writing ansible playbooks you might find yourself needing to perform some text transformation. When doing simple things like direct data type conversion or running an algorithm against the string this can usually be easily performed by the built in Jinja2 filters in ansible.

# For human readable output, you can use:
as_json: "{{ some_variable | to_nice_json }}"
as_yaml: "{{ some_variable | to_nice_yaml }}"
# Get the min and max of lists
min_num: "{{ [3, 4, 2] | min }}"
max_num: "{{ [3, 4, 2] | max }}"

This article was originally posted on my blog code punnet.

Let’s say you have a super sweet CLI app that you built or support but your not happy with the installation or onboarding process for new devs and you would like a simpler alternative to get people up and running with your CLI faster. If this is you docker might be a nice addition to your tooling to get you up and running faster and reliably.

For the dockerfile examples below I will be using the mhulse/node-boilerplate-cli repo and dockerizing the CLI. …

This article was originally posted on my blog code punnet.

When we build applications we like to make sure that they work. To assure this we would write our normal unit, stub and integration tests. However, one thing that isn’t usually being tested in these suits is the accessibility of our web applications.

In comes axe-core which as been developed by deque systems. I’ll briefly outline how we can easily configure and use axe for our needs and how it can be integrated into your current tooling so we can start finding (and fixing!) …

Aaron Berry

Im a software engineer working in the data and dev-ops space

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