|
| 1 | +<!-- BEGIN_TF_DOCS --> |
| 2 | +# Grafana Minimal |
| 3 | + |
| 4 | +Configuration in this directory creates: |
| 5 | + |
| 6 | +- ECS Service in a pre-configured ECS Cluster to deploy Grafana tasks |
| 7 | +- ECS Task Definition to run Grafana container |
| 8 | +- Application Load Balancer to provide endpoint for accessing the Grafana dashboard, and |
| 9 | +- ACM certificate for a domain name to use with the Grafana ALB endpoint |
| 10 | + |
| 11 | +## Example `tfvars` Configuration |
| 12 | + |
| 13 | +```tf |
| 14 | +vpc_id = "vpc-06c3718eeee7ce034" |
| 15 | +cluster_name = "default-cluster" |
| 16 | +
|
| 17 | +# ECS Service |
| 18 | +service_subnet_ids = ["subnet-08a47aaf2e2328e38", "subnet-04017c6ce4c1adaa4"] |
| 19 | +
|
| 20 | +# ALB |
| 21 | +alb_subnet_ids = ["subnet-00e0e78571726e5c1", "subnet-00ec7b7882cfb78b1"] |
| 22 | +
|
| 23 | +# ACM |
| 24 | +acm_grafana_domain_name = "grafana.gaussb.io" |
| 25 | +acm_record_zone_id = "Z0105802SJKE46BQ70GU" |
| 26 | +
|
| 27 | +# RDS |
| 28 | +rds_db_subnet_group_subnet_ids = ["subnet-08a47aaf2e2328e38", "subnet-04017c6ce4c1adaa4"] |
| 29 | +``` |
| 30 | + |
| 31 | +## Usage |
| 32 | + |
| 33 | +To run this example, you will need to execute the commands: |
| 34 | + |
| 35 | +```bash |
| 36 | +terraform init |
| 37 | +terraform plan |
| 38 | +terraform apply |
| 39 | +``` |
| 40 | + |
| 41 | +Please note that this example may create resources that can incur monetary charges on your AWS bill. You can run `terraform destroy` when you no longer need the resources. |
| 42 | + |
| 43 | +## Requirements |
| 44 | + |
| 45 | +| Name | Version | |
| 46 | +|------|---------| |
| 47 | +| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.8.4 | |
| 48 | + |
| 49 | +## Providers |
| 50 | + |
| 51 | +No providers. |
| 52 | + |
| 53 | +## Modules |
| 54 | + |
| 55 | +| Name | Source | Version | |
| 56 | +|------|--------|---------| |
| 57 | +| <a name="module_grafana"></a> [grafana](#module\_grafana) | ../../ | n/a | |
| 58 | + |
| 59 | +## Resources |
| 60 | + |
| 61 | +No resources. |
| 62 | + |
| 63 | +## Inputs |
| 64 | + |
| 65 | +| Name | Description | Type | Default | Required | |
| 66 | +|------|-------------|------|---------|:--------:| |
| 67 | +| <a name="input_acm_grafana_domain_name"></a> [acm\_grafana\_domain\_name](#input\_acm\_grafana\_domain\_name) | Grafana domain name for which the certificate should be issued. | `string` | n/a | yes | |
| 68 | +| <a name="input_acm_record_zone_id"></a> [acm\_record\_zone\_id](#input\_acm\_record\_zone\_id) | Canonical hosted zone ID of the Load Balancer. | `string` | n/a | yes | |
| 69 | +| <a name="input_alb_subnet_ids"></a> [alb\_subnet\_ids](#input\_alb\_subnet\_ids) | List of public VPC subnet IDs where the Application Load Balancer will be configured. | `list(string)` | n/a | yes | |
| 70 | +| <a name="input_cluster_name"></a> [cluster\_name](#input\_cluster\_name) | Name of the cluster. | `string` | n/a | yes | |
| 71 | +| <a name="input_rds_db_subnet_group_subnet_ids"></a> [rds\_db\_subnet\_group\_subnet\_ids](#input\_rds\_db\_subnet\_group\_subnet\_ids) | A list of VPC subnet IDs. | `list(string)` | n/a | yes | |
| 72 | +| <a name="input_service_subnet_ids"></a> [service\_subnet\_ids](#input\_service\_subnet\_ids) | List of VPC subnet IDs where the infrastructure will be configured. | `list(string)` | n/a | yes | |
| 73 | +| <a name="input_vpc_id"></a> [vpc\_id](#input\_vpc\_id) | The ID of the VPC. | `string` | n/a | yes | |
| 74 | + |
| 75 | +## Outputs |
| 76 | + |
| 77 | +| Name | Description | |
| 78 | +|------|-------------| |
| 79 | +| <a name="output_acm_certificate_arn"></a> [acm\_certificate\_arn](#output\_acm\_certificate\_arn) | ARN of the ACM certificate for Grafana endpoint. | |
| 80 | +| <a name="output_acm_certificate_id"></a> [acm\_certificate\_id](#output\_acm\_certificate\_id) | Identifier of the ACM certificate for Grafana endpoint. | |
| 81 | +| <a name="output_acm_certificate_validation_id"></a> [acm\_certificate\_validation\_id](#output\_acm\_certificate\_validation\_id) | Identifier of the Grafana endpoint ACM certificate validation resource. | |
| 82 | +| <a name="output_acm_route53_record_id"></a> [acm\_route53\_record\_id](#output\_acm\_route53\_record\_id) | Identifier of the Route53 Record for validation of the Grafana endpoint ACM certificate. | |
| 83 | +| <a name="output_alb_arn"></a> [alb\_arn](#output\_alb\_arn) | ARN of the Grafana load balancer. | |
| 84 | +| <a name="output_alb_dns_name"></a> [alb\_dns\_name](#output\_alb\_dns\_name) | DNS name of the Grafana load balancer. | |
| 85 | +| <a name="output_alb_listener_arn"></a> [alb\_listener\_arn](#output\_alb\_listener\_arn) | ARN of the Listener for Grafana services. | |
| 86 | +| <a name="output_alb_listener_id"></a> [alb\_listener\_id](#output\_alb\_listener\_id) | Identifier of the Listener for Grafana services. | |
| 87 | +| <a name="output_alb_target_group_arn"></a> [alb\_target\_group\_arn](#output\_alb\_target\_group\_arn) | ARN of the Target Group of Grafana services. | |
| 88 | +| <a name="output_alb_target_group_id"></a> [alb\_target\_group\_id](#output\_alb\_target\_group\_id) | Identifier of the Target Group of Grafana services. | |
| 89 | +| <a name="output_alb_zone_id"></a> [alb\_zone\_id](#output\_alb\_zone\_id) | Canonical hosted zone ID of the Grafana Load Balancer. | |
| 90 | +| <a name="output_ecs_service_security_group_arn"></a> [ecs\_service\_security\_group\_arn](#output\_ecs\_service\_security\_group\_arn) | ARN of the Grafana ECS Service Security Group. | |
| 91 | +| <a name="output_ecs_service_security_group_id"></a> [ecs\_service\_security\_group\_id](#output\_ecs\_service\_security\_group\_id) | Identifier of the Grafana ECS Service Security Group. | |
| 92 | +| <a name="output_grafana_alb_security_group_arn"></a> [grafana\_alb\_security\_group\_arn](#output\_grafana\_alb\_security\_group\_arn) | ARN of the Grafana ALB Security Group. | |
| 93 | +| <a name="output_grafana_alb_security_group_id"></a> [grafana\_alb\_security\_group\_id](#output\_grafana\_alb\_security\_group\_id) | Identifier of the Grafana ALB Security Group. | |
| 94 | +| <a name="output_grafana_backend_rds_security_group_arn"></a> [grafana\_backend\_rds\_security\_group\_arn](#output\_grafana\_backend\_rds\_security\_group\_arn) | ARN of the Grafana Backend RDS Security Group. | |
| 95 | +| <a name="output_grafana_backend_rds_security_group_id"></a> [grafana\_backend\_rds\_security\_group\_id](#output\_grafana\_backend\_rds\_security\_group\_id) | Identifier of the Grafana Backend RDS Security Group. | |
| 96 | +| <a name="output_grafana_ecs_service_arn"></a> [grafana\_ecs\_service\_arn](#output\_grafana\_ecs\_service\_arn) | ARN that identifies the Grafana ECS service. | |
| 97 | +| <a name="output_grafana_ecs_task_definition_arn"></a> [grafana\_ecs\_task\_definition\_arn](#output\_grafana\_ecs\_task\_definition\_arn) | Full ARN of the Grafana ECS Task Definition. | |
| 98 | +| <a name="output_grafana_execution_iam_role_arn"></a> [grafana\_execution\_iam\_role\_arn](#output\_grafana\_execution\_iam\_role\_arn) | Amazon Resource Name (ARN) specifying the Grafana Execution IAM role. | |
| 99 | +| <a name="output_grafana_execution_iam_role_id"></a> [grafana\_execution\_iam\_role\_id](#output\_grafana\_execution\_iam\_role\_id) | Name of the Grafana Execution IAM role. | |
| 100 | +| <a name="output_grafana_execution_iam_role_policies_arns"></a> [grafana\_execution\_iam\_role\_policies\_arns](#output\_grafana\_execution\_iam\_role\_policies\_arns) | Map of IAM Policies ARNs created and attached with the Grafana Execution IAM role. | |
| 101 | +| <a name="output_grafana_execution_iam_role_policies_ids"></a> [grafana\_execution\_iam\_role\_policies\_ids](#output\_grafana\_execution\_iam\_role\_policies\_ids) | Map of IAM Policies Identifiers created and attached with the Grafana Execution IAM role. | |
| 102 | +| <a name="output_grafana_task_iam_role_arn"></a> [grafana\_task\_iam\_role\_arn](#output\_grafana\_task\_iam\_role\_arn) | Amazon Resource Name (ARN) specifying the Grafana Task IAM role. | |
| 103 | +| <a name="output_grafana_task_iam_role_id"></a> [grafana\_task\_iam\_role\_id](#output\_grafana\_task\_iam\_role\_id) | Name of the Grafana Task IAM role. | |
| 104 | +| <a name="output_grafana_task_iam_role_policies_arns"></a> [grafana\_task\_iam\_role\_policies\_arns](#output\_grafana\_task\_iam\_role\_policies\_arns) | Map of IAM Policies ARNs created and attached with the Grafana Task IAM role. | |
| 105 | +| <a name="output_grafana_task_iam_role_policies_ids"></a> [grafana\_task\_iam\_role\_policies\_ids](#output\_grafana\_task\_iam\_role\_policies\_ids) | Map of IAM Policies Identifiers created and attached with the Grafana Task IAM role. | |
| 106 | +| <a name="output_rds_arn"></a> [rds\_arn](#output\_rds\_arn) | The ARN of the Grafana RDS instance. | |
| 107 | +| <a name="output_rds_db_parameter_group_arn"></a> [rds\_db\_parameter\_group\_arn](#output\_rds\_db\_parameter\_group\_arn) | The ARN of the db parameter group attached with Grafana RDS. | |
| 108 | +| <a name="output_rds_db_parameter_group_id"></a> [rds\_db\_parameter\_group\_id](#output\_rds\_db\_parameter\_group\_id) | The db parameter group name to use with the Grafana RDS. | |
| 109 | +| <a name="output_rds_db_subnet_group_arn"></a> [rds\_db\_subnet\_group\_arn](#output\_rds\_db\_subnet\_group\_arn) | The ARN of the db subnet group attached with Grafana RDS. | |
| 110 | +| <a name="output_rds_db_subnet_group_id"></a> [rds\_db\_subnet\_group\_id](#output\_rds\_db\_subnet\_group\_id) | The db subnet group name to use with the Grafana RDS. | |
| 111 | +| <a name="output_rds_endpoint"></a> [rds\_endpoint](#output\_rds\_endpoint) | The Grafana RDS connection endpoint in `address:port` format. | |
| 112 | +| <a name="output_rds_id"></a> [rds\_id](#output\_rds\_id) | Grafana RDS DBI resource ID. | |
| 113 | +| <a name="output_rds_master_user_secret"></a> [rds\_master\_user\_secret](#output\_rds\_master\_user\_secret) | Details of the secret containing the database master password for Grafana RDS. | |
| 114 | +| <a name="output_s3_bucket_arn"></a> [s3\_bucket\_arn](#output\_s3\_bucket\_arn) | ARN of the bucket where the Grafana ALB logs will be stored. | |
| 115 | +| <a name="output_s3_bucket_id"></a> [s3\_bucket\_id](#output\_s3\_bucket\_id) | Name of the bucket where the Grafana ALB logs will be stored. | |
| 116 | +<!-- END_TF_DOCS --> |
0 commit comments