Deploying Keys and Certs to a NodeJS app on AWS Opsworks

I have a nodejs app running on AWS deployed using AWS Opsworks. The app relies on an AWS IoT certificate and AWS IoT private key being present and I don’t want to add the key and certificate to my git repo.

The solution I ended with was to use the AWS Opsworks App environment variables to pass in the certificate and key as environment variables and read these from the nodejs app.

App  Environment Variables

Opsworks replaces all new line characters with spaces so in our app we have to reverse this:

var iotcert = process.env.IOTCERT;
var iotkey = process.env.IOTKEY;
iotcert = iotcert.split(" ").join("\n").replace("BEGIN\nCERTIFICATE", "BEGIN CERTIFICATE").replace("END\nCERTIFICATE", "END CERTIFICATE");
iotkey = iotkey.split(" ").join("\n").replace("BEGIN\nRSA\nPRIVATE\nKEY", "BEGIN RSA PRIVATE KEY").replace("END\nRSA\nPRIVATE\nKEY", "END RSA PRIVATE KEY");

…. Problem solved 🙂

I suppose it is a little less secure than the certificate and key being on the file system and with read only access to the nodejs process but it’s a lot more secure than the certificate and key being hosted on github.

Share this...
Tweet about this on Twitter
Twitter
Email this to someone
email

Python command history

Obviously iPython is the bee’s kness when it comes to Python shells but if you don’t have iPython installed then getting command history can be a pain. Not any more 🙂

import readline; print '\n'.join([str(readline.get_history_item(i)) for i in range(readline.get_current_history_length())])

This will print all python commands run during that session.

Also as a gist

If you have iPython installed, it’s as simple as

%history
Share this...
Tweet about this on Twitter
Twitter
Email this to someone
email

Android must have apps 2015

After a 4+ year hiatus from blog posting. I’m back 🙂 As a first post back I list my ‘must have’ Android apps for 2015.

  1. Airdroid: For copying files (and a lot more) without a cable
  2. QuickPic – very good gallery app
  3. Here Maps – cool GPS that can be used offline
  4. BaconReader – for reddit
  5. File Commander – File browser
  6. MX Player – video player that plays everything
  7. Podcast Addict – for podcasts
  8. Smart AudioBook Player – for playing and managing audiobooks
  9. Impetus – countdown timer for gym
  10. Stopwatch & timer – very good stopwatch
  11. Smart Voice Recorder – neat audio recorder
  12. Yr.no – for weather
  13. Nova Launcher – very fast launcher for Android
Share this...
Tweet about this on Twitter
Twitter
Email this to someone
email