{"id":19188773,"url":"https://github.com/miquido/terraform-ecs-prometheus","last_synced_at":"2026-02-17T20:36:15.862Z","repository":{"id":234557516,"uuid":"690506921","full_name":"miquido/Terraform-ECS-Prometheus","owner":"miquido","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-26T19:26:25.000Z","size":87,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-26T13:39:01.114Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/miquido.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-12T10:29:14.000Z","updated_at":"2023-09-12T10:36:46.000Z","dependencies_parsed_at":"2024-04-19T20:34:43.430Z","dependency_job_id":"eedfa8dc-a202-4f57-b980-d9ec02fe3221","html_url":"https://github.com/miquido/Terraform-ECS-Prometheus","commit_stats":null,"previous_names":["miquido/terraform-ecs-prometheus"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/miquido/Terraform-ECS-Prometheus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2FTerraform-ECS-Prometheus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2FTerraform-ECS-Prometheus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2FTerraform-ECS-Prometheus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2FTerraform-ECS-Prometheus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miquido","download_url":"https://codeload.github.com/miquido/Terraform-ECS-Prometheus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2FTerraform-ECS-Prometheus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29557427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T20:14:27.083Z","status":"ssl_error","status_checked_at":"2026-02-17T20:14:26.018Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-11-09T11:25:59.271Z","updated_at":"2026-02-17T20:36:10.826Z","avatar_url":"https://github.com/miquido.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- This file was automatically generated by the `build-harness`. Make all changes to `README.yaml` and run `make readme` to rebuild this file. --\u003e\n[![Miquido][logo]](https://www.miquido.com/)\n\n# miquido-terraform-ecs-prometheus\nThis module will deploy prometheus server with ecs service discovery into your ECS cluster.\nYou can setup optionally to expose it via Application Load Balancer. You can also enable App mesh for this service.\n\nTo enable service discovery please add Docker labels in the task definitions that you want to discover.\nfor example:\n```hcl\n  PROMETHEUS_EXPORTER_PORT  8080\n  PROMETHEUS_EXPORTER_PATH  /actuator/prometheus\n```\n---\n**Terraform Module**\n\n\nGitLab Repository: https://gitlab.com/miquido/terraform/terraform-ecs-prometheus\n\n## Usage\n\n```hcl\nmodule \"prometheus\" {\nsource     = \"../../\"\naws_region = \"eu-west-1\" // var.aws_region\necs_cluster = {          // aws_ecs_cluster.main\n  arn  = \"arn::test::test\"\n  name = \"main\"\n}\nproject = \"example\" // var.project\nvpc = {             // module.vpc\n  vpc_main_security_group_id = \"test_id\"\n  vpc_id                     = \"test_id\"\n  private_subnet_ids         = [\"test_id\"]\n  vpc_main_security_group_id = \"test_id\"\n}\nenvironment = \"stage\" //var.environment\n\n/*********** Optional app mesh ************/\naws_service_discovery_private_dns_namespace = { // aws_service_discovery_private_dns_namespace.map\n  name        = \"test\"\n  id          = \"test\"\n  hosted_zone = \"test\"\n}\naws_appmesh_mesh_id  = \"test\" // aws_appmesh_mesh.service.id\nmesh_route53_zone_id = \"test\" // aws_route53_zone.mesh_private_zone.zone_id\n\n/*********** Optional alb ************/\nroute53_zone_id = \"test\" //aws_route53_zone.default.zone_id\nalb = {                  // module.alb\n  http_listener_arn  = \"test\"\n  https_listener_arn = \"test\"\n  alb_arn_suffix     = \"test\"\n  alb_dns_name       = \"test\"\n  alb_zone_id        = \"test\"\n}\ndomain = \"test\" // local.prometheus_service_domain\n}\n```\n\u003c!-- markdownlint-disable --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 0.13 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | ~\u003e 4.7 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | ~\u003e 4.7 |\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_alb-ingress-prometheus\"\u003e\u003c/a\u003e [alb-ingress-prometheus](#module\\_alb-ingress-prometheus) | git::ssh://git@gitlab.com/miquido/terraform/terraform-alb-ingress.git | 3.1.18 |\n| \u003ca name=\"module_ecs-alb-task-prometheus\"\u003e\u003c/a\u003e [ecs-alb-task-prometheus](#module\\_ecs-alb-task-prometheus) | git::ssh://git@gitlab.com/miquido/terraform/terraform-ecs-alb-task.git | 5.6.26 |\n| \u003ca name=\"module_prometheus-service-discovery\"\u003e\u003c/a\u003e [prometheus-service-discovery](#module\\_prometheus-service-discovery) | git::https://github.com/cloudposse/terraform-aws-ecs-container-definition.git | 0.58.1 |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_iam_role_policy.service-discovery](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource |\n| [aws_route53_record.prometheus](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record) | resource |\n| [aws_route53_record.prometheus-ipv6](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record) | resource |\n| [aws_iam_policy_document.service-discovery](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\"\u003e\u003c/a\u003e [alb](#input\\_alb) | Alb module from ssh://git@gitlab.com/miquido/terraform/terraform-alb.git | \u003cpre\u003eobject({\u003cbr\u003e    http_listener_arn  = string\u003cbr\u003e    https_listener_arn = string\u003cbr\u003e    alb_arn_suffix     = string\u003cbr\u003e    alb_dns_name       = string\u003cbr\u003e    alb_zone_id        = string\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_app_mesh_aws_service_discovery_private_dns_namespace\"\u003e\u003c/a\u003e [app\\_mesh\\_aws\\_service\\_discovery\\_private\\_dns\\_namespace](#input\\_app\\_mesh\\_aws\\_service\\_discovery\\_private\\_dns\\_namespace) | app mesh private DNS namespace | \u003cpre\u003eobject({\u003cbr\u003e    name        = string\u003cbr\u003e    id          = string\u003cbr\u003e    hosted_zone = string\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_app_mesh_id\"\u003e\u003c/a\u003e [app\\_mesh\\_id](#input\\_app\\_mesh\\_id) | n/a | `string` | `null` | no |\n| \u003ca name=\"input_app_mesh_route53_zone\"\u003e\u003c/a\u003e [app\\_mesh\\_route53\\_zone](#input\\_app\\_mesh\\_route53\\_zone) | app\\_mesh route zone to create service entry | \u003cpre\u003eobject({\u003cbr\u003e    id   = string\u003cbr\u003e    name = string\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_aws_region\"\u003e\u003c/a\u003e [aws\\_region](#input\\_aws\\_region) | Default AWS Region | `string` | n/a | yes |\n| \u003ca name=\"input_aws_service_discovery_private_dns_namespace\"\u003e\u003c/a\u003e [aws\\_service\\_discovery\\_private\\_dns\\_namespace](#input\\_aws\\_service\\_discovery\\_private\\_dns\\_namespace) | n/a | \u003cpre\u003eobject({\u003cbr\u003e    name        = string\u003cbr\u003e    id          = string\u003cbr\u003e    hosted_zone = string\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_domain\"\u003e\u003c/a\u003e [domain](#input\\_domain) | domain under which prometheus will be available. Required when alb is used | `string` | `null` | no |\n| \u003ca name=\"input_ecs_cluster\"\u003e\u003c/a\u003e [ecs\\_cluster](#input\\_ecs\\_cluster) | resource aws\\_ecs\\_cluster where to deploy service | \u003cpre\u003eobject({\u003cbr\u003e    arn  = string\u003cbr\u003e    name = string\u003cbr\u003e  })\u003c/pre\u003e | n/a | yes |\n| \u003ca name=\"input_enable_app_mesh\"\u003e\u003c/a\u003e [enable\\_app\\_mesh](#input\\_enable\\_app\\_mesh) | Should appmesh resources be created. Required vars: aws\\_service\\_discovery\\_private\\_dns\\_namespace, aws\\_appmesh\\_mesh\\_id, mesh\\_route53\\_zone\\_id | `bool` | `true` | no |\n| \u003ca name=\"input_environment\"\u003e\u003c/a\u003e [environment](#input\\_environment) | Environment name | `any` | n/a | yes |\n| \u003ca name=\"input_ingress_priority\"\u003e\u003c/a\u003e [ingress\\_priority](#input\\_ingress\\_priority) | The priority for the rules without authentication, between 1 and 50000 (1 being highest priority). Must be different from `authenticated_priority` since a listener can't have multiple rules with the same priority | `number` | `89` | no |\n| \u003ca name=\"input_project\"\u003e\u003c/a\u003e [project](#input\\_project) | Account/Project Name | `string` | n/a | yes |\n| \u003ca name=\"input_route53_zone_id\"\u003e\u003c/a\u003e [route53\\_zone\\_id](#input\\_route53\\_zone\\_id) | route id to create prometheus entry | `string` | `null` | no |\n| \u003ca name=\"input_service_name\"\u003e\u003c/a\u003e [service\\_name](#input\\_service\\_name) | Name under which service will be deployed | `string` | `\"prometheus\"` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Default tags to apply on all created resources | `map(string)` | `{}` | no |\n| \u003ca name=\"input_task_cpu\"\u003e\u003c/a\u003e [task\\_cpu](#input\\_task\\_cpu) | ECS task cpu for prometheus | `number` | `256` | no |\n| \u003ca name=\"input_task_memory\"\u003e\u003c/a\u003e [task\\_memory](#input\\_task\\_memory) | ECS task memory for prometheus | `number` | `512` | no |\n| \u003ca name=\"input_vpc\"\u003e\u003c/a\u003e [vpc](#input\\_vpc) | VPC module ssh://git@gitlab.com/miquido/terraform/terraform-vpc.git | \u003cpre\u003eobject({\u003cbr\u003e    vpc_main_security_group_id = string\u003cbr\u003e    vpc_id                     = string\u003cbr\u003e    private_subnet_ids         = list(string)\u003cbr\u003e  })\u003c/pre\u003e | n/a | yes |\n\n## Outputs\n\nNo outputs.\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- markdownlint-disable --\u003e\n## Makefile Targets\n```text\nAvailable targets:\n\n  help                                Help screen\n  help/all                            Display help for all targets\n  help/short                          This help short screen\n  lint                                Lint Terraform code\n\n```\n\u003c!-- markdownlint-restore --\u003e\n\n\n## Developing\n\n1. Make changes in terraform files\n\n2. Regenerate documentation\n\n    ```bash\n    bash \u003c(git archive --remote=git@gitlab.com:miquido/terraform/terraform-readme-update.git master update.sh | tar -xO)\n    ```\n\n3. Run lint\n\n    ```\n    make lint\n    ```\n\n## Copyright\n\nCopyright © 2017-2022 [Miquido](https://miquido.com)\n\n\n\n\n  [logo]: https://www.miquido.com/img/logos/logo__miquido.svg\n  [website]: https://www.miquido.com/\n  [gitlab]: https://gitlab.com/miquido\n  [github]: https://github.com/miquido\n  [bitbucket]: https://bitbucket.org/miquido\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiquido%2Fterraform-ecs-prometheus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiquido%2Fterraform-ecs-prometheus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiquido%2Fterraform-ecs-prometheus/lists"}