tfxor / terrahub

Terraform Automation and Orchestration Tool (Open Source)
https://docs.terrahub.io
Mozilla Public License 2.0
224 stars 19 forks source link

Implement Fargate and Local distributors as part of Cloud Deployer #866

Open eistrati opened 5 years ago

eistrati commented 5 years ago

Describe the Feature

Implement Fargate and Local distributors as part of Cloud Deployer

Expected Behavior

CLI should read terraform.distributor value and provision terrahub component in corresponding service. The config would look like this:

project:
  name: my_project
  distributor: fargate   # default: local; all options: local|lambda|fargate|appEngine|cloudFunctions
  [...]

or

component:
  name: my_component
  distributor: fargate   # default: local; all options: local|lambda|fargate|appEngine|cloudFunctions
  [...]

When fargate is specified, corresponding terrahub component should be launched in Amazon ECS using Fargate task type. This means that Docker image used in ECS should be predefined and stored in Amazon ECR.

eistrati commented 5 years ago

Additionally, let's add distributor: local value, which will allow to use local environment for specific terrahub component. In summary, allowed values will be local, lambda (default), fargate, appEngine and cloudFunctions.