Walkthroughs, tutorials, and coding projects, focusing on OpenBSD, Rust, and NoSql.

Tackd - Anonymous File Transfer

By Finde Labs |  Nov 25, 2022  | rust, object, storage

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.

Continue Reading...

Wireguard on Ubiquiti EdgeRouter 4

By Finde Labs |  Jan 30, 2022  | vpn, wireguard, edgerouter

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.

Continue Reading...

Streaming MongoDB Databases

By Finde Labs |  Jun 2, 2021  | mongodb, rust, database

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.

Continue Reading...

Pausing MongoDB Atlas Clusters with Ansible

By Finde Labs |  Feb 27, 2021  | ansible, mongodb, scripting

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.

Continue Reading...

Sending MongoDB Alerts to Microsoft Teams

By Finde Labs |  Jul 29, 2020  | rust, mongodb, alerting

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.

Continue Reading...

Monitoring OpenBSD with Grafana and Prometheus

By Finde Labs |  Jan 26, 2020  | openbsd, prometheus, grafana, monitoring, node_exporter

With any deployment of OpenBSD, it is always advisable to have some sort of monitoring enabled. In the past, I have used zabbix as the monitoring solution for both public findelabs servers, as well as my personal OpenBSD servers. I was going to write an article about the installation and configuration of the web frontend and the postures backend, but I kept putting it off as the configuration was rather clunky. Last week, I ended up moving over to a Grafana dashboard with prometheus as the monitoring system.

Continue Reading...

Rust Redis Proxy

By Finde Labs |  Dec 7, 2019  | linux, rust, redis, proxy, networking

This post is for a new rust project that I have been working on lately. I haven’t really touched rust much for nearly a year, but sometimes projects come up that necessitate a statically typed language. The program is a rust network proxy designed for use in HA redis deployments.

Continue Reading...

OpenBSD GCP Bootstrap

By Finde Labs |  Nov 15, 2019  | openbsd, gcp, scripting, ansible

Since I have been recently experimenting with OpenBSD 6.6 on Google Cloud Compute, I put together a small bootstrap script to help with new deployments to GCP. It is still in it’s infant stages, but so far it will deploy a couple different scripts on top of the typical basic findelabs OpenBSD bootstrap.

Continue Reading...

Relayd with SNI and TLS keypairs

By Finde Labs |  Nov 2, 2019  | openbsd, relayd, sni, httpd

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.

Continue Reading...