chainlink-ea

ChainOrion/chainlink-ea/aws

Terraform Module HCL AWS

Terraform module to create AWS infra for Chainlink External Adapters

Install
module "chainlink-ea" {
source = "ChainOrion/chainlink-ea/aws"
version = "2.0.0"
}
plain text: /constructs/tfmod-chainorion-chainlink-ea-aws/install.txt
⭐ Source on GitHub 📦 Registry page
README

Chainlink External Adapters Terraform Module Terraform module which creates AWS infra for Chainlink External Adapters: - AWS Fargate - AWS Application Load Balancer - AWS Secrets Manager (to store API keys and other secrets) - AWS Route53&ACM - AWS IAM - AWS MemoryDB (if Redis cache is enabled) - AWS CloudWatch Supports all adapters available on chainlink/adapters. Terraform module for Chainlink Node: here Architecture overview Where: - !#DAE8FC Covered by Chainlink Node terraform module - !#D5E8D4 Covered by this Chainlink External Adapters terraform module - !#D0CEE2 Covered by RDS community terraform module - !#FFE6CC Covered by VPC community terraform module Usage Basic example ``hcl module "chainlink_ea" { source = "../../." project = "example" environment = "nonprod" aws_region = "eu

Inputs (21)
NameTypeDescriptionDefault
projectstringProject name required
aws_regionstringAWS Region (required for CloudWatch logs configuration) required
aws_account_idstringAWS account id. Used to add alarms to dashboard required
vpc_public_subnetslist(any)VPC public subnets where ALB should be deployed (at least 2) required
vpc_idstringID of the VPC where Chainlink EAs should be deployed required
vpc_private_subnetslist(any)VPC private subnets where Chainlink EAs should be deployed (at least 2) required
route53_zoneidstringRoute53 hosted zone id. Nameservers of your zone should be added to your domain ""
memorydb_node_typestringThe compute and memory capacity of the nodes in the cluster"db.t4g.small"
memorydb_snapshot_retention_limitnumberThe number of days for which MemoryDB retains automatic snapshots before deletin0
memorydb_num_replicas_per_shardnumberThe number of replicas to apply to each shard, up to a maximum of 50
monitoring_enabledboolDefines whether to create CloudWatch dashboard and custom metrics or notfalse
memorydb_shards_countnumberThe number of shards in the cluster1
sns_topic_arnstringSNS topic arn for alerts. If not specified, module will create an empty topic an""
route53_subdomain_namestringSubdomain name that will be used to create Route53 record to NLB endpoint with t""
ea_desired_task_countnumberNumber of instances of the task definition to place and keep running1
elb_alarms_enabledboolDefines whether to create CloudWatch alarms of 4XX and 5XX status codes on ALB ofalse
route53_domain_namestringDomain name that is used in your AWS Route53 hosted zone. Nameservers of your zo""
environmentstringEnvironment name"nonprod"
external_adaptersanyMap of external adapters that needs to be deployed. See example in ./examples/co{}
cache_redisstringDefines which cache type should be used. Options: local or redis. false means thfalse
route53_enabledboolDefines if AWS Route53 record and AWS ACM certificate for EA ALB should be creatfalse
Outputs (4)
chainlink_ea_memory_db_address — DNS hostname of the cluster configuration endpoint
chainlink_ea_memory_db_port — Port number that the cluster configuration endpoint is listening on
alb_security_group_id — ID of security group attached to ALB. Used to configure additional rules. ALB has restricted access
chainlink_ea_load_balancer — Internal ALB endpoint to accress EA's
Resources (21)
aws_cloudwatch_dashboardaws_cloudwatch_log_groupaws_cloudwatch_log_metric_filteraws_cloudwatch_metric_alarmaws_ecs_clusteraws_ecs_serviceaws_ecs_task_definitionaws_iam_policyaws_iam_roleaws_iam_role_policy_attachmentaws_lbaws_lb_listeneraws_lb_listener_ruleaws_lb_target_groupaws_memorydb_clusteraws_memorydb_parameter_groupaws_memorydb_subnet_groupaws_route53_recordaws_security_groupaws_security_group_ruleaws_sns_topic
Details
FrameworkTerraform Module
LanguageHCL
Version2.0.0
Cloud AWS
★ Stars4
Forks1
Total downloads3.6k
Inputs21
Outputs4
Resources21
Examples4
Submodules1
LicenseMIT
NamespaceChainOrion
Updated