Git Product home page Git Product logo

terraform-aws-hasura's Introduction

Hasura on AWS

supports terraform-0.12

Terraform module to deploy Hausra graphql engine on AWS. This will deploy across multiple Availability Zones (AZ) with the following components:

  • Postgres RDS deployed in multiple AZ
  • Hasura graphql engine in Fargate across multiple AZ
  • ALB for load balancing between the hasura tasks
  • Certificate issued by ACM for securing traffic to ALB
  • Logging for RDS, ECS, and ALB into Cloudwatch Logs

Support

The master branch supports Terraform v0.12 and later. For Terraform v0.11 and older versions check other git branches.

Glossary

  • AZ: Availability Zone
  • ALB: Application Load Balancer
  • ACM: AWS Certificate Manager
  • ECS: Elastic Container Service
  • RDS: Relational Database Service

Requirements

  • AWS account
    • IAM user
    • domain with Route53
  • Terraform v0.12

Usage

Copy and paste into your Terraform configuration, edit the variables, and run terraform init

module "hasura" {
  source                    = "Rayraegah/hasura/aws"
  version                   = "2.0.0"
  region                    = "YOUR DEPLOYMENT REGION"
  domain                    = "YOUR DOMAIN NAME"
  app_subdomain             = "YOUR HASURA APP SUBDOMAIN"
  hasura_version_tag        = "HASURA VERSION TAG FOR DEPLOYMENT"
  hasura_access_key         = "YOUR HASURA ADMIN ACCESS KEY"
  hasura_jwt_secret_algo    = "ALGORITHM FOR JWT VERIFICATION (HMAC or RS256)"
  hasura_jwt_secret_key     = "YOUR PUBLIC KEY FOR JWT VERIFICATION"
  rds_db_name               = "YOUR DATABASE NAME"
  rds_instance              = "YOUR DATABASE INSTANCE SIZE"
  rds_username              = "YOUR DATABASE USERNAME"
  rds_password              = "YOUR DATABASE PASSWORD"
  multi_az                  = "ENABLE MULTIPLE AVAILABILITY ZONES"
  az_count                  = "NUMBER OF AVAILABILITY ZONES"
  vpc_enable_dns_hostnames  = "ENABLE DNS HOSTNAMES"
  environment               = "ENV VARS FOR ECS TASK"
}

License

Released under MIT License. Based on Gordon Johnston's proposed architecture.

terraform-aws-hasura's People

Contributors

rayraegah avatar jonahwh avatar davetapley avatar mjonas87 avatar tobiastornros avatar

Stargazers

Salman Ahmed avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.