Jeremy Steinert CTO / Developer / Engineer A blog about development, devops, server administration, and technology

Working With Pass

When it comes to password management, like most things I prefer simplicity. The pass library is a simple yet effective password management tool, consisting only of gpg encrypted text files. I started using it for a customer project, but the flexibility and simplicity of it attracted me for my own password management needs. This is a quick introduction that I wrote as I set this up for myself.

Percona Xtrabackup Restore

When restoring a mysql backup from Percona’s Xtrabackup, there’s a few things to remember. First, be sure to include the -i flag while extracting the tar archive. Second, the backup needs apply the xtrabackup_logfile to play back the binary log and catch back up to the time of the snapshot.

Capistrano 3 multisite deployment

On a recent project, I had a need to deploy over 100 copies of the same repository with different settings for each. Since Capistrano wasn’t exactly built for this type of deployment, I had to get creative. This method will separate each site into a stage, built from a template that pulls information from a YAML file for the desired environment. This allows individual testing for each site, as well as deployment across all sites, and eliminates problems with variable scope while writing tasks.

A Vagrantfile template

This is a Vagrantfile template that I use for most projects. It’s easy to add new nodes or mount points as the cluster grows and each node can be customized. Each server can be easily provisioned with Puppet, Chef, SaltStack, or a script. The vagrant-cachier plugin is used to speed up provisioning time.