{"id":18816051,"url":"https://github.com/0-vortex/cloudflare-terraform-infra","last_synced_at":"2026-01-14T07:30:19.044Z","repository":{"id":46199376,"uuid":"350864816","full_name":"0-vortex/cloudflare-terraform-infra","owner":"0-vortex","description":"Terraform public infrastructure templates for our CloudFlare instances deployed on vortex.name and tiamat.tech","archived":false,"fork":false,"pushed_at":"2021-11-07T21:30:12.000Z","size":33,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-30T01:34:49.761Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://0-vortex.github.io/cloudflare-terraform-infra","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0-vortex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null},"funding":{"ko_fi":"0vortex","liberapay":"ted.vortex","issuehunt":"0-vortex","custom":["https://PayPal.Me/TeodorDutulescu"]}},"created_at":"2021-03-23T21:39:42.000Z","updated_at":"2023-11-20T16:57:57.000Z","dependencies_parsed_at":"2022-09-08T10:10:56.373Z","dependency_job_id":null,"html_url":"https://github.com/0-vortex/cloudflare-terraform-infra","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0-vortex%2Fcloudflare-terraform-infra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0-vortex%2Fcloudflare-terraform-infra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0-vortex%2Fcloudflare-terraform-infra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0-vortex%2Fcloudflare-terraform-infra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0-vortex","download_url":"https://codeload.github.com/0-vortex/cloudflare-terraform-infra/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239753703,"owners_count":19691160,"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":[],"created_at":"2024-11-07T23:52:03.779Z","updated_at":"2026-01-14T07:30:18.973Z","avatar_url":"https://github.com/0-vortex.png","language":"HCL","funding_links":["https://ko-fi.com/0vortex","https://liberapay.com/ted.vortex","https://issuehunt.io/r/0-vortex","https://PayPal.Me/TeodorDutulescu"],"categories":[],"sub_categories":[],"readme":"# cloudflare-terraform-infra\n\n[![Commitizen Friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n [![License](https://img.shields.io/github/license/0-vortex/workers-lastfm-shields)](./LICENSE)\n [![CodeFactor](https://www.codefactor.io/repository/github/0-vortex/cloudflare-terraform-infra/badge)](https://www.codefactor.io/repository/github/0-vortex/cloudflare-terraform-infra)\n\n[![docs](https://github.com/0-vortex/cloudflare-terraform-infra/actions/workflows/docs.yml/badge.svg)](https://github.com/0-vortex/cloudflare-terraform-infra/actions/workflows/docs.yml)\n [![terraform](https://github.com/0-vortex/cloudflare-terraform-infra/actions/workflows/terraform.yml/badge.svg)](https://github.com/0-vortex/cloudflare-terraform-infra/actions/workflows/terraform.yml)\n\n![cloudflare-terraform-infra Actions](https://api.meercode.io/badge/0-vortex/cloudflare-terraform-infra?type=ci-count\u0026lastDay=31)\n\n## Overview\n\nThis is an infrastructure as code real time implementation built with:\n- [Terraform](https://www.terraform.io) \n- [GitHub Actions](https://github.com/features/actions) \n- [Cloudflare DNS](https://www.cloudflare.com/en-gb/dns)\n\nModules used:\n- [cloudflare/terraform-provider-cloudflare](https://github.com/cloudflare/terraform-provider-cloudflare)\n- [cloudposse/terraform-aws-tfstate-backend](https://github.com/cloudposse/terraform-aws-tfstate-backend)\n\nDeployments and resources:\n- [vortex.name](https://vortex.name) with HCL [vortexdotname.tf](./vortexdotname.tf)\n- [tiamat.tech](https://tiamat.tech) with HCL [tiamatdottech.tf](./tiamatdottech.tf)\n\n## Folder structure\n\nA quick look at the top-level files and directories you'll see in a HCL project.\n\n```\n├──── aws-terraform-infra\n│  ├── .github/\n│  ├── .editorconfig\n│  ├── .gitattributes\n│  ├── .gitignore\n│  ├── .terraform.lock.hcl\n│  ├── _config.yml\n│  ├── backend.tf\n│  ├── compose.yaml\n│  ├── LICENSE\n│  ├── main.tf\n│  ├── Makefile\n│  ├── README.md\n│  ├── tiamatdottech.tf\n│  ├── variables.tf\n│  ├── versions.tf\n│  └── vortexdotname.tf\n```\n\n## Installation\n\nClone the package via `git`:\n\n```shell\ngit clone git@github.com:0-vortex/cloudflare-terraform-infra.git\n```\n\n## Requirements\n\nThis repository requires `terraform\u003e=v0.14`, `docker\u003e=20` and `gnumake\u003e=3.82` to be installed.\n\n## How to use\n\nLocal development should not write to an existing environment or the global state.\n\nTo be able to check changes before a pull request build set up environment variables\nas defined in the repository secrets:\n\n```shell\n# setup aws backend credentials \nexport AWS_ACCESS_KEY_ID=DDDD0000000000000000\nexport AWS_SECRET_ACCESS_KEY=DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\n# setup cloudflare infrastructure credentials\nexport CLOUDFLARE_EMAIL=your.example@mail.com\nexport CLOUDFLARE_API_KEY=BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n# enable logging\nexport CLOUDFLARE_API_CLIENT_LOGGING=true\n```\n\nThe simplest way to do that is to dry-run as follows:\n\n```shell\n# see a list of all commands\nmake\n\n# setup local environment\nmake init\n\n# plan infrastructure changes\nmake plan\n```\n\nTo scan for Infrastructure-as-Code compliance:\n\n```shell\n# run all the scans\nmake scan\n\n# run scans individually\nmake tflint\nmake tfsec\nmake tfscan\n```\n\n## License\n\nThis library is released under BSD-3 license clause.\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2F0-vortex%2Fcloudflare-terraform-infra.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2F0-vortex%2Fcloudflare-terraform-infra?ref=badge_large)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0-vortex%2Fcloudflare-terraform-infra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0-vortex%2Fcloudflare-terraform-infra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0-vortex%2Fcloudflare-terraform-infra/lists"}