{"id":26299228,"url":"https://github.com/trackit/ec2-hashicorp-tutorial","last_synced_at":"2026-02-11T21:05:12.459Z","repository":{"id":89792997,"uuid":"104906066","full_name":"trackit/ec2-hashicorp-tutorial","owner":"trackit","description":"Supporting repository for a blog article","archived":false,"fork":false,"pushed_at":"2017-09-30T07:37:56.000Z","size":12,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-09-10T17:03:01.403Z","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/trackit.png","metadata":{"files":{"readme":"README.adoc","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-09-26T15:51:16.000Z","updated_at":"2022-05-15T18:43:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"1947396c-00f3-4871-8a29-d1605c248a09","html_url":"https://github.com/trackit/ec2-hashicorp-tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/trackit/ec2-hashicorp-tutorial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trackit%2Fec2-hashicorp-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trackit%2Fec2-hashicorp-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trackit%2Fec2-hashicorp-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trackit%2Fec2-hashicorp-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trackit","download_url":"https://codeload.github.com/trackit/ec2-hashicorp-tutorial/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trackit%2Fec2-hashicorp-tutorial/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29345433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T20:11:40.865Z","status":"ssl_error","status_checked_at":"2026-02-11T20:10:41.637Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":"2025-03-15T06:47:50.473Z","updated_at":"2026-02-11T21:05:12.454Z","avatar_url":"https://github.com/trackit.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Tutorial: Hashicorp Suite with EC2\n\nThis is the accompanying repository for this article on the Trackit blog:\nhttps://blog.trackit.io/ec2-hashicorp-1/. It contains Terraform and Packer\nspecifications which can build a minimal EC2 cluster with service discovery and\nautomated job placement using Consul and Nomad.\n\n== Build the AMIs\n\nIn order to build the AMIs you will need to have _Packer_ installed. With that\ndone, you can go to _/packer/master/_ and _/packer/slave/_ and simply run\n`packer build packer.json`.\n\nMake sure to take note of the IDs for the AMIs you built.\n\n== Deploy the infrastructure\n\nYou need an AWS account with admin access to deploy the infrastructure. First\nedit _/terraform/amis.tf_, adding the AMI IDs you got from building the AMIs\nwith Packer. Also place your public SSH key in _/terraform/ssh.pub_ so you can\nlater SSH into your instances with the user `admin`.\n\nThen run `terraform plan -out tf.plan`, make sure it doesn’t plan on doing\nsomething Terraform shouldn’t do, and run `terraform apply tf.plan`. In just a\nfew minutes you should get a fault-resistant setup where _Consul_ handles\nservice discovery and _Nomad_ manages your tasks by placing them on the slave\ninstances in an efficient manner.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrackit%2Fec2-hashicorp-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrackit%2Fec2-hashicorp-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrackit%2Fec2-hashicorp-tutorial/lists"}