actioniq / terraform-aws-retool-ecs-fargate Goto Github PK
View Code? Open in Web Editor NEWTerraform module for deploying Retool on-premise
Home Page: https://registry.terraform.io/modules/ActionIQ/retool-ecs-fargate
License: MIT License
Terraform module for deploying Retool on-premise
Home Page: https://registry.terraform.io/modules/ActionIQ/retool-ecs-fargate
License: MIT License
Current module forces creation of a new cluster. This is undesirable for us as we want it deployed in the same cluster so that it can access existing DBs easily.
Hello, thanks for providing this to facilitate the setup for a retool instance. I would like to request something so we don't have to modify anything from the already provided source code.
As of today there is a series of variables already configured like the LICENSE_KEY, POSTGRES_HOST, etc.
The request is to add these 3 variables GITHUB_APP_PRIVATE_KEY, GITHUB_APP_INSTALLATION_ID and GITHUB_APP_ID, to the task definitions, so we can use them to integrate GitHub.
Not sure if this is something already in place with another variable name but it seems that is not.
If any question please let me know.
why is there a provider in this module?
there is no alias to, and no resources seem to be using it.
Providers should be defined only in the root module, not in the modules, as per hashicorp standard practices
Callers may want to pass a list of allowed cidrs, but since the variables are set to string
it causes the following error when trying to pass a list
│ Error: Invalid value for module argument
│
│ on main.tf line 15, in module "retool_self_hosted":
│ 15: retool_alb_sg_ingress_cidr_blocks = var.allowed_cidrs
│
│ The given value is not suitable for child module variable "retool_alb_sg_ingress_cidr_blocks" defined at .terraform/modules/retool_self_hosted/variables.tf:65,1-45: string required.
╵
╷
│ Error: Invalid value for module argument
│
│ on main.tf line 16, in module "retool_self_hosted":
│ 16: retool_alb_sg_egress_cidr_blocks = var.allowed_cidrs
│
│ The given value is not suitable for child module variable "retool_alb_sg_egress_cidr_blocks" defined at .terraform/modules/retool_self_hosted/variables.tf:71,1-44: string required.
╵
╷
│ Error: Invalid value for module argument
│
│ on main.tf line 17, in module "retool_self_hosted":
│ 17: retool_rds_sg_ingress_cidr_blocks = var.allowed_cidrs
│
│ The given value is not suitable for child module variable "retool_rds_sg_ingress_cidr_blocks" defined at .terraform/modules/retool_self_hosted/variables.tf:77,1-45: string required.
╵
╷
│ Error: Invalid value for module argument
│
│ on main.tf line 18, in module "retool_self_hosted":
│ 18: retool_rds_sg_egress_cidr_blocks = var.allowed_cidrs
│
│ The given value is not suitable for child module variable "retool_rds_sg_egress_cidr_blocks" defined at .terraform/modules/retool_self_hosted/variables.tf:83,1-44: string required.
The TODO here https://github.com/ActionIQ/terraform-aws-retool-ecs-fargate/blob/main/main.tf#L198 is causing invalid passwords to be created, resulting in RDS Cluster creation to fail:
│ Error: error creating RDS cluster: InvalidParameterValue: The parameter MasterUserPassword is not a valid password. Only printable ASCII characters besides '/', '@', '"', ' ' may be used.
│ status code: 400, request id: 4a05328d-04a8-4665-be68-11ff9f2bdb62
│
│ with module.retool-self-hosted.aws_rds_cluster.retool_postgresql,
│ on .terraform/modules/retool-self-hosted/main.tf line 214, in resource "aws_rds_cluster" "retool_postgresql":
│ 214: resource "aws_rds_cluster" "retool_postgresql" {
$ terraform taint module.retool-self-hosted.aws_secretsmanager_secret.retool_rds_secret
$ terraform apply
I'm specifying a specific version 2.110.5
but I am getting this error in the ECS task that tries to pull the image
CannotPullContainerError: pull image manifest has been retried 5 time(s): failed to resolve ref docker.io/tryretool/backend:2.110.5: failed to do request: Head "https://registry-1.docker.io/v2/tryretool/backend/manifests/2.110.5": dial tcp 34.205.13.154:443: i/o timeout
I have also tried this with the default version but it fails with the same error (different version number of course)
Do you have any insight into why I can't pull the image from ECS? Is this still the right registry to pull from?
These are all the required and optional variables I'm populating:
module "retool_self_hosted" {
source = "ActionIQ/retool-ecs-fargate/aws"
retool_licence = var.retool_license
retool_release_version = var.retool_release_version
retool_task_container_force_deployment = var.retool_task_container_force_deployment
vpc_id = var.vpc_id
aws_region = var.aws_region
availability_zones = var.availability_zones
retool_alb_subnets = var.subnet_ids
retool_jobs_runner_ecs_service_subnet = var.subnet_ids
retool_ecs_service_subnet = var.subnet_ids
retool_db_subnet_ids = var.subnet_ids
alb_listener_certificate_arn = var.alb_listener_certificate_arn
aws_lb_listener_protocol = "HTTPS"
database_name = "retool"
route_53_zone_id = var.route_53_zone_id
retool_custom_host_url = var.retool_custom_host_url
retool_ecs_service_count = var.retool_ecs_service_count
retool_jobs_runner_task_cpu = var.retool_jobs_runner_task_cpu
retool_jobs_runner_task_memory = var.retool_jobs_runner_task_memory
retool_rds_cluster_instance_class = var.retool_rds_cluster_instance_class
retool_rds_cluster_instance_count = var.retool_rds_cluster_instance_count
retool_task_cpu = var.retool_task_cpu
retool_task_memory = var.retool_task_memory
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.