Posts
Restrict FROM address with AWS SES domain identities
aws
security
snippets
Use conditional keys in your SES IAM policies to prevent attackers impersonating your staff.
Linguist syntax highlighting for Drupal file types
drupal
Are you sick of reviewing Drupal PRs on Github without syntax highlighting on .module and .install files?
Strategies for Managing a Fleet of Drupal Projects - DrupalGov, 2020
drupalsouth
drupal
conferences
presentations
My presentation on managing fleets of drupal applications at the virtual DrupalGov in November 2020.
Drush 8 Exit Code Workaround
drupal
snippets
bash
A bug in older versions of drush stop errors bubbling up to shell exit codes. Use this snippet to work-around the problem.
The ultimate CircleCI config for Terraform pull request workflow
terraform
circleci
github
My Terraform workflow with automated plan comments on pull requests and all changes applied in a pipeline.
Faster, smaller, and sanitized MySQL database dumps
mysql
drupal
Sanitize, minify and dump your database in one step with this awesome utility.
Force git to use HTTPS
snippets
git
Occasionally you'll encounter an issue where you can't clone git repositories via ssh. Use this trick to force cloning over HTTPS.
Log in to GitHub Docker registry with just a token
github
snippets
bash
GitHub's new package registry needs both a username and password to authenticate. Use this snippet to derive the username from a token.
Get personal Slack tokens from the web interface
slack
snippets
Slack have deprecated personal tokens, but you may still want to script some stuff. Hack your way to success!
Securing Drupal on Kubernetes
drupal
kubernetes
security
presentations
I presented a draft of my DrupalCon talk at the March 2020 Sydney Drupal Meetup.
Cleanup Large S3 Buckets
s3
aws
S3 buckets with thousands or millions of objects and/or revisions can be extremely slow and painful to cleanup. Here's a tool to do this faster.
Supplemental Groups with Gitlab Runner on OpenShift
kubernetes
openshift
gitlab
Use this method to configure additional groups on gitlab-ci build pods.
K8s Autoscaling Custom Metrics
presentations
kubernetes
Lightning talk on autoscaling Kubernetes deployments with custom metrics.
Improve your bash scripts with this boilerplate template
snippets
bash
Bash is a finnicky beast. Use this template to make your scripts behave more reliably.
How to generate temporary download links to S3 objects
aws
security
snippets
s3
Pre-signed URLs are a great way to share large files without giving the
recipient permanent access. Learn how to use the AWS CLI to create links
that expire after a certain amount of time.
AWS KMS cryptographic operations on the command line
aws
security
snippets
Leverage AWS KMS on the command line using these simple commands.
How to use count with data resources in Terraform
hashicorp
terraform
snippets
Terraform allows you to loop over resources using the count parameter,
including data resources.
New Relic Free Tier on Acquia
drupal
A while back Acquia dropped support for configuring the New Relic API key for applications hosted with them - hack it back into existence.
Encrypted Drupal Database Connections with Amazon RDS
drupal
security
aws
Malicious users can intercept or monitor plaintext data transmitting across unencrypted networks, jeopardising the confidentiality of sensitive data in Drupal applications. This tutorial will show you how to mitigate this type of attack by encrypting your database queries in transit.
Can You Keep a Secret? - Bucharest, 2018
hackcamp
drupal
conferences
security
presentations
My presentation on secrets management at DrupalHackCamp 2018 in Bucharest, Romania.
HashiCorp Vault for Drupalers
hackcamp
drupal
conferences
security
presentations
vault
My presentation on HashiCorp Vault at DrupalHackCamp 2018 in Bucharest, Romania.
Securing Drupal: Storing API Tokens in Lockr
drupal
security
As seen in the recent Uber hack, storing secrets such as API tokens in your project repository can leave your organisation vulnerable to data breaches and extortion. This tutorial demonstrates a simple and effective way to mitigate this kind of threat by leveraging Key module to store API tokens in remote key storage.
Can You Keep a Secret? - Auckland, 2017
drupalsouth
drupal
conferences
security
presentations
My presentation on secret management at DrupalSouth 2017 in Auckland, NZ.
Speaking at DrupalSouth 2017 in Auckland
drupalsouth
drupal
conferences
I'll be giving an introduction to secret management, and a number of recipes
to leverage amazing tools like Hashicorp Vault in your Drupal projects.
How to build self-deploying applications with Terraform and BitBucket Pipelines.
hashicorp
terraform
aws
s3
hugo
A case study of rebuilding nicksantamaria.net on Hugo.
How to peer two AWS VPCs using Terraform
hashicorp
terraform
aws
networking
A practical example of using Terraform to peer 2 AWS VPCs, configure route tables, and test connectivity between subnets.
Performance: Not an Afterthought
drupalsouth
drupal
conferences
performance
presentations
My presentation on Drupal application and hosting performance at DrupalSouth 2015.
Why mind-spinning Bitcoin is revolutionary
cryptocurrency
I wrote this article for Business Spectator back in 2013. At the time I was the technical lead for their publishing platform, and Alan Kohler kept coming over to my corner of the office to ask about this "bitcoin thing".
Attending Drupal Down Under 2012!
drupalsouth
drupal
conferences
In a little over a week Drupal Down Under 2012 will commence in Melbourne!
Accessing and using Drupal.settings properties in Selenium tests
selenium
drupal
testing
A quick-and-dirty method for assigning Drupal.settings properties into Selenium variables.
Installing OS X Leopard on a Dell Mini 9
hackintosh
There are plenty of blog posts out on the interwebs detailing this topic, but after having to sidestep 3 different tutorials and delve deep into the osx86 forums a few times to get my hack mini to where it is now... Lets just say I'll be happy if this saves just one person the frustration and mental anguish I have experienced the last few days.