All Projects → 1ambda → terraform-all-in-one

1ambda / terraform-all-in-one

Licence: other
Get fine-grained Kubernetes + Infrastructure on AWS in 30 mins 🚀

Programming Languages

HCL
1544 projects
python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to terraform-all-in-one

jenkins-ecs-deployment
Deploy docker containers to AWS ECS/ECR via Jenkins
Stars: ✭ 20 (-71.83%)
Mutual labels:  ecs
terraform-ecs
Terraform ECS module
Stars: ✭ 15 (-78.87%)
Mutual labels:  ecs
django-step-by-step
A Django + Vue reference project that focuses on developer tooling and CI/CD + IaC
Stars: ✭ 86 (+21.13%)
Mutual labels:  ecs
terraform-aws-fargate
Terraform module to provision a Fargate-ready AWS infrastructure 🚀
Stars: ✭ 77 (+8.45%)
Mutual labels:  ecs
rockgo
A developing game server framework,based on Entity Component System(ECS).
Stars: ✭ 617 (+769.01%)
Mutual labels:  ecs
roguelike tutorial
RoguelikeDev Tutorial 2018
Stars: ✭ 33 (-53.52%)
Mutual labels:  ecs
terraform-aws-ecs-web-service
A Terraform module to create an Amazon Web Services (AWS) EC2 Container Service (ECS) service associated with an Application Load Balancer (ALB).
Stars: ✭ 26 (-63.38%)
Mutual labels:  ecs
ecs-autoscale
A framework that runs on AWS Lambda for autoscaling ECS clusters and services
Stars: ✭ 69 (-2.82%)
Mutual labels:  ecs
aws-ecs-orb
An orb that simplifies deployment to Amazon's Elastic Container Service (ECS). Supports both EC2 and Fargate launch types.
Stars: ✭ 48 (-32.39%)
Mutual labels:  ecs
EntitasGenericAddon
Addon to Entitas that allows using generic methods instead of code generator and uses type inference to insure compile time correctness
Stars: ✭ 17 (-76.06%)
Mutual labels:  ecs
ent-comp
A light, fast Entity Component System in JS
Stars: ✭ 25 (-64.79%)
Mutual labels:  ecs
aws-ecs-devops-using-aws-cdk
This repository provides a general DevOps practices such MSA, IaC, CICD and Monitoring. AWS various services are used to provide DevOps best practices.
Stars: ✭ 110 (+54.93%)
Mutual labels:  ecs
RavEngine
A fast, easy to use C++20 3D game library for modern computers
Stars: ✭ 122 (+71.83%)
Mutual labels:  ecs
entitas-python
Entitas ECS implementation in Python.
Stars: ✭ 41 (-42.25%)
Mutual labels:  ecs
terraform-aws-ecs-fargate-task-definition
Terraform module to create AWS ECS Fargate Task Definition
Stars: ✭ 20 (-71.83%)
Mutual labels:  ecs
ECS
Entity-Component-System
Stars: ✭ 122 (+71.83%)
Mutual labels:  ecs
terraform-aws-ecs-cluster
Terraform module for building an ECS cluster in AWS
Stars: ✭ 42 (-40.85%)
Mutual labels:  ecs
dokr
Helper package for docker and ECS tasks
Stars: ✭ 17 (-76.06%)
Mutual labels:  ecs
mine.js
🌏 A voxel engine built with JS/TS/RS. (formerly mc.js) (maybe mine.ts? or even mine.rs?)
Stars: ✭ 282 (+297.18%)
Mutual labels:  ecs
terraform-fargate-tutorial
A minimal set of Terraform to create a Fargate service
Stars: ✭ 32 (-54.93%)
Mutual labels:  ecs

terraform-all-in-one

Get fine-grained Kubernetes + Infrastructure on AWS in 30 mins 🚀


Prerequisite

$ brew install ansible jq terraform kops watch
$ pip install awscli

$ git clone [email protected]:1ambda/terraform-all-in-one.git
$ cd terraform-all-one

# Remove .gitigonre to index generated files
rm .gitignore

Usage

1. Export AWS Key Environment variables

The key should have AdministratorAccess permission.

$ export AWS_ACCESS_KEY_ID={VALUE} AWS_SECRET_ACCESS_KEY={VALUE}

2. Generate SSH Key Pair

# Modify values for `COMPANY`,`PROJECT`, and `EMAIL`
$ COMPANY=github PROJECT=1ambda [email protected] ./create-ssh-key.sh

3. Modify Terraform Variables to Customize

company and project variable should match with values used for the generated ssh key.

4. Applying Terraform Modules

  • root-infra: Create VPC, Bastion, ECS, Stroages and build kops scripts

    cd root-infra;
    
    # build infra using terraform
    terraform init
    terraform apply -var 'rds_username={USERNAME}' -var 'rds_password={PASSWORD}'
    
    # provision non-managed stroages using ansible
    ../script-provision/generated.provision-zookeeper.sh
  • root-kubernetes: Build Kubernetes Cluster and install add-ons

    cd root-kubernetes;
    
    # generate kops files
    $(cat generated.kops-env.sh);
    ./generated.kops-create.sh;
    
    # build kubernetes cluster
    terraform init
    terraform apply
    
    # wait for few minitues until Kube API ELB is ready (`api-kops-*`)
    # then validate the created cluster
    kops export kubecfg --name=$NAME
    ./generated.correct-kubectl-context.sh
    
    # wait for 3-5 mins until kubernetes cluster is ready
    kops validate cluster
    kubectl get pods

Features

Credits

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