Welcome to this week's Insiders Update! Insiders gain exclusive access to early previews, tutorials, updates, news, and events on my OSS work.
✅ Subscribe today and pay whatever you want 👉 through GitHub Sponsors
One of my earliest successful open source projects was called "faas". faas brought functions to Docker Swarm and it was presented at Dockercon's Cool Hacks Contest in 2017. "faas" is now OpenFaaS and has first-class support for Kubernetes.
For this week, I've prepared a short 5 min video for you on how to introduce cool open-source tech, tools and approaches to your every-day job through inner-source and a collaborative leadership approach.
One of my first open source projects was back in 2005 where I lead a team to create a Cluedo game at University. I didn't really understand how to use source-control back then so I used to upload a zip file from time to time. It's actually still on SourceForge and people who find it all these years later still ask for support! Fortunately it does actually work and was written with Java. My highlights were: the networking and AI layer along with some custom XML serialization - good ole' toString()
.
In the video today I share my thoughts and some experiences on how and when to use cool new tech at work. I had some success introducing it, and the lessons learned there have helped me to build open source communities since.
One of my first community projects was called xservedbyfinder and the idea was to use HTTP requests to find all the different load-balancers serving a webpage. I created the GitHub repo as a contest and then invited my colleagues from the ADP developer community to submit their solution. Some contributions came from the public too. The idea for doing a contest and accepting solutions in different languages came from an extracurricular activity from my university days. We would get together in groups and practice coding challenges. Think of a Silicon Valley coding interview, then x10 it and build a team activity around it. https://challenge.icpc.global/compete/challenge
I hope you'll enjoy the video and find it useful. Do reply on the email if you have a story to share or if you feel inspired to apply this at work.
Watch the short video now:
Projects I mentioned:
- Selenium - for e2e and UI testing in browsers
- JaaS project - one-shot tasks with Docker
- xservedbyfinder - one of my first community projects
- Cluedo game - from 2005 with a map editor and sound effects. Written in Java
You can use the form on this page to apply for a trial for the OIDC auth module for OpenFaaS.
Once in place, it enables login and access to the OpenFaaS REST API via OAuth2 - for example: Azure AD, Auth0 and GitLab.
See also: OIDC plugin
When installing OpenFaaS for Kubernetes using helm or arkade, you can now turn on instrumentation through the NATS Prometheus metric exporter.
arkade install openfaas \
--set nats.metrics.enabled=true
You can also add this value a values.yaml file:
nats:
metrics:
enabled: true
Unfortunately this is not going to work for arm users since the Synadia team do not build a multi-arch image this time. You may be able to recompile your own image though, and then you can pass --set nats.monitoring.image=repo/customimage:tag
.
The patch was sent by Matthias Hanel of Synadia, the team behind NATS. There is also no planned support for Docker Swarm or faasd at this time.
Have you ever wondered how to write e2e tests for your distributed systems project? Many of us can get caught by analysis paralysis and worrying about how to start and if the solution is correct.
For the faasd project, simply adding a Makefile and a series of bash steps was enough to catch regression issues.
For the larger OpenFaaS project we have the certifier which recently received a revamp from Lucas Roesler from the Core Team. The code is run against the Docker Swarm controller and the two Kubernetes controllers with every commit.
Contributions are welcome and I hope that the approach could be useful to your own work or OSS project.
Browse the code: openfaas/certifier
You may also like my post on books for learning Golang and unit testing.
You can use inlets PRO to run a local Docker registry for your containers, with TLS enabled. To run OpenFaaS and to expose your functions to the Internet, or to just have a fully functional IngressController with LetsEncrypt. Many of the personal licenses are purchased by folks running a Raspberry Pi Kubernetes cluster.
I've also seen customer interest recently in port-forwarding SSH from customer, edge and IoT devices. This is made possible through the use of TCP, where the regular open-source inlets version is limited to HTTP.
Add yourself to the ADOPTERS file - show your support, if you use inlets in some capacity. Add yourself or your team to the ADOPTERS file.
- inlets-operator 0.8.0 - the inlets-operator can now be used with Kubernetes ExternalDNS thanks to a patch from the community.
- Running inlets PRO as a service with systemd - by Matt Brewster
- Inlets Pro Homelab Awesomeness - by Matt Brewster
You can get a free 14-day trial for inlets PRO or buy a license for personal use here.
This week I've mainly been focused on client work and analysis. One of the opportunities I'm considering is offering sponsored apps via arkade. These applications would be available whilst an active sponsorship is in place. The app would say that it's sponsored and the funds would help sustain the project's development. There's already some interest from a couple of reputable companies and I hope to share an update with you soon.
- Try arkade in 15 mins to install your favourite Kubernetes apps and helm charts
-
Raspberry Pi 4 gains USB boot - as part of a beta firmware, you can now boot your RPi from a USB hard-drive without an SD card.
-
git bisect
tutorial - lock-down and resolve bugs in your applications withgit bisect
. If you've never heard of it, read up with this practical tutorial and explanation. -
Video - Deep Dive with Kubernetes secrets - join me for a walk-through of how to use secrets in Kubernetes with practical examples
Thank you for subscribing with 135 others. I've set a goal to get to 300 subscribers, so if you like the newsletter and being an insider, please tell your friends.
Can you see yourself in the photo? 😀
Let me know what you thought of the editorial and video this week, and what you'd like to hear from me about in a future update.
Have a great weekend, and if you're observing a Bank Holiday Monday, enjoy the extra time off.