{"id":17018108,"url":"https://github.com/krsoninikhil/terraform-modules","last_synced_at":"2026-05-17T06:35:14.228Z","repository":{"id":173021355,"uuid":"650114759","full_name":"krsoninikhil/terraform-modules","owner":"krsoninikhil","description":"Reusable terraform modules for aws resources","archived":false,"fork":false,"pushed_at":"2024-05-29T14:07:54.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-27T16:47:30.849Z","etag":null,"topics":["ec2-instance","ecs","msk","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krsoninikhil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-06-06T11:19:37.000Z","updated_at":"2024-08-22T09:15:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"448a40a7-b143-4269-87e2-3ee920d304ae","html_url":"https://github.com/krsoninikhil/terraform-modules","commit_stats":null,"previous_names":["krsoninikhil/terraform-modules"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krsoninikhil%2Fterraform-modules","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krsoninikhil%2Fterraform-modules/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krsoninikhil%2Fterraform-modules/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krsoninikhil%2Fterraform-modules/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krsoninikhil","download_url":"https://codeload.github.com/krsoninikhil/terraform-modules/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244982043,"owners_count":20542300,"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","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":["ec2-instance","ecs","msk","terraform","terraform-module"],"created_at":"2024-10-14T06:44:32.560Z","updated_at":"2025-10-19T11:32:47.433Z","avatar_url":"https://github.com/krsoninikhil.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-modules\nReusable terraform modules for aws resources\n\n## Resources Created\n\n### msk\n\n`msk` creates a AWS Managed Kafka with following resources:\n- MSK itself along with nodes defined by `no_of_nodes` variable with instance type defined by `instance_type`\n- Brokers are publicly accessible if `make_public` is true\n- Security groups to allow traffic on relevant ports\n- Secrets in secret manager for the users specified by `scram_users` variable\n- Both IAM and SCRAM based auth is enabled\n\n### ecs_cluster and ecs_service\n\n`ecs_cluster` allows you create a ECS cluster and then keep adding any new services using the `ecs_service` module\n- `ecs_cluster` a launch template and autoscaling group for nodes and then a cluster and the created autoscaling group is set to cluster's capacity provider.\n- It also sets up the relevant IAM roles which are required to allow nodes created to register as container instances\n- A security group where ingress are created based on values provided in `connect_from`\n- `ecs_service` will create all the resources required to deploy a new service with a dummy nginx service. You can update the docker image name in the task definition either manually or via CI/CD pipeline to deploy a new version of you service.\n- Resources required for a service are -- task definition with a cloud watch log group, target group with ingress on specified `port`, ecs service with autoscaling policy. It will also map the target group on ELB is you provide the value for `route`\n\n### ec2\n\n`ec2` modules allows you to create a instance with autoscaling, specify the ports to open and put it behind an ELB.\n- An EC2 instance with type specified by `instance_type`\n- A Launch Template to allow enabling auto scalling group if required\n- An autoscaling group unless `autoscalling.enabled` is set to false\n- You can specify the no. of max and min nodes to provision under the created autoscaling group if it's enabled\n- An elastic IP is attached to the instance\n- A security group to allow connections to the instance with ingress rules based on `connections` variable\n- If `connections` are specified, instances are added to a target group with port mapping based on `connections` value\n- If a ELB listener (`listern_arn`) and routes in `connections` are provided, the paths are mapped to ELB routed to the provided ports\n- You can specify any user script to run after launching the instance by setting base64 encoded script to  `user_data` \n- You can also specify the user data in [cloud-init](https://cloudinit.readthedocs.io/en/latest/explanation/introduction.html) format by setting the yaml template file path to `user_data_template_file` \n\n## Support\n\nIf you need any help in using these modules, feel fee to [get in touch](https://nikhilsoni.me/contact/).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrsoninikhil%2Fterraform-modules","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrsoninikhil%2Fterraform-modules","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrsoninikhil%2Fterraform-modules/lists"}