All Projects → dsaidgovsg → Terraform Modules

dsaidgovsg / Terraform Modules

Licence: apache-2.0
Reusable Terraform modules

Projects that are alternatives of or similar to Terraform Modules

Hashi Up
bootstrap HashiCorp Consul, Nomad, or Vault over SSH < 1 minute
Stars: ✭ 113 (+79.37%)
Mutual labels:  cloud, nomad, consul, devops, vault
Terratag
Terratag is a CLI tool that enables users of Terraform to automatically create and maintain tags across their entire set of AWS, Azure, and GCP resources
Stars: ✭ 385 (+511.11%)
Mutual labels:  aws, cloud, terraform, hcl, devops
vim-hcl
Syntax highlighting for HashiCorp Configuration Language (HCL)
Stars: ✭ 83 (+31.75%)
Mutual labels:  consul, vault, hcl, nomad
Cloudblock
Cloudblock automates deployment of secure ad-blocking for all of your devices - even when mobile. Step-by-step text and video guides included! Compatible clouds include AWS, Azure, Google Cloud, and Oracle Cloud. Cloudblock deploys Wireguard VPN, Pi-Hole DNS Ad-blocking, and DNS over HTTPS in a cloud provider - or locally - using Terraform and Ansible.
Stars: ✭ 257 (+307.94%)
Mutual labels:  aws, cloud, terraform, hcl
Infra Personal
Terraform for setting up my personal infrastructure
Stars: ✭ 45 (-28.57%)
Mutual labels:  aws, cloud, terraform, hcl
Vishwakarma
Terraform modules to create a self-hosting Kubernetes cluster on opinionated Cloud Platform.
Stars: ✭ 127 (+101.59%)
Mutual labels:  aws, terraform, hcl, devops
Terraform Aws Elasticsearch
Terraform module to provision an Elasticsearch cluster with built-in integrations with Kibana and Logstash.
Stars: ✭ 137 (+117.46%)
Mutual labels:  aws, terraform, hcl, elasticsearch
Elasticsearch Cloud Deploy
Deploy Elasticsearch on the cloud easily
Stars: ✭ 308 (+388.89%)
Mutual labels:  aws, terraform, hcl, elasticsearch
Terraform Eks
Terraform for AWS EKS
Stars: ✭ 82 (+30.16%)
Mutual labels:  aws, terraform, hcl, devops
Intro To Terraform
Sample code for the blog post series "A Comprehensive Guide to Terraform."
Stars: ✭ 550 (+773.02%)
Mutual labels:  aws, terraform, hcl, devops
Terraformer
CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code
Stars: ✭ 6,316 (+9925.4%)
Mutual labels:  aws, cloud, terraform, hcl
Terraform Aws Secure Baseline
Terraform module to set up your AWS account with the secure baseline configuration based on CIS Amazon Web Services Foundations and AWS Foundational Security Best Practices.
Stars: ✭ 596 (+846.03%)
Mutual labels:  aws, terraform, hcl, devops
Terraform
Terraform automation for Cloud
Stars: ✭ 121 (+92.06%)
Mutual labels:  aws, terraform, hcl, devops
Awesome Cloud Security
Curated list of awesome cloud security blogs, podcasts, standards, projects, and examples.
Stars: ✭ 98 (+55.56%)
Mutual labels:  aws, cloud, elasticsearch, logging
Firecamp
Serverless Platform for the stateful services
Stars: ✭ 194 (+207.94%)
Mutual labels:  aws, cloud, elasticsearch, consul
Ecs Pipeline
☁️ 🐳 ⚡️ 🚀 Create environment and deployment pipelines to ECS Fargate with CodePipeline, CodeBuild and Github using Terraform
Stars: ✭ 85 (+34.92%)
Mutual labels:  aws, terraform, hcl, devops
Ebs bckup
Stars: ✭ 32 (-49.21%)
Mutual labels:  aws, terraform, hcl, devops
Terraform Aws Couchbase
Reusable infrastructure modules for running Couchbase on AWS
Stars: ✭ 73 (+15.87%)
Mutual labels:  aws, terraform, hcl, devops
Tf aws elasticsearch
Terraform module which creates AWS Elasticsearch resources
Stars: ✭ 73 (+15.87%)
Mutual labels:  aws, terraform, hcl, elasticsearch
Terracognita
Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration
Stars: ✭ 452 (+617.46%)
Mutual labels:  aws, cloud, terraform, devops

Terraform modules

This repository contains a set of (opinionated) Terraform modules to provision HashiCorp's suite of tools on AWS, including:

  • Consul: Service discovery, distributed key-value store, and service mesh
  • Nomad: Scheduling
  • Vault: secrets management

These tools are useful to deploy a basic infrastructure on the cloud for your developers to run their applications and services.

To get started, see the Core module. Some of the modules are optional and add additional features after you have provisioned the Core module.

Contributing

See CONTRIBUTING.md for more details.

Submodules

This repository has various submodules. When you are cloning it for the first time, make sure to do so with

git clone --recursive https://github.com/GovTechSG/terraform-modules.git

To update an already cloned repository, you can do

git submodule update --init --recursive

Modules

Core

This module sets up a VPC, and a Consul and Nomad cluster to allow you to run applications on.

AWS Authentication

This module configures Vault to accept authentication via EC2 instance metadata. This is required for use with some of the Vault integration modules.

Nomad Vault Integration

This module serves as a post-bootstrap addon for the Core Module. It integrates Vault into Nomad so that jobs may acquire secrets from Vault.

Nomad ACL

This module serves as a post-bootstrap addon for the Core Module. This enables ACL for Nomad, where Nomad ACL tokens can be retrieved from Vault.

Vault SSH

We can use Vault's SSH secrets engine to generate signed certificates to access your machines via SSH.

Traefik

This module serves as a post-bootstrap addon for the Core Module. This module provisions load balancers on top of a Traefik reverse proxy to expose your applications running on your Nomad cluster to the internet.

Docker Authentication

This module serves as a post-bootstrap addon for the Core Module. It allows you to configure Nomad clients to authenticate with private Docker registries.

Vault PKI

This module serves as a bootstrap addon for the Core module. It provisions the PKI secrets engine in Vault. This PKI secrets engine allows you to maintain an internal CA and allows Vault users to request for certificates.

This module is required for some of the other Vault integration.

Elasticsearch

This modules serves as a post-bootstrap addon for the Core Module. This module adds managed AWS Elasticsearch service (with Kibana). The module also allows integration with Traefik set-up, to allow redirect service to redirect users to the Kibana visualisation UI with a more friendly named URL.

Curator

This module runs Curator as a Cron job in Nomad to clean up old indices in your Elasticsearch cluster.

Lambda-api-gateway

This module sets up a Lambda function with a API Gateway trigger, secured with an API key authentication.

Telegraf

This module sets up Telegraf service for collecting and reporting metrics. This is instances containing services consul, nomad_client, nomad_server and vault.

Td-Agent

This module allows enabling of td-agent, the stable distrution package of Fluentd, for log forwarding. For instances containing services consul, nomad_client, nomad_server and vault.

Nomad Clients

This module sets up an additional cluster of Nomad clients after the initial bootstrap of the core module.

Vault App Policy

This module is an addon for adding application service policies to access key / value secrets stored in your already set-up Vault.

Fluentd

This module runs Fluentd on Nomad to forward logs to Elasticsearch and (optionally) S3.

Vault Auto Unseal

Provisions additional resources to enable Vault Auto Unseal when used with the Core module.

Roles

Contains Ansible roles for installation of various services. For more details, check out the README in the respective role directories.

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].