My Pets

In this article, I will describe my current pet projects. These are mainly excuses to learn something new, or exercises to go deeper into particular technologies, but could be (I hope) useful for you too.

Don’t hesitate to issue enhancements, bug fixes (PR), or just give it a try and share your thoughts.

Instance Watcher

:construction_worker: Tech: Lambda, Python, Serverless Application Model (SAM), SES

This app will scan your AWS Account against all EC2 regions worldwide and notify you by email when you have some running EC2 instances. It’s useful for non-production environments that you need to monitor. Use case: labs/training, sandbox accounts.

Lately, I’ve added whitelisting capabilities using EC2 tags. Next features: Slack notifications, more information to display like instance profile, listing running RDS instances, code optimizations / refactoring.

Link: instance-watcher

Ansible Mac Install

:construction_worker: Tech: Ansible, geerlingguy modules

Tired of reinstalling your brand new mac, or just want a fresh new installation on your laggy macOS?

Lucky you! You can use this Ansible Playbook to bootstrap your macOS installation, with all your preferred applications.

With this nearly one-command playbook, you will set up your macOS in a few minutes (zero touch installation).

The current configuration of this repository references all the tools I use for my DevOps activities and much more.

For a more comprehensive explanation, take a look at the config.yml file here.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
homebrew_taps:
  - homebrew/cask
  - wallix/awless
  - caskroom/fonts
  - homebrew/cask-versions
  - aws/tap
  - lucagrulla/tap

homebrew_installed_packages:
  - autoconf
  - automake
  - awless
  - aws-okta
  - aws-sam-cli
  - aws-shell
  - awscli
  - bash-completion
  - calc
  - coreutils
  - curl
  - cfn-lint
  - cw
  ...

Adapted from mac-dev-playbook & ansible-mac-install

Link: ansible-mac-install

Lena Twitter Bot

:construction_worker: Tech: Serverless Framework, Node.JS

This dead simple Twitter bot was my first experience with Node.js.

I’ve used it to deploy a serverless bot to retweet, favorite, or follow twittos based on #hashtags, or Twitter accounts in a specific language (French).

Actions are scheduled using CloudWatch Events. Today, my running bot has more than 800 followers :)

Link: lena-twitter-bot

Update53-pub

:construction_worker: Tech: Route53, Python

For my home automation installation, I wanted to use AWS Route53 for DynDNS to avoid crappy software.

My ISP updates my public IP at a random pace. This enables the usage of my own DNS namespace using nearly free update mechanisms.

With this simple Python script, you will be able to schedule an update to your DNS A record.

Link: update53-pub

s3-nobackup-notifier

:construction_worker: Tech: Lambda, SES, Python

Again, for my home automation (Jeedom), I wanted to monitor the effectiveness of backups on AWS S3.

With this simple serverless function written in Python, I can be alerted by email when there is no new backup on the target bucket (one backup per day).

Behind the scenes, it compares the current date with the last object on an S3 prefix.

Later I will add hash comparison, file size check and Telegram notifications (using a bot).

Link: s3-nobackup-notifier

That’s all folks!

zoph.