{"id":19716376,"url":"https://github.com/computestacks/terraform-cs-linode","last_synced_at":"2026-06-08T01:32:13.084Z","repository":{"id":152867870,"uuid":"321216944","full_name":"ComputeStacks/terraform-cs-linode","owner":"ComputeStacks","description":"Deploy ComputeStacks on Linode","archived":false,"fork":false,"pushed_at":"2023-07-08T20:35:51.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-27T22:04:24.324Z","etag":null,"topics":["linode","terraform"],"latest_commit_sha":null,"homepage":"","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/ComputeStacks.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2020-12-14T03:02:57.000Z","updated_at":"2022-03-07T23:19:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"f02ef9fd-072b-42ca-bb05-94b6fc0c19a0","html_url":"https://github.com/ComputeStacks/terraform-cs-linode","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ComputeStacks/terraform-cs-linode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComputeStacks%2Fterraform-cs-linode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComputeStacks%2Fterraform-cs-linode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComputeStacks%2Fterraform-cs-linode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComputeStacks%2Fterraform-cs-linode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ComputeStacks","download_url":"https://codeload.github.com/ComputeStacks/terraform-cs-linode/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComputeStacks%2Fterraform-cs-linode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34044919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-07T02:00:07.652Z","response_time":124,"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":["linode","terraform"],"created_at":"2024-11-11T22:41:55.715Z","updated_at":"2026-06-08T01:32:13.067Z","avatar_url":"https://github.com/ComputeStacks.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ComputeStacks Cluster on Linode\n\nCreate a `terraform.tfvars` file and adjust the settings appropriately. Specifically, you will:\n\n* Need to generate an [API Key](https://www.linode.com/docs/guides/api-key/)\n* Choose the appropriate package for your linode\n  * _NOTE:_ The packages set as the default in the `terraform.tfvars.sample` meet our minimum requirements. We do not recommend going below those, as that may prevent ComputeStacks from booting.\n* Specify how many nodes you want (we recommend 1, 3, or 5). If you need more resources, consider increasing the plan size, or creating multiple availability zones.\n* Choose your region\n\nCopy `providers.tf.sample` to `providers.tf` and adjust.\n\n## (Optional) Auto-configure DNS\n\nYou may wish to automatically configure your DNS records by using a terraform dns provider. Included here is an example file using CloudFlare, `dns_cloudflare.tf.sample`. You may copy that to `dns_cloudflare.tf` and adjust accordingly. You will also need to adjust your `providers.tf` file to include the CloudFlare modules.\n\nBy default, you will see the required DNS settings under `result/`.\n\n## Setup Terraform\n\nBefore proceeding, ensure you have [terraform installed](https://learn.hashicorp.com/tutorials/terraform/install-cli), and then run:\n\n```bash\nterraform init\n```\n\n## Running Terraform\n\n```bash\nterraform apply\n```\n\nAfter terraform runs, you will see 2 newly created files under the `result/` directory.\n\n1. `dns_settings.txt` | If you did not configure DNS to be automatically configured, you will need to manually apply these settings in your DNS manager.\n2. `inventory.yml` | You will need this later when configuring Ansible.\n\n**Note:** Once your nodes perform their initial boot sequence, and before running ansible: Disable the [Linode Network Helper](https://www.linode.com/docs/guides/network-helper/).\n\n### Floating IP\n\nIf you're only deploying a single node, you do not need a floating IP. This is only useful when you have 3 or more nodes and would like automatic failover of the load balancer. \n\nTo add a floating IP, you will need to open a support ticket with Linode from within your cloud manager, and ask them to allocate an additional IP. For justification, you can explain to them that you need a shared IP for your new cluster, in order to enable high availability.\n\nOnce you have been allocated an additional IP, you will need to:\n\n1. Enable [IP Sharing](https://www.linode.com/docs/guides/remote-access#configuring-ip-sharing) on that IP Address with all of your nodes. \n2. Update your `inventory.yml` file with the new ip. \n3. Ensure the Linode Network Helper is disabled for the nodes.\n\nTo complete the setup, please run our [Ansible Script](https://github.com/ComputeStacks/ansible-install) using the newly generated `inventory.yml` file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomputestacks%2Fterraform-cs-linode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomputestacks%2Fterraform-cs-linode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomputestacks%2Fterraform-cs-linode/lists"}