Skip to content

Latest commit

 

History

History
125 lines (114 loc) · 13.5 KB

README.md

File metadata and controls

125 lines (114 loc) · 13.5 KB

Requirements

Name Version
terraform >= 1.2.9
aws ~> 4.45
random ~> 3.4

Providers

Name Version
aws 4.67.0
aws.us-east-1 4.67.0
random 3.5.1

Modules

No modules.

Resources

Name Type
aws_acm_certificate.main resource
aws_acm_certificate.us-east-1 resource
aws_acm_certificate_validation.main resource
aws_acm_certificate_validation.us-east-1 resource
aws_cloudfront_distribution.main resource
aws_cloudfront_origin_access_control.main resource
aws_db_instance.main resource
aws_db_subnet_group.main resource
aws_eip.main resource
aws_iam_instance_profile.main resource
aws_iam_role.main resource
aws_iam_role_policy.main resource
aws_instance.main resource
aws_lb.main resource
aws_lb_listener.main_http resource
aws_lb_listener.main_https resource
aws_lb_target_group.main resource
aws_lb_target_group_attachment.main resource
aws_route53_record.acm resource
aws_route53_record.dkim resource
aws_route53_record.files resource
aws_route53_record.spf resource
aws_route53_record.web resource
aws_s3_bucket.backup resource
aws_s3_bucket.logs resource
aws_s3_bucket.main resource
aws_s3_bucket_acl.logs_cloudfront resource
aws_s3_bucket_lifecycle_configuration.backup resource
aws_s3_bucket_lifecycle_configuration.logs resource
aws_s3_bucket_policy.logs_elb resource
aws_s3_bucket_policy.main resource
aws_s3_bucket_public_access_block.backup resource
aws_s3_bucket_public_access_block.logs resource
aws_s3_bucket_public_access_block.main resource
aws_s3_object.healthcheck resource
aws_security_group.backend resource
aws_security_group.db resource
aws_security_group.lb resource
aws_ses_domain_dkim.main resource
aws_ses_domain_identity.main resource
aws_ses_domain_identity_verification.main resource
aws_ssm_parameter.postgres_address resource
aws_ssm_parameter.postgres_heartbeat_url resource
aws_ssm_parameter.postgres_name resource
aws_ssm_parameter.postgres_password resource
aws_ssm_parameter.postgres_username resource
aws_ssm_parameter.s3_bucket resource
aws_ssm_parameter.s3_bucket_backup resource
aws_vpc_security_group_egress_rule.backend_all resource
aws_vpc_security_group_egress_rule.lb_all resource
aws_vpc_security_group_ingress_rule.backend_lb resource
aws_vpc_security_group_ingress_rule.backend_mosh resource
aws_vpc_security_group_ingress_rule.backend_ssh resource
aws_vpc_security_group_ingress_rule.db_backend resource
aws_vpc_security_group_ingress_rule.lb_http resource
aws_vpc_security_group_ingress_rule.lb_https resource
aws_vpc_security_group_ingress_rule.lb_icmp resource
random_id.s3_bucket_suffix resource
random_password.postgres resource
aws_ami.ubuntu data source
aws_caller_identity.current data source
aws_canonical_user_id.current data source
aws_cloudfront_cache_policy.managed data source
aws_cloudfront_log_delivery_canonical_user_id.cloudfront data source
aws_cloudfront_origin_request_policy.managed data source
aws_elb_service_account.elb data source
aws_iam_policy_document.bucket_policy data source
aws_iam_policy_document.ec2-assume-role data source
aws_iam_policy_document.logs_bucket_policy data source
aws_iam_policy_document.main data source
aws_key_pair.main data source
aws_region.current data source
aws_route53_zone.main data source
aws_subnet.ec2 data source

Inputs

Name Description Type Default Required
domain Domain of the Pleroma instance. This domain points to ELB. The domain must already exist in Route 53. string n/a yes
ec2_instance_type n/a string "t3.micro" no
ec2_key_name Name of key pair to log into the EC2 instance. The key pair must already exist. string n/a yes
files_domain Domain for serving user-uploaded files. This domain points to CloudFront, whose origin is an S3 bucket. string n/a yes
name Name of the service. It will be used to name EC2, ELB, and RDS instances. string "pleroma" no
private_subnet_ids List of IDs of subnets to create private resources (e.g. databases) in. list(string) n/a yes
public_subnet_ids List of IDs of subnets to create public resources (e.g. load balancers) in. list(string) n/a yes
rds_allocated_storage n/a number 20 no
rds_instance_class n/a string "db.t4g.micro" no
rds_storage_type n/a string "gp2" no
vpc_id ID of the VPC where the resources are created. string n/a yes

Outputs

Name Description
bucket_logs S3 bucket for storing CloudFront and ELB logs.
bucket_main S3 bucket for storing user-uploaded files.
instance The main EC2 instance.
lb The Application Load Balancer.