Giter Site home page Giter Site logo

actioniq / terraform-aws-retool-ecs-fargate Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 36 KB

Terraform module for deploying Retool on-premise

Home Page: https://registry.terraform.io/modules/ActionIQ/retool-ecs-fargate

License: MIT License

HCL 100.00%
aws aws-fargate retool terraform terraform-module

terraform-aws-retool-ecs-fargate's People

Contributors

comradezo avatar dependabot[bot] avatar oldcrowew avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

tristandibbens

terraform-aws-retool-ecs-fargate's Issues

Configure existing cluster

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.

Adding GitHub related environment variables for source control

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.

aws provider

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

cidr_blocks variables should be type list(string)

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.

module.retool-self-hosted.aws_rds_cluster.retool_postgresql allows invalid passwords to be generated

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" {

Expected behavior:

  • valid password is generated for RDS Cluster

Workaround:

$ terraform taint module.retool-self-hosted.aws_secretsmanager_secret.retool_rds_secret
$ terraform apply

Timeout when pulling the tryretool/backend container

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
}

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.