All Projects → chrisanthropic → Terraform Infra As Code Coverage Badges

chrisanthropic / Terraform Infra As Code Coverage Badges

Licence: mit
Terraform / infrastructure-as-code coverage badges - how much of your AWS infrastructure is managed by Terraform?

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Terraform Infra As Code Coverage Badges

Awsconsolerecorder
Records actions made in the AWS Management Console and outputs the equivalent CLI/SDK commands and CloudFormation/Terraform templates.
Stars: ✭ 1,152 (+1569.57%)
Mutual labels:  aws, terraform
Terraform Aws Airflow
Terraform module to deploy an Apache Airflow cluster on AWS, backed by RDS PostgreSQL for metadata, S3 for logs and SQS as message broker with CeleryExecutor
Stars: ✭ 69 (+0%)
Mutual labels:  aws, terraform
Terraform Ecs Autoscale Alb
ECS cluster with instance and service autoscaling configured and running behind an ALB with path based routing set up
Stars: ✭ 60 (-13.04%)
Mutual labels:  aws, terraform
Terraform Aws Rds Cloudwatch Sns Alarms
Terraform module that configures important RDS alerts using CloudWatch and sends them to an SNS topic
Stars: ✭ 56 (-18.84%)
Mutual labels:  aws, terraform
Terraform Security Scan
Run a security scan on your terraform with the very nice https://github.com/liamg/tfsec
Stars: ✭ 64 (-7.25%)
Mutual labels:  aws, terraform
Terraform Aws Asg
Terraform AWS Auto Scaling Stack
Stars: ✭ 58 (-15.94%)
Mutual labels:  aws, terraform
Ha Sap Terraform Deployments
Automated SAP/HA Deployments in Public/Private Clouds
Stars: ✭ 61 (-11.59%)
Mutual labels:  aws, terraform
Devops Exercises
Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. DevOps Interview Questions
Stars: ✭ 20,905 (+30197.1%)
Mutual labels:  aws, terraform
Binaryalert
BinaryAlert: Serverless, Real-time & Retroactive Malware Detection.
Stars: ✭ 1,125 (+1530.43%)
Mutual labels:  aws, terraform
Terraform Modules
Reusable Terraform modules
Stars: ✭ 63 (-8.7%)
Mutual labels:  aws, terraform
Terraform Aws Alb
Terraform module to provision a standard ALB for HTTP/HTTP traffic
Stars: ✭ 53 (-23.19%)
Mutual labels:  aws, terraform
Module Security Public
The public documentation for the gruntwork-io/module-security repo, which contains packages for setting up best practices for managing secrets, credentials, and servers
Stars: ✭ 67 (-2.9%)
Mutual labels:  aws, terraform
Terraform Aws Vpc Peering Multi Account
Terraform module to provision a VPC peering across multiple VPCs in different accounts by using multiple providers
Stars: ✭ 52 (-24.64%)
Mutual labels:  aws, terraform
Cloud Portal
Self service web portal for different Cloud platforms like Azure, AWS and VMWare vSphere.
Stars: ✭ 60 (-13.04%)
Mutual labels:  aws, terraform
Loom
Loom enables operations engineers to provide a self-serve Kubernetes provisioning experience for developers
Stars: ✭ 52 (-24.64%)
Mutual labels:  aws, terraform
Terraform Aws Waf Owasp Top 10 Rules
A Terraform module to create AWF WAF Rules for OWASP Top 10 security risks protection.
Stars: ✭ 62 (-10.14%)
Mutual labels:  aws, terraform
Terraform Aws Github Ci
[DEPRECATED] Serverless CI for GitHub using AWS CodeBuild with PR and status support
Stars: ✭ 49 (-28.99%)
Mutual labels:  aws, terraform
Lambda The Terraform Way
AWS Lambda using Terraform., an Introductory Cookbook
Stars: ✭ 1,056 (+1430.43%)
Mutual labels:  aws, terraform
Curso Aws Com Terraform
🎦 🇧🇷 Arquivos do curso "DevOps: AWS com Terraform Automatizando sua infraestrutura" publicado na Udemy. Você pode me ajudar comprando o curso utilizando o link abaixo.
Stars: ✭ 62 (-10.14%)
Mutual labels:  aws, terraform
Terraform Aws S3 Log Storage
This module creates an S3 bucket suitable for receiving logs from other AWS services such as S3, CloudFront, and CloudTrail
Stars: ✭ 65 (-5.8%)
Mutual labels:  aws, terraform

DEMO

AWS

US-EAST-1

ec2-instances-coverage ec2-sgs-coverage ec2-ami-coverage ec2-volumes-coverage ec2-albs-coverage ec2-elbs-coverage lambda-functions-coverage rds-instances-coverage vpcs-coverage subnets-coverage route-tables-coverage internet-gateways-coverage dhcp-option-sets-coverage network-acls-coverage s3-buckets-coverage

WHAT

A small script that is useful to track the level of 'infrastructure-as-code' coverage; ie how much of your AWS infrastructure is managed by Terraform?

It checks the following AWS resources:

  • EC2 Instances
  • EC2 Security Groups
  • EC2 AMIs
  • EC2 Volumes
  • EC2 ALBs
  • EC2 ELBs
  • Lambda Functions
  • RDS Instances
  • VPCs
  • VPC Subnets
  • VPC Route Tables
  • VPC IGWs
  • VPC DHCP Options
  • VPC Network ACLs
  • S3 Buckets

WHY

It can be difficult track the status of existing AWS resources when attempting to import a large existing project into Terraform managed infrastructure-as-code. One of the challenges is identifying what AWS resources are currently managed by Terraform and which ones still need to be imported. This script is an initial attempt.

HOW

A series of bash functions that call the AWS API, performs some basic mathematics as needed, and writes the output to a badge using http://shields.io/

  • git clone this repo
  • configure the variables at the top of the script
  • run the script
    • it will make the AWS API calls, checking all AWS resources in the specified region of your specified account for the existence of the specified tag.
    • it will calculate the total number of resources vs the total number of tagged resources
    • it will use the output of the above function as the input for the badges.io API to create coverage badges
    • it will write the badges to the specified S3 bucket
  • you can point to the URL of the S3 badges in order to embed anywhere you want, see above Demo for an example.

REQUIREMENTS

  • An existing AWS account.
    • Permissions: Create S3 bucket
    • what else?
  • Locally configured AWS profile with AWS credentials
  • AWS resources that are consistently identified via a single tag
    • tag is configurable. Our example is "Terraform = True"
    • Any resource containing this tag is assumed to be managed via Terraform
  • jq

FAQ

  • Q) Why bash?
    • A) I like bash. It's simple and is easy for coders of all levels to contribute to.
  • Q) Does this show my coverage for ALL AWS resources?
    • A) No. It currently checks for over a dozen resources that 1) support AWS tags & 2) Have Terraform support for reading/writing AWS tags.
  • Q) Do you plan on extending this?
    • A) Sure, see the TODO section.

TODO

Issues

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].