Pausing MongoDB Atlas Clusters with Ansible
It’s been awhile since my last post! Life changes, and so has my work responsibilities. Lately, I’ve been working a lot with MongoDB, specifically MongoDB Atlas. In fact, I have started utilizing an Atlas replicaset as the backing database for a new website. In order to reducing my bill each month, I developed a way to shutdown my test replicasets each evening.
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.