Code Monkey home page Code Monkey logo

terraform-aws-alb-web-containers's Issues

Dependabot can't parse your go.mod

Dependabot couldn't parse the go.mod found at /go.mod.

The error Dependabot encountered was:

go: github.com/gruntwork-io/[email protected] requires
	github.com/google/[email protected] requires
	github.com/vdemeester/[email protected] requires
	k8s.io/[email protected] requires
	google.golang.org/[email protected]: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /opt/go/gopath/pkg/mod/cache/vcs/30a5dbaa452c7ca9354df264080379bbcf24496036c60968495fa0ec4a41888c: exit status 128:
	fatal: The remote end hung up unexpectedly
	fatal: early EOF
	fatal: index-pack failed

View the update logs.

Permissions error accessing logs bucket.

I'm sure I messed something up somewhere, but haven't had any luck getting passed this one.

module.alb.aws_lb.main: Still creating... [10s elapsed]
module.alb.aws_lb.main: Still creating... [20s elapsed]
module.alb.aws_lb.main: Still creating... [30s elapsed]

Error: Failure configuring LB attributes: InvalidConfigurationRequest: Access Denied for bucket: dev-example-alb-logs Please check S3bucket permission
	status code: 400, request id: 1379cdf9-8253-41cb-a844-9323808de4fe

  on .terraform/modules/alb/terraform-aws-alb-web-containers-3.0.2/main.tf line 91, in resource "aws_lb" "main":
  91: resource "aws_lb" "main" {


I have also tried with default_allow = true in module.logs

lb.tf

locals {
  zone_name          = "${var.env}.example.com"
  container_protocol = "HTTP"
  container_port     = "80"
  health_check_path  = "/"
  app_name           = "example"
  logs_bucket        = "${var.env}-${local.app_name}-alb-logs"
}

module "logs" {
  source         = "trussworks/logs/aws"
  s3_bucket_name = local.logs_bucket
  region         = var.region
  force_destroy  = true
  default_allow  = false
  allow_alb      = true
}

module "alb" {
  source  = "trussworks/alb-web-containers/aws"

  name           = "${local.app_name}-alb"
  environment    = local.environment
  logs_s3_bucket = local.logs_bucket

  alb_vpc_id                  = module.vpc.vpc_id
  alb_subnet_ids              = module.vpc.public_subnets
  alb_default_certificate_arn = module.acm.this_acm_certificate_arn

  container_port     = local.container_port
  container_protocol = local.container_protocol
  health_check_path  = local.health_check_path
}

Route53 support?

I found that domain support was removed in commit 4bc0a3a, but since there was no context in the commit message, I was wondering if there was some reason for removing the support for domains for the web containers ๐Ÿค”

I am assuming that the previous implementation had a specific format for the sub-domain

fqdn = "${var.name}.${var.environment}.${var.zone_name}"
which did not align with generalized use of the module.

But I think it would be useful if we included a provision to use a route53 domain for a web service. It is probably a missing part of a web service module. The implementation could be similar to how the module accepts variables for the ALB certificates.

If you are open to it, I could come up with a pull request for it.


Personal wish-list : I would prefer if,

  1. we created the Amazon Certificate Manager ( ACM ) certificates for the domains as well, but I am okay with passing an Amazon Resource Name ( ARN ) too ( because my use-case uses a wildcard certificate for the whole sub-domain ๐Ÿ˜„ )
  2. we created basic cloudwatch metric alarms - HTTPCode_ELB_5xx_Count and HTTPCode_Target_5xx_Count; but I understand that different people might have their own metrics, conditions and thresholds.

PS : These are holding me back from using this module directly in my project and not having to redefine the whole module.

swap name and environment?

It would be nice if we had the environment variable first rather than the name of the module because that way it would be easier to sort resources by environment when we have too many resources.

Yes, I am aware that there are tags, filters, etc; but this change would make the list of resources look neat visually not a huge jungle of names with seemingly no order.

Inappropriate value for attribute "subnets" with Terraform version 0.12

Trying to use Terraform 0.12.3 with alb-web-containers/aws and ran into below errors.
Any plans to make this module compatible with 0.12.* ?

source  = "trussworks/alb-web-containers/aws"
version = "~> 2.4.0"
Error: Incorrect attribute value type

  on .terraform/modules/app_ellsworth.alb_web_containers/trussworks-terraform-aws-alb-web-containers-ac86ff1/main.tf line 90, in resource "aws_lb" "main":
  90:   subnets         = ["${var.alb_subnet_ids}"]

Inappropriate value for attribute "subnets": element 0: string required.

attach more security groups to load balancer

Oftentimes, there might be some extra rules that one might want to add to the load balancers.

Since the security_groups argument for resource "aws_lb" accepts a list, we could accept another list and then merge that with what we currently have.

Use case : I want to run an application on a custom port ( other than the default 80 and 443 ).

I am aware that it would be aesthetically better to run the load balancer on the default ports and then run the application on whatever different ports I want ( using container_port ). However, I have a hard requirement from a customer that the domain for the application use a different port than the default.

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.