Giter Site home page Giter Site logo

connect-group / terraform-aws-ses-dashboard Goto Github PK

View Code? Open in Web Editor NEW
25.0 25.0 15.0 40 KB

This module will create a Deliverability Dashboard that shows information about SES Email bounces and complaints.

License: Apache License 2.0

Smarty 1.56% HCL 34.11% JavaScript 34.58% HTML 29.74%
aws email ses terraform

terraform-aws-ses-dashboard's People

Contributors

4dz avatar c0ntax avatar nutellinoit avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

terraform-aws-ses-dashboard's Issues

Terraform 0.12 support

Hello,

Terraform 0.12 has been released so I'm wondering if there is any plan to upgrade this module so it would be compatible with the latest version of Terraform.

Thanks.

You can only install one of these per account

The role name has to be unique. If you install two different ones, one of them won't install:

module "dashboard" {
  source = "connect-group/ses-dashboard/aws"
  to_addresses = ["[email protected]"]
  bucket_prefix = "a"
  email_dashboard_name = "email-delivery-dashboard-email-recipient-a"
  email_delivery_topic_name = "email-delivery-topic-a"
  email_from_display_name = "A Email Delivery Dashboards"
  queue_name = "email-delivery-queue-a"
}

module "dashboard" {
  source = "connect-group/ses-dashboard/aws"
  to_addresses = ["[email protected]"]
  bucket_prefix = "b"
  email_dashboard_name = "email-delivery-dashboard-email-recipient-b"
  email_delivery_topic_name = "email-delivery-topic-b"
  email_from_display_name = "B Email Delivery Dashboards"
  queue_name = "email-delivery-queue-b"
}

Outputs:

Error: error creating IAM policy email-delivery-dashboard-policy: EntityAlreadyExists: A policy called email-delivery-dashboard-policy already exists. Duplicate names are not allowed
Error: Error creating IAM Role email-delivery-dashboard-role: EntityAlreadyExists: Role with name email-delivery-dashboard-role already exists.

Is there a way to prefix these or override their names so that they can be unique?

The Lambda crashes for queues with over 1000 messages

I currently have over 2500 messages in the dashboard SQS queue. The Lambda crashes when processing it with an error

{
"errorType": "NetworkingError",
"errorMessage": "getaddrinfo EMFILE sqs.eu-west-1.amazonaws.com sqs.eu-west-1.amazonaws.com:443",
"trace": [
"Error: getaddrinfo EMFILE sqs.eu-west-1.amazonaws.com sqs.eu-west-1.amazonaws.com:443",
" at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)"
]
}

This might be caused by Lambda limits https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html

AWS Lambda: Node.js 6.10 will soon be EOL

I have received this message from AWS:

Your AWS Account currently has one or more Lambda functions using the node.js 6.10 runtime. The Node Foundation has previously published that node.js 6.x "Boron" will be declared End-of-Life (EOL) on April 2019 [1], and will stop receiving bug fixes, security updates, or performance improvements. Per the AWS Lambda runtime support policy [2], language runtimes that have reached their EOL are deprecated in AWS Lambda.

Invokes for functions configured to run on node.js 6.10 will continue to work normally, however the ability to create new Lambda functions configured to use the node.js 6.10 runtime will be disabled on April 30 2019. Code updates to existing functions using node.js 6.10 will be disabled 30 days later on May 30 2019

We encourage you to update your node.js 6.10 functions to a newer version of the Node runtime (node.js 8.10) so that you continue to benefit from important security, performance, and functionality enhancements offered by more recent releases. The newer node.js 8.10 version has improved ECMAScript support, along with other language and API improvements. The AWS Lambda programming model [3] for node.js 8.10 maintains backwards compatibility with previous versions to simplify portability. We recommend that you test your Lambda function to validate its behavior on the newer version of Node.js.

I guess an upgrade to node.js 8.10 is needed for the function we are using. Is there any plan on doing that?

Lambda execution failed in region eu-central-1

I am using the module as follows

module "bounce_complaint_dashboard" {
  source  = "connect-group/ses-dashboard/aws"
  version = "2.0.2"
  providers = {
    aws = aws.francoforte
  }
  to_addresses               = var.ses_dashboard_notification_list
  bucket_prefix              = var.project
  email_dashboard_name       = "${var.project}-delivery-dashboard"
  email_delivery_topic_name  = "${var.project}-delivery-topic"
  queue_name                 = "${var.project}-delivery-queue"
  email_from_display_name    = "Bounced Emails Dashboard"
  email_introduction_message = "Bounced emails, or complaint emails, have been received for this account."
}

But whenever I run the Lambda function created by above module it throws following error.

uest.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:686:14)
    at error (/var/runtime/node_modules/aws-sdk/lib/event_listeners.js:443:22)
    at ClientRequest.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/http/node.js:99:9)
    at ClientRequest.emit (node:events:513:28)
    at ClientRequest.emit (node:domain:489:12)
    at TLSSocket.socketErrorListener (node:_http_client:494:9)
    at TLSSocket.emit (node:events:513:28) {
  code: 'UnknownEndpoint',
  region: 'eu-central-1',
  hostname: 'sqs.eu-central-1.amazonaws.com',
  retryable: true,
  originalError: Error: getaddrinfo EMFILE sqs.eu-central-1.amazonaws.com
      at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:109:26) {
    errno: -24,
    code: 'NetworkingError',
    syscall: 'getaddrinfo',
    hostname: 'sqs.eu-central-1.amazonaws.com',
    region: 'eu-central-1',
    retryable: true,
    time: 2023-09-20T17:04:52.224Z
  },
  time: 2023-09-20T17:04:52.224Z
} UnknownEndpoint: Inaccessible host: `sqs.eu-central-1.amazonaws.com' at port `undefined'. This service may not be available in the `eu-central-1' region.
    at Request.ENOTFOUND_ERROR (/var/runtime/node_modules/aws-sdk/lib/event_listeners.js:611:46)
    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:686:14)
    at error (/var/runtime/node_modules/aws-sdk/lib/event_listeners.js:443:22)
    at ClientRequest.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/http/node.js:99:9)
    at ClientRequest.emit (node:events:513:28)
    at ClientRequest.emit (node:domain:489:12)
    at TLSSocket.socketErrorListener (node:_http_client:494:9)
    at TLSSocket.emit (node:events:513:28)
2023-09-20T17:04:52.241Z	6cac05a9-827e-40c9-913a-2e4cd6e762c2	ERROR	Uncaught Exception 	{"errorType":"UnknownEndpoint","errorMessage":"Inaccessible host: `sqs.eu-central-1.amazonaws.com' at port `undefined'. This service may not be available in the `eu-central-1' region.","code":"UnknownEndpoint","message":"Inaccessible host: `sqs.eu-central-1.amazonaws.com' at port `undefined'. This service may not be available in the `eu-central-1' region.","region":"eu-central-1","hostname":"sqs.eu-central-1.amazonaws.com","retryable":true,"originalError":{"errorType":"NetworkingError","errorMessage":"getaddrinfo EMFILE sqs.eu-central-1.amazonaws.com","code":"NetworkingError","message":"getaddrinfo EMFILE sqs.eu-central-1.amazonaws.com","errno":-24,"syscall":"getaddrinfo","hostname":"sqs.eu-central-1.amazonaws.com","region":"eu-central-1","retryable":true,"time":"2023-09-20T17:04:52.224Z","stack":["Error: getaddrinfo EMFILE sqs.eu-central-1.amazonaws.com","    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:109:26)"]},"time":"2023-09-20T17:04:52.241Z","stack":["UnknownEndpoint: Inaccessible host: `sqs.eu-central-1.amazonaws.com' at port `undefined'. This service may not be available in the `eu-central-1' region.","    at Request.ENOTFOUND_ERROR (/var/runtime/node_modules/aws-sdk/lib/event_listeners.js:611:46)","    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)","    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)","    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:686:14)","    at error (/var/runtime/node_modules/aws-sdk/lib/event_listeners.js:443:22)","    at ClientRequest.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/http/node.js:99:9)","    at ClientRequest.emit (node:events:513:28)","    at ClientRequest.emit (node:domain:489:12)","    at TLSSocket.socketErrorListener (node:_http_client:494:9)","    at TLSSocket.emit (node:events:513:28)"]}
Unknown application error occurred
Runtime.Unknown
END RequestId: 6cac05a9-827e-40c9-913a-2e4cd6e762c2
REPORT RequestId: 6cac05a9-827e-40c9-913a-2e4cd6e762c2	Duration: 24877.09 ms	Billed Duration: 24878 ms	Memory Size: 512 MB	Max Memory Used: 317 MB	Init Duration: 479.73 ms	

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.