kodepilot.dev — posts

Flashing SuperMicro IPMI/BMC firmware

This was written after i soft-bricked multiple BMCs and got stuck in a reboot cycle after successfully un-bricking and updating them. This would also be a great time to rant a little about how running something like this with direct memory access and all that jazz is complete bonkers. But whatevs. If you're also stuck with similar issues, but on different hardware, fret not, it likely applies to you too. Just look for the right jumpers in the manual.

I have a couple of quite old and outdated SYS-6017R-WRF that uses their Super X9DRW-iF motherboards. They were in dire need of some love, and when moving into a new DC I decided it was about time to do something about it.

Read more →

Setting up IPv6 using dhcpv6-pd/slaac with dnsmasq

For this to work it's important that you understand some concepts in IPv6, I'll briefly cover the most important ones in this post, but I strongly advice you to read up on them in detail. Also, I have…

Read more →

Using Lambda@Edge to fix permalink in Jekyll

Origin Access Identity (OAI) is a secure way to access S3 buckets from CloudFront, think of it as letting CloudFront use the S3 APIs to request objects instead of H. The alternative is to make the buc…

Read more →

Using CloudFront with Origin Access Identity and S3

There are many ways to host a static site on S3, either directly on S3 using S3 Website or by setting up CloudFront to serve content from S3. If you want to use your own domain and TLS you more or les…

Read more →

Key signing party for small teams

To make key signings as efficient as possible it's important that all participants comes prepared. We avoid using Key Servers, since they are flakey, slow and might publish more information than you w…

Read more →

Configuring Web Key Directory for GPG

Web Key Directory (WKD) is a proposal for a new way to discover other users keys, using HTTP and TLS. In short it looks up the UID on the users host. This works since all UIDs are email address, and a…

Read more →

Dealing with hostnames, domains and environments

Unless you've completely jumped on the container band wagon you probably still need to maintain a number of stateful servers, which typically live in a number of environments, like dev, stg and prd. Y…

Read more →

Invalidate CloudFront with Lambda and S3 events

Bla bla bla... You're here for the solution, not to hear me talk about it. See code example. Improvise, adapt and overcome. One thing though, unless you have a shit metric ton of objects that you want…

Read more →

Parking a domain on S3

You might want to "park" a domain to notify people that they're no longer in use or whatever. Since we're using Terraform you can update a ton of parked domains at the same time. Which is nice when bu…

Read more →

Using Terraform to manage redirects

S3 has a few neat features, like letting you publish your webpage or store backups. But one of my favorite features is the ability to set up more or less maintenance-free redirects. This is super usef…

Read more →

Running ssh-agent on macOS Sierra

Previously macOS shipped with its own build of openssh that had some special additions to store the keys and passphrase in your keychain. They've finally come to their senses and reverted back to a mo…

Read more →

Salted sha-512 hashes on macOS

This has been a recurring issue for me. I often need (for some weird reason) to send a sha-512 hashed password to someone. This seems like such a trivial task, but since you've landed here I guess you…

Read more →

Using gpg-agent on macOS Sierra

There are many ways to configure this beast. This is one of them. In newer versions of gnupg the option --write-env-file has been removed. If you have a problem with gpg-agent not working across multi…

Read more →