Tackd - Anonymous File Transfer
Frequently, I find myself needing to transfer files from my laptop or server, over to my personal phone or to other family-member’s devices. More than likely, I am unable to simply email or scp a file over to these devices. The files are usually just too large for email transfer. Thus, I have been working on a little rust API that accepts binary data, encrypts said data, then persists the metadata in a MongoDB replicaset, and the binary data in object storage.
Wireguard on Ubiquiti EdgeRouter 4
Wireguard is one of the hottest new VPN’s available today, and is rapidly being adopted as the possible successor to OpenVPN. The Ubiquiti EdgeRouter is an awesome, high-performing wired router, which also comes with a firewall and vpn functionality. This article will walk you through how to quickly setup wireguard on an EdgeRouter 4.
Streaming MongoDB Databases
As many companies begin the transition from on-prem to cloud, indubitably developers and administrators will run into headaches ensuring a quick transfer of data to the cloud. One such headache I personally experienced recently is with uploading multiple large MongoDB databases into MongoDB Atlas.
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.