Populate Ansible from Amazon secrets manager

One of the ways to improve your security and avoid passing around env files is to follow the twelve factor app and start populating your secrets from the environment. Another improvement is to pull those secrets from a known secret store, with features like rotation, auditing etc. Requirements Ansible Have some secrets stored in AWS Secrets Manager Ansible should have access to the latest aws-cli command(secrets manager is a recent addition) Jq if you’re storing json in your secrets It’s worth testing your AWS calls to just extract the secret you’re interested in to stdout, from the terminal tests some calls like: ...

September 3, 2020 · Shane Dowling

Better local development for Serverless Functions

Lambda is a terrific piece of kit for all the benefits listed on the AWS product page and Serverless is a very useful framework for developing Lambda functions. However, developing serverless applications locally is a total pain if what you’re solving isn’t totally trivial. When things get complicated and your Lambda functions start to integrate with other AWS services, things really begin to break down. There are a few things that look like silver-bullets, I’ll share them here and explain why they didn’t work for me, then give you a working example that I myself struggled to find(hence me writing this). ...

February 11, 2019 · Shane Dowling

Easy maintenance mode with nginx

So I combined a few solutions I found online to come up with a quick way to set up maintenance mode using nginx. Ideally it shouldn’t happen but in times of emergency in can be good to knock up a quick maintenance page for everyone but your own internal ips. Nginx Config So here’s the configuration I use for nginx, it starts with setting the internal ips of your company in the main nginx config file. Then in the actual vhost, you can set it to watch for the existence of a maintenance_on.html and when it exists, throw a 503 and use the maintenance page as your 503 error page. ...

August 20, 2018 · Shane Dowling

Lessons from Remote Working

For the past few years as a freelancer, I’ve done many forms of remote work. I’ve worked both part and full-time remote positions, I’ve also worked with teams across multiple time-zones, in locations ranging from home offices, hotdesking, even camping and crummy motels, so I have a fairly broad range of experience with remote working. It seems to be the trend that many companies have opted for, and this is definitely a great idea, both for the employee and the company. The employee can often cultivate a better work-life balance and the company can access a far wider range of talent than what may exist in the local area. ...

February 18, 2018 · Shane Dowling

Supplementing an iPad Pro with Linux

Recently I wrote about why I’m using an iPad Pro as my main “at home” machine and how I’m generally using it for tinkering around with remote servers. There is however, one caveat. I do still have an at-home server that I use for helping with making the iPad as feature rich as I need it to be. The Server To do this, I essentially have Archlinux running on an old Thinkpad X230, sitting under my router connected via an ethernet cable to keep things nice and stable. The only way I manage it is over SSH. ...

January 21, 2018 · Shane Dowling

The iPad Pro as a focused, simple coding machine

So recently I wrote a post on why a developer might use an iPad Pro as an at home machine. Today, I’m going to elaborate on how I’m actually using it day to day. So there is not much you can do locally Realistically, as a local dev environment there really is not much an iPad Pro can do. I’m used to proper Linux/Unix based machines, these sandboxed apps just didn’t cut it for me, there’s nothing close to a full development system on an iPad(sorry I know!), I wouldn’t even bother trying. So pretty quickly I opted to go for a remote Linux box that I could remotely access. ...

January 20, 2018 · Shane Dowling

Why an iPad for a backend developer

So I’m a backend developer. I’m often closest to the source of most technical problems at my job. Networking issues, memory issues, hardware issues, operating system issues, the list goes on. I need to be able to tinker and play with things often, so usually my work environments reflect this. So the question is, why in God’s name would I want to move to an iPad? The downsides are immediately obvious, I have almost no tinkering power on here. It’s not Open Source, like at all. There’s very little I can do with this if something goes wrong, recently I had an issue with an app not syncing with my iPhone, I had to contact the developer and ask for assistance, rather than just jump down to the log files or the code itself and see what was up. ...

January 8, 2018 · Shane Dowling

Faster SugarCRM Development with PHPStorm

Javascript development with SugarCRM can be a bit of a pain, however combining PHPStorm’s filewatcher tool with a cut down repair script can speed things up to a more tolerable level. What this setup does is watch for any javascript changes in our custom/ folder(because you’re not making core hacks are you?) and execute a light-weight repair script when any of those files change. So you’ll hit save in PHPStorm, wait a few seconds and your dev javascript should be refreshed and ready to test. ...

April 30, 2017 · Shane Dowling

Pomot — command line pomotodo client

For anyone interested, I’ve created a simple pomotodo client for interacting with pomotodo.com easily. You can find it here, feel free to use github issues for any issues or feature requests you can think of.

April 20, 2017 · Shane Dowling

Command line calendars with Khal and fastmail

Recently I’ve been on a bit of a command line kick and I started using khal to render my calendar agenda locally. All of the codebases used are python based so before I start I’ve created a virtualenv so as not to pollute my OS. mkvirtualenv khal workon khal Vdirsyncer Firstly we need to setup Vdirsyncer, which is used to actually download your caldav entries to a local folder which khal then reads from. ...

April 4, 2017 · Shane Dowling