Sending MongoDB Alerts to Microsoft Teams
Recently, I discovered that MongoDB Atlas and Mongo Ops Manager do not have the ability to send alerts directly to Microsoft Teams. Since I’ve been using rust more frequently, I decided to create a small web service that receives MongoDB alerts, and transforms them into compatible Microsoft Teams Cards, before posting them to a specified Teams incoming webhook.
Relayd with SNI and TLS keypairs
Back when this article was written, on setting up a relayd load-balancer with two back-end httpd servers, relayd did not have the capability of handling multiple tls relays with unique domain names. This meant that each tls relay required a unique IP per domain. This was in part due to the fact that relayd had no SNI support. I am happy to say that with OpenBSD 6.6, this is no longer the case.
OpenBSD on Google Compute Engine
This tutorial outlines a simple way to get OpenBSD working on GCE, utilizing only OpenBSD to create the image and send up into gcloud.
Linux Swarm Script
This article is regarding a script that I’ve never gotten to work properly on OpenBSD, and only works correctly (currently) in Linux. This script is used to access and run commands across multiple servers in parallel.
Edit: This script now works fine on OpenBSD, with the only requirement being to install the flock package! Also, this script is actively being ported to being 100% POSIX compliant, which should enable any shell to run it without issue.
Automatic Key Import with ssh-agent/ssh-add
If you are like me, then you probably use git as the primary way to manage your code repositories. I also tend to use my own ssh keys to access and manage my repo, so I do not have to remember more passwords. One simple way to manage ssh keys is with the ssh-agent and ssh-add utilities. Things are made easier still be automating the ssh-agent initialization process through bashrc, but this can also lead to complications if one is using a terminal multiplexer.
Recursive grep'ing with bash
How many times have grep’d a file, and then piped the output in order to grep again, and then piped that again to grep? Sometimes when I am search a file, I could end up piping maybe a dozen times while searching the file. Just for fun, I wanted to write a recursive grep program, rgrep in rust. However, as a first step, I figured I could write it in bash first.
Calculating Prime Numbers with Rust
I know it’s a simple program, but a few months ago I wrote a little python script to find prime numbers. The little python script was able to find all the prime numbers up to 10,000,000 in 2:40 minutes. I wonder if rust can beat that?
My First Simple Rust Program
Following up on my previous posting about the programming language rust, I figured I may as well release the code I have written so far. It’s really been a fun journey, and I don’t claim at all to be a rust expert by any means, but here you go.
Using Rust on OpenBSD
Recently, I started using a new language on the block: go. However, I found myself quickly reading about other new languages that have showed up recently within the last few years.
One such language was rust.
NFS Client Tuning on Linux
In some of my previous posts, I spent some time attempting to squeeze out the best NFS performance as possible from OpenBSD. This time, I wanted to run a similar test, but on Linux and see if the same findings were applicable.
I found the results rather interesting, as they show that Linux is capable of faster transfer speeds than OpenBSD, with much less work. Of course, this doesn’t make me dislike OpenBSD any less (obviously), as the OS is still capable of fast transfers, and I am not building any supercomputers at my home.