bbhart / terraform-aws-ec2-cardano-node

Terraform module that provisions a Cardano node on an EC2 instance.

Home Page:https://registry.terraform.io/modules/leb4r/ec2-cardano-node/aws/latest

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

terraform-aws-ec2-cardano-node

Terraform module that provisions a Cardano node on an EC2 instance.

Security

This project has not be audited for security by a third-party. Use at your own discretion.

Benchmark Description
Infrastructure Security Infrastructure Security Compliance
CIS KUBERNETES Center for Internet Security, KUBERNETES Compliance
CIS AWS Center for Internet Security, AWS Compliance
CIS AZURE Center for Internet Security, AZURE Compliance
PCI-DSS Payment Card Industry Data Security Standards Compliance
NIST-800-53 National Institute of Standards and Technology Compliance
ISO27001 Information Security Management System, ISO/IEC 27001 Compliance
SOC2 Service Organization Control 2 Compliance
CIS GCP Center for Internet Security, GCP Compliance
HIPAA Health Insurance Portability and Accountability Compliance

Usage

This example my be using a version that is out-of-date, check the registry page for the most recent usage.

module "ec2-cardano-node" {
  source  = "leb4r/ec2-cardano-node/aws"
  version = "0.0.2"
  # insert the 4 required variables here
}

Requirements

Name Version
terraform >= 0.13.0
aws >= 3.24
cloudinit >= 2.2.0

Providers

Name Version
aws 3.51.0
cloudinit 2.2.0

Modules

Name Source Version
backup cloudposse/backup/aws 0.9.0
config_bucket terraform-aws-modules/s3-bucket/aws 2.5.0
ec2_instance terraform-aws-modules/ec2-instance/aws 2.19.0
encryption_key cloudposse/kms-key/aws 0.10.0
security_group terraform-aws-modules/security-group/aws 4.2.0

Resources

Name Type
aws_ebs_volume.this resource
aws_iam_instance_profile.cardano_node resource
aws_iam_policy.attach_data_volume resource
aws_iam_policy.config_access_policy resource
aws_iam_role.cardano_node resource
aws_iam_role_policy_attachment.access_config resource
aws_iam_role_policy_attachment.attach_data_volume resource
aws_iam_role_policy_attachment.ssm resource
aws_route53_record.this resource
aws_s3_bucket_object.compose resource
aws_s3_bucket_object.topology resource
aws_ami.amazon_linux data source
aws_iam_policy_document.attach_data_volume data source
aws_iam_policy_document.cardano_node_assume_role_policy data source
aws_iam_policy_document.config_access_policy data source
aws_route53_zone.this data source
aws_subnet.this data source
cloudinit_config.user_data data source

Inputs

Name Description Type Default Required
associate_public_ip_address Whether to associate a public IPv4 address for the node bool false no
backup_cold_storage_after Specifies the number of days after creation that a recovery point is moved to cold storage number 30 no
backup_delete_after Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after number 180 no
backup_schedule A CRON expression specifying when AWS Backup initiates a backup job string "cron(0 12 * * ? *)" no
cardano_network The cardano network to connect to, (e.g. mainnet or testnet) string "mainnet" no
cardano_node_image Container image to use for the node string "docker.io/inputoutput/cardano-node" no
cardano_node_port The port to listen for communication on number 3001 no
cardano_node_version Version of cardano-node to run string "master" no
cardano_topology_json JSON string to be used as topology config string "" no
create_kms_key Set to false to use separate KMS key bool true no
create_route53_record Set to true to create an A record in Route 53 for the EC2 instance bool false no
data_volume_size Size of data volume of the node number 30 no
ebs_optimized Whether the EC2 instance is EBS optimized bool true no
enable_monitoring Whether to enable detailed monitoring for the node bool true no
instance_type The type of instance to use for the node string "t3.large" no
kms_key_arn The ARN of the KMS CMK to use for Encryption string "" no
prometheus_ingress_cidrs Comma-delimited list of CIDR blocks from which to allow Prometheus traffic on string "0.0.0.0/0" no
root_volume_size Size of root volume of the node number 8 no
route53_record_name Name of the record to create string "" no
route53_zone_id ID of the Route 53 Zone to create record in string "" no
subnet_id ID off Subnet to deploy node in string n/a yes
tags Map of tags to apply to resources map(string) {} no
vpc_id ID of VPC to deploy node in string n/a yes

Outputs

Name Description
config_bucket_name Name of S3 bucket used to storage config
data_volume_id ID of EBS volume used for data storage
iam_role_name IAM role name
instance_id EC2 Instance ID
security_group_id Security Group ID

About

Terraform module that provisions a Cardano node on an EC2 instance.

https://registry.terraform.io/modules/leb4r/ec2-cardano-node/aws/latest

License:MIT License


Languages

Language:HCL 85.8%Language:Shell 9.7%Language:Smarty 4.5%