{"id":22848361,"url":"https://github.com/feedzai/terraform-aws-sorry-cypress","last_synced_at":"2025-07-24T19:06:22.869Z","repository":{"id":43229237,"uuid":"506652422","full_name":"feedzai/terraform-aws-sorry-cypress","owner":"feedzai","description":"A Terraform module for deploying sorry-cypress on AWS ECS","archived":false,"fork":false,"pushed_at":"2022-10-24T09:36:18.000Z","size":47,"stargazers_count":1,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-15T09:20:38.359Z","etag":null,"topics":["aws","cypress","sorry-cypress","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/feedzai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-23T13:30:36.000Z","updated_at":"2025-06-19T13:40:14.000Z","dependencies_parsed_at":"2023-01-20T02:35:21.939Z","dependency_job_id":null,"html_url":"https://github.com/feedzai/terraform-aws-sorry-cypress","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/feedzai/terraform-aws-sorry-cypress","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feedzai%2Fterraform-aws-sorry-cypress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feedzai%2Fterraform-aws-sorry-cypress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feedzai%2Fterraform-aws-sorry-cypress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feedzai%2Fterraform-aws-sorry-cypress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feedzai","download_url":"https://codeload.github.com/feedzai/terraform-aws-sorry-cypress/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feedzai%2Fterraform-aws-sorry-cypress/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266890332,"owners_count":24001529,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cypress","sorry-cypress","terraform","terraform-module"],"created_at":"2024-12-13T04:11:31.694Z","updated_at":"2025-07-24T19:06:22.768Z","avatar_url":"https://github.com/feedzai.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS Sorry Cypress Terraform Module\n\nTerraform module that deploys Sorry Cypress on AWS.\n\n## Usage\n\n```hcl\nmodule \"sorry_cypress\" {\n    source = \"terraform-aws-sorry-cypress\"\n\n    s3_bucket_name = \"sorry_cypress_test_results\"\n    zone_id = \"example.com\"\n    url = \"sorrycypress.example.com\"\n    load_balancer_security_group = \"sg-123456789\"\n    vpc_id = \"vpc-123456\"\n    task_role_arn = \"arn::iam::role\"\n    execution_role_arn = \"arn::iam::role\"\n    subnets = {\n        private = []\n        public = []\n    }\n    alb_logs_bucket = \"alb_logs_bucket\"\n    certificate_arn = \"arn::acm::...\"\n    docker_registry_credentials = \"secret-name-in-secrets-manager\"\n}\n```\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | ~\u003e 4.12.1 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | ~\u003e 4.12.1 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_cloudwatch_log_group.sorry_cypress_log_group](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) | resource |\n| [aws_ecs_cluster.sorry_cypress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_cluster) | resource |\n| [aws_ecs_service.sorry_cypress_ecs_service](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_service) | resource |\n| [aws_ecs_task_definition.sorry_cypress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_task_definition) | resource |\n| [aws_lb.sorry_cypress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb) | resource |\n| [aws_lb_listener.dashboard_listener](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener) | resource |\n| [aws_lb_listener.director_listener](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener) | resource |\n| [aws_lb_listener.http](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener) | resource |\n| [aws_lb_listener.https](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener) | resource |\n| [aws_lb_listener_rule.api_listener_rule](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener_rule) | resource |\n| [aws_lb_listener_rule.https_api](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener_rule) | resource |\n| [aws_lb_target_group.sorry_cypress_api](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group) | resource |\n| [aws_lb_target_group.sorry_cypress_dashboard](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group) | resource |\n| [aws_lb_target_group.sorry_cypress_director](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group) | resource |\n| [aws_route53_record.sorry_cypress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record) | resource |\n| [aws_s3_bucket.test_results_bucket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource |\n| [aws_s3_bucket_acl.test_results_acl](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl) | resource |\n| [aws_s3_bucket_cors_configuration.test_results_bucket_cors](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_cors_configuration) | resource |\n| [aws_s3_bucket_lifecycle_configuration.tests_retention_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_lifecycle_configuration) | resource |\n| [aws_s3_bucket_policy.allow_access_from_prefix_list](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource |\n| [aws_s3_bucket_public_access_block.sorry_cypress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource |\n| [aws_security_group.sorry_cypress_alb](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |\n| [aws_security_group.sorry_cypress_fargate](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |\n| [aws_security_group_rule.allow_http_director](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_http_from_alb](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_https_alb](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_https_api](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_https_dashboard](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_https_director](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_inbound_containers](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_outbound](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_outbound_fargate](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_ec2_managed_prefix_list.prefix_list](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_managed_prefix_list) | data source |\n| [aws_iam_policy_document.allow_access_from_prefix_list](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_alb_logs_bucket\"\u003e\u003c/a\u003e [alb\\_logs\\_bucket](#input\\_alb\\_logs\\_bucket) | An S3 bucket to store ALB access logs | `string` | n/a | yes |\n| \u003ca name=\"input_certificate_arn\"\u003e\u003c/a\u003e [certificate\\_arn](#input\\_certificate\\_arn) | n/a | `string` | n/a | yes |\n| \u003ca name=\"input_cpu_request\"\u003e\u003c/a\u003e [cpu\\_request](#input\\_cpu\\_request) | Number of cpu units used by the task | `string` | `\"1024\"` | no |\n| \u003ca name=\"input_docker_registry\"\u003e\u003c/a\u003e [docker\\_registry](#input\\_docker\\_registry) | The docker registry to pull sorry cypress images from | `string` | n/a | yes |\n| \u003ca name=\"input_docker_registry_credentials\"\u003e\u003c/a\u003e [docker\\_registry\\_credentials](#input\\_docker\\_registry\\_credentials) | The ARN of the docker registry credentials secret in SecretsManager | `string` | n/a | yes |\n| \u003ca name=\"input_execution_role_arn\"\u003e\u003c/a\u003e [execution\\_role\\_arn](#input\\_execution\\_role\\_arn) | ARN of the task execution role that the Amazon ECS container agent and the Docker daemon can assume | `string` | n/a | yes |\n| \u003ca name=\"input_load_balancer_security_group\"\u003e\u003c/a\u003e [load\\_balancer\\_security\\_group](#input\\_load\\_balancer\\_security\\_group) | The load balancer security group | \u003cpre\u003eobject({\u003cbr\u003e    id = string\u003cbr\u003e  })\u003c/pre\u003e | n/a | yes |\n| \u003ca name=\"input_memory_request\"\u003e\u003c/a\u003e [memory\\_request](#input\\_memory\\_request) | Amount (in MiB) of memory used by the task | `string` | `\"2048\"` | no |\n| \u003ca name=\"input_prefix_list\"\u003e\u003c/a\u003e [prefix\\_list](#input\\_prefix\\_list) | An EC2 managed prefix list | `string` | n/a | yes |\n| \u003ca name=\"input_s3_bucket_name\"\u003e\u003c/a\u003e [s3\\_bucket\\_name](#input\\_s3\\_bucket\\_name) | S3 bucket name to store test results | `string` | n/a | yes |\n| \u003ca name=\"input_subnets\"\u003e\u003c/a\u003e [subnets](#input\\_subnets) | AWS subnet IDs to deploy Sorry Cypress | \u003cpre\u003eobject({\u003cbr\u003e    private = list(string),\u003cbr\u003e    public  = list(string)\u003cbr\u003e  })\u003c/pre\u003e | n/a | yes |\n| \u003ca name=\"input_task_role_arn\"\u003e\u003c/a\u003e [task\\_role\\_arn](#input\\_task\\_role\\_arn) | ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services | `string` | n/a | yes |\n| \u003ca name=\"input_test_results_retention\"\u003e\u003c/a\u003e [test\\_results\\_retention](#input\\_test\\_results\\_retention) | The number of days to keep test results | `number` | `15` | no |\n| \u003ca name=\"input_url\"\u003e\u003c/a\u003e [url](#input\\_url) | The URL to deploy SorryCypress to | `string` | n/a | yes |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | The VPC ID | `string` | n/a | yes |\n| \u003ca name=\"input_zone_id\"\u003e\u003c/a\u003e [zone\\_id](#input\\_zone\\_id) | The route53 zone id | `string` | n/a | yes |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_api_url\"\u003e\u003c/a\u003e [api\\_url](#output\\_api\\_url) | The Sorry Cypress API endpoint |\n| \u003ca name=\"output_dashboard_url\"\u003e\u003c/a\u003e [dashboard\\_url](#output\\_dashboard\\_url) | The Sorry Cypress dashboard URL |\n| \u003ca name=\"output_director_url\"\u003e\u003c/a\u003e [director\\_url](#output\\_director\\_url) | The Sorry Cypress director URL |\n| \u003ca name=\"output_test_results_bucket\"\u003e\u003c/a\u003e [test\\_results\\_bucket](#output\\_test\\_results\\_bucket) | The S3 bucket where test results are stored |\n\u003c!-- END_TF_DOCS --\u003e\n\n## References\n\nThis modules was based on the [CloudFormation template](https://github.com/sorry-cypress/sorry-cypress/blob/master/cloudformation/sorry-cypress.yml) provided by SorryCypress\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeedzai%2Fterraform-aws-sorry-cypress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeedzai%2Fterraform-aws-sorry-cypress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeedzai%2Fterraform-aws-sorry-cypress/lists"}