• ClickOops

    If you’ve been working in AWS for long enough, you will know that nothing good comes from configuring resources in the console, AKA ClickOps.

    The cloudandthings.io ClickOops Utility sends notifications when people are taking manual actions in the console and alerts the team to investigate why this was done and what needs to be done to get our IaC deployment in sync with these changes.

  • Pretty Print | Better
    Terraform Plans

    We recently changed the default tags added to all the resources we provisioned in AWS for one of our clients. We also made some serious networking changes during the same release. This resulted in quite a complex Terraform plan that we had to review.

    If you’ve used Terraform for provisioning large environments, you will know that the text plans that get generated can be tricky to read and sometimes a small change (like a tags change) can result in a plan where the more important changes can get lost in all the noise.

    In the process of finding a better way to render these plans, we found PrettyPlan by Chris Lewis, which allows you to convert text Terraform plans to HTML in a much more readable format. This tool was meant to fill some of the gaps in older versions of TF’s plan output and it does an amazing job at it. We however needed something similar for TF versions 0.12+ and that is where our version of the PrettyPlan was born.

  • AWS Cost Notifier

    This Terraform module sends a daily cost report and the cost delta in a 7-day rolling period, scheduled on a CRON to a Slack or Teams channel of your choice.

    The module also reports on the top 5 services attributing to the daily cost. It’s a very rudimentary means of managing the cost of your AWS bill, but it does provide a 1000ft view of the current expenses for the previous day.

    More on this module can be found on our blog.

  • AWS Policy Packer

    Optimally use the space in an AWS policy document.

    All AWS IAM policies have a hard character limit and a maximum number of policies that can be attached to an entity. We often find ourselves having to guess how much space is left in a policy and unnecessarily use more policies than what is needed.

    The module implements bin packing to optimally use all the character space in a set of IAM policies.