HashiCorp

HashiCraft Holiday Hackathon Wrap Up

See the results of the HashiCraft Holiday Hackathon.

Before the holidays, we announced the HashiCraft Holiday Hackathon, a fun little event where the HashiCorp community can show off their creativity and learn something new about the HashiCorp tools. In this post, we are excited to share the winning entries with you, a hackathon is a great way to learn some new skills, and we think the entries were terrific.

»Winner of the Best Pet-Related Hack

»Team Petmas - A Curated Festive Twitter Feed

Grace Nguyen

Our first winner is Grace and her fantastic application, which curates a Twitter feed full of Holiday pets, Petmas.

Petmas Twitter Feed

To create Petmas, Grace wrote a scraper in Python that uses the Twitter API and Selenium to gather the data, storing it in an Azure SQL database.

petmas architectural overview

To present the information, Grace created a Python Flask API, which exposes the data to a JavaScript frontend using the React framework. Grace also uses HashiCorp Terraform to provision the database and the infrastructure To Azure.

Throughout this exercise, Grace says that she has learned many new things, from buying a domain to running her server and learning Terraform.

We love your project Grace, and we also love your video, which explains what you built; it is all incredibly well done.

Project Repository:
https://github.com/gracenng/petmas

LinkedIn
https://www.linkedin.com/in/grace-n-nguyen/

Twitter https://twitter.com/gracenng

»Winner of the Emoji and ASCII Art Category

»Team Reulan - Clairvoyance a Terraform Drift Detector

Michael Simo

We love Michael’s tool Clairvoyance, which reports drift in your Terraform state. Clairvoyance scans directories containing Terraform code and uses Terraform Exec to initialize and generate a plan for the Terraform configuration it discovers.

Clairvoyance interprets this data and produces a report that notifies you if the state for your Terraform-managed infrastructure has changed, giving you an early warning to correct any issues. The report Clairvoyance generates can either be written to StdOut or posted to a Discord server.

Clairvoyance Report

Future plans for Clairvoyance are to build a Docker container so that Michael can run it on Kubernetes as a Cron job.

While building this project, Michael said he learned a lot about Go, specifically how to parallelize operations using goroutines and channels. Micheal also streamed the whole process on his brilliant Twitch channel; we recommend you head over there and give him a follow.

Twitch:
https://www.twitch.tv/reulan

Website:
https://reulan.com/

GitHub:
https://github.com/reulan

Project Repository:
https://github.com/reulan/clairvoyance

»Winner of the Festive Lighting Category

»Team Sharebear - Terraform Provider to Control ARGB Lighting

Jonathan Share

Jonathan has built a Terraform provider that can interact with the open-source Falcon Player for configuring addressable RGB lighting.

Falcon Player runs on a RaspberryPi or Beagle Bone black and exposes an interface to control ARGB lighting strips that use the WS2811 or WS2812b standard.

Falcon Player Terraform Provider

It is clear to see how a Terraform provider can help with Falcon Player’s configuration; there are many different options such as the ARGB lights connection, the sequence file for the animation, a playlist, and optionally a schedule. Jonathan has elegantly encapsulated these options in his Terraform provider.

Using his provider, Jonathan can terraform apply the lights for his Xmas tree. We especially love the HashiCorp colors used in his demo. We recommend you check out Jonathan’s demo video; he explains the provider and demos the full setup. When we saw the final demo at 8:20 in the video, it blew our minds. We will 100% be setting this up at HashiCraft towers next holiday season.

LinkedIn:
https://www.linkedin.com/in/jonathanshare/

GitLab:
https://gitlab.com/sharebear

Twitter:
https://twitter.com/jonnyshare

Blog:
https://blog.sharebear.co.uk/

Project Repository:
https://gitlab.com/sharebear/terraform-provider-fpp

»Winner of the Securest Team Gifting Exchange Ever Category

»West Coast Ninjas - The Grinch Exchange

Shobana Shastry

We should have excluded this team for not including us in the gift exchange, but we decided instead to award the prize of the most secure gift exchange in the spirit of the holidays.

Grinch Exchange

Shobs spun up a HashiCorp Vault cluster using Terraform and created a frontend interface using NodeJS. Everyone in the team then entered a gift into the cluster, keeping them safe and secure before the gifting commenced.

The game rules were based on the rules for the “White Elephant Gift Exchange” (https://www.whiteelephantrules.com/), with a few minor changes to facilitate socially distanced gifting.

white elephant rules

We love this hack and are ever so slightly bitter still we did not get to take part, but now we have the source code to run our exchange next year.

Twitter:
https://twitter.com/shobshas3

LinkedIn:
https://www.linkedin.com/in/shobshas3/

Shobs's Travelling Waterbottle:
https://www.instagram.com/shobswaterbottle/

Project Repository:
https://github.com/sshastri/holiday-gift-exchange

»Winner of the Holistically Festive Home Category

»Team Nowel - Terraform and Vault Home Assistant Integrations

Corentin Mors
Cyril Leclerc
Eléonore Carpentier

Team Nowel submitted not one but two amazing hacks. An extension for deploying Vault and storing secrets in Home Assistant and a Terraform provider for Home Assistant enables all-around festive control of your lighting, music, and video.

nowel xmas
nowel holiday

The team also created some Terraform modules for other holidays such as easter.

In their video, the team mentioned that hacking on this project allowed them to learn Go, and it was the first time they had tried to build a Terraform provider. We think they did a fantastic job, and it looks like they had lots of fun doing it.

LinkedIn:
https://www.linkedin.com/in/eleonore-carpentier https://www.linkedin.com/in/cyril-leclerc-6327101/ https://www.linkedin.com/in/corentinmors/

Twitter:
https://twitter.com/MikeScops

Terraform Provider Project Repository:
https://github.com/Mikescops/terraform-provider-homeassistant

Vault Add on Project Repository:
https://github.com/tidalf/ha-addon-vault

»Summary

Thank you to everyone who submitted an entry; they were all fantastic. We apologize in advance, but this will probably be the last blog post you read from us as we loved your hacks so much we will be busy integrating them all here at HashiCraft towers.

Sign up for the latest HashiCorp news