https://github.com/obytes/terraform-aws-ecs-boomi
Boomi molecule on AWS ECS
https://github.com/obytes/terraform-aws-ecs-boomi
Last synced: over 1 year ago
JSON representation
Boomi molecule on AWS ECS
- Host: GitHub
- URL: https://github.com/obytes/terraform-aws-ecs-boomi
- Owner: obytes
- License: mit
- Created: 2020-11-09T11:00:27.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-01-17T15:19:38.000Z (over 5 years ago)
- Last Synced: 2025-01-11T13:50:41.436Z (over 1 year ago)
- Language: HCL
- Size: 83 KB
- Stars: 7
- Watchers: 8
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Overview
Preparing the AWS Infrastructure for Boomi Atom installation on ECS Fargate
## Usage
```hcl
module "boomi_node" {
source = "git::https://github.com/obytes/terraform-aws-ecs-boomi.git?ref=tags/v0.0.6"
aws_profile = var.aws_profile
region = var.region
vpc_id = var.vpc_id
private_subnet_ids = var.private_subnet_ids
public_subnet_ids = var.public_subnet_ids
default_sg_id = var.default_sg_id
allowed_cidr_blocks = var.allowed_cidr_blocks
ssh_ec2_key_name = var.ssh_ec2_key_name
instance_type = var.instance_type
min_size = var.min_size
max_size = var.max_size
desired_capacity = var.desired_capacity
desired_count = var.desired_count
container_name = var.container_name
atom_port = var.atom_port
task_definition_cpu = var.task_definition_cpu
task_definition_memory = var.task_definition_memory
allowed_security_group_ids = var.allowed_security_group_ids
prefix = var.prefix
image_tag = var.image_tag
s3_logging = var.s3_logging
cloudwatch_container_name = var.cloudwatch_container_name
cwa_tag = var.cwa_tag
# CHATBOT Conditional Creation
# `is_chatbot_enabled` defaulted to `false`, to activate the module creation add the following attribures
# is_chatbot_enabled = true
# slack_workspace_id = "XXXXXXX"
# slack_channel_id = "XXXX"
}
```
## Requirements
| Name | Version |
|------|---------|
| terraform | >= 0.13.0 |
| aws | = 3.3.0 |
## Providers
| Name | Version |
|------|---------|
| aws | = 3.3.0 |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| allowed\_cidr\_blocks | A list of strings contains the CIDR blocks e.g. 10.10.10.0/26 which allowed to access the ALB | `list(string)` | n/a | yes |
| allowed\_security\_group\_ids | A list of security group IDs to have access to the container | `list(string)` | `[]` | no |
| atom\_port | The port number for the Atom which is defaulted to 9090 | `number` | `9090` | no |
| aws\_profile | The AWS Profile name with the required permissions stored in ~/.aws/credentials used by Terraform to create the resources | `string` | n/a | yes |
| cloudwatch\_container\_name | CloudWatch Agent container name | `string` | n/a | yes |
| container\_name | The Container Name | `string` | `"atom_node"` | no |
| cwa\_tag | Docker image tag for the CloudWatch Agent | `string` | `"cwa"` | no |
| default\_sg\_id | Default SG ID for the VPC | `string` | n/a | yes |
| desired\_capacity | The number of Amazon EC2 instances that should be running in the group | `number` | n/a | yes |
| desired\_count | The number of instances of the task definition to place and keep running. | `number` | n/a | yes |
| image\_tag | The image tag used by the ECS Task definition to create Atom Container | `string` | `"latest"` | no |
| instance\_type | Instance Type, e.g. t2.micro | `string` | n/a | yes |
| is\_chatbot\_enabled | A boolean variable for conditional creation of chatbot module | `bool` | `false` | no |
| max\_size | The maximum size of the auto scale group | `number` | n/a | yes |
| min\_size | The minimum size of the auto scale group | `number` | n/a | yes |
| prefix | A prefix string will be used to structure the ID/Name of resource | `string` | n/a | yes |
| private\_subnet\_ids | A list of strings contains the IDs of the private subnets in the vpc | `list(string)` | n/a | yes |
| project\_name | Project Name . This is used by the local.common\_tags to tag the resources | `string` | `"boomi"` | no |
| public\_subnet\_ids | A list of strings contains the IDs of the public subnets in the vpc | `list(string)` | n/a | yes |
| region | AWS Region name used by the AWS Terraform Provider | `string` | n/a | yes |
| s3\_logging | AWS S3 Bucket details used by the modules, required keys are bucket\_name and bucket\_arn | `map(string)` | n/a | yes |
| slack\_channel\_id | The Slack channel ID where AWS Chatbot would post the messages | `string` | `""` | no |
| slack\_workspace\_id | The Slack workspace/organization ID | `string` | `""` | no |
| ssh\_ec2\_key\_name | the name of the pair key to access the ec2 | `string` | n/a | yes |
| task\_definition\_cpu | CPU for the task definition | `number` | `256` | no |
| task\_definition\_memory | Memory for the task definition | `number` | `512` | no |
| vpc\_id | VPC ID, example vpc-1122334455 | `string` | n/a | yes |
## Outputs
| Name | Description |
|------|-------------|
| aws\_efs\_access\_point | n/a |
| ecs | n/a |
| file\_system\_id | n/a |
| kms | n/a |
| parameters\_secret\_manager | n/a |
| repository\_url | n/a |
| s3\_logging | n/a |
| secrets\_secret\_manager | n/a |
| security\_group\_id | n/a |
| service\_name | n/a |