Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flaconi/terraform-aws-xlt-loadtest
Terraform Module with all resources needed for LoadTest
https://github.com/flaconi/terraform-aws-xlt-loadtest
aws terraform xlt
Last synced: about 5 hours ago
JSON representation
Terraform Module with all resources needed for LoadTest
- Host: GitHub
- URL: https://github.com/flaconi/terraform-aws-xlt-loadtest
- Owner: Flaconi
- License: mit
- Created: 2019-08-09T15:14:09.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-11T12:44:05.000Z (2 months ago)
- Last Synced: 2024-09-12T13:03:13.081Z (2 months ago)
- Topics: aws, terraform, xlt
- Language: HCL
- Homepage:
- Size: 34.2 KB
- Stars: 2
- Watchers: 16
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# terraform-aws-xlt-loadtest
[![Build Status](https://travis-ci.com/Flaconi/terraform-aws-xlt-loadtest.svg?branch=master)](https://travis-ci.com/Flaconi/terraform-aws-xlt-loadtest)
[![Tag](https://img.shields.io/github/tag/Flaconi/terraform-aws-xlt-loadtest.svg)](https://github.com/Flaconi/terraform-aws-xlt-loadtest/releases)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)This Terraform module can create typical resources needed for XLT Loadtest
## Usage
### WAF ACL
```hcl
module "terraform-aws-xlt-loadtest" {
source = "github.com/flaconi/terraform-aws-xlt-loadtest"name = "< unique identifier >"
keyname = "< your ssh keyname (existing keypair name) >"instance_count = 2
password = xlt1234AbcD# start_port_services = "5000"
# start_port_ssh = "6000"# local_network = "10.0.0.0/16"
# instance_type = "c4.2xlarge"# allowed_networks = "ip/32"
}```
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0 |
| [aws](#requirement\_aws) | >= 5 |## Providers
| Name | Version |
|------|---------|
| [aws](#provider\_aws) | >= 5 |## Modules
| Name | Source | Version |
|------|--------|---------|
| [ec2\_sg](#module\_ec2\_sg) | terraform-aws-modules/security-group/aws | 5.1.0 |
| [grafana](#module\_grafana) | terraform-aws-modules/ec2-instance/aws | 5.1.0 |
| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | 5.0.0 |
| [xceptance\_cluster](#module\_xceptance\_cluster) | terraform-aws-modules/ec2-instance/aws | 5.1.0 |## Resources
| Name | Type |
|------|------|
| [aws_lb.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb) | resource |
| [aws_lb_listener.grafana](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener) | resource |
| [aws_lb_listener.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener) | resource |
| [aws_lb_target_group.grafana](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group) | resource |
| [aws_lb_target_group.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group) | resource |
| [aws_lb_target_group_attachment.agents](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group_attachment) | resource |
| [aws_lb_target_group_attachment.grafana](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group_attachment) | resource |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [allowed\_networks](#input\_allowed\_networks) | The allowed networks IP/32 | `list(string)` | n/a | yes |
| [name](#input\_name) | The name used for further interpolation | `string` | n/a | yes |
| [password](#input\_password) | The password to use | `string` | n/a | yes |
| [ami](#input\_ami) | The AMI used for the agents | `string` | `"ami-036cc6f041deb429b"` | no |
| [grafana\_ami](#input\_grafana\_ami) | The grafana ami (required if grafana\_enabled is set to true) | `string` | `"ami-0fc36223101444802"` | no |
| [grafana\_enabled](#input\_grafana\_enabled) | Do we create a custom Grafana instance | `bool` | `false` | no |
| [instance\_count](#input\_instance\_count) | The amount of instances to start | `string` | `2` | no |
| [instance\_count\_per\_lb](#input\_instance\_count\_per\_lb) | The amount of instances per lb | `string` | `50` | no |
| [instance\_type](#input\_instance\_type) | The default instance\_type | `string` | `"c5.2xlarge"` | no |
| [keyname](#input\_keyname) | The existing keyname of the keypair used for connecting with ssh to the agents | `string` | `""` | no |
| [local\_network](#input\_local\_network) | The vpc network | `string` | `"10.0.0.0/16"` | no |
| [start\_port\_services](#input\_start\_port\_services) | The first agent of many will be exposed at port 5000 of the NLB, the second on 5001 etc.etc. | `number` | `5000` | no |
| [start\_port\_ssh](#input\_start\_port\_ssh) | The first ssh of the agents will be exposed at port 6000 of the NLB, the second on 6001 etc.etc. | `number` | `6000` | no |
| [tags](#input\_tags) | The tags to add | `map(string)` | `{}` | no |## Outputs
| Name | Description |
|------|-------------|
| [lb\_host](#output\_lb\_host) | n/a |
| [master\_controller\_properties](#output\_master\_controller\_properties) | n/a |
| [reporting\_host](#output\_reporting\_host) | n/a |
| [vpc\_nat\_eips](#output\_vpc\_nat\_eips) | n/a |## License
[MIT](LICENSE)
Copyright (c) 2019-2023 [Flaconi GmbH](https://github.com/Flaconi)