{"id":20200901,"url":"https://github.com/openclimatefix/ocf-infrastructure","last_synced_at":"2025-04-10T11:21:41.899Z","repository":{"id":37094013,"uuid":"446786489","full_name":"openclimatefix/ocf-infrastructure","owner":"openclimatefix","description":"Infrastructure code for OCF's cloud environments","archived":false,"fork":false,"pushed_at":"2024-10-29T08:55:44.000Z","size":3634,"stargazers_count":3,"open_issues_count":13,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-29T10:03:37.749Z","etag":null,"topics":["devops","infrastructure","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/openclimatefix.png","metadata":{"funding":{"github":["openclimatefix"],"patreon":null,"open_collective":"openclimatefix","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null},"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":"2022-01-11T11:03:58.000Z","updated_at":"2024-10-29T08:55:46.000Z","dependencies_parsed_at":"2024-03-27T18:30:50.225Z","dependency_job_id":"eb0e30a4-4e7a-4e33-b201-7171d8c33ae2","html_url":"https://github.com/openclimatefix/ocf-infrastructure","commit_stats":{"total_commits":698,"total_committers":15,"mean_commits":46.53333333333333,"dds":0.3624641833810889,"last_synced_commit":"572ec623f6e48fe20d11032bf8a39fa57590c4ed"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix%2Focf-infrastructure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix%2Focf-infrastructure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix%2Focf-infrastructure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix%2Focf-infrastructure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatefix","download_url":"https://codeload.github.com/openclimatefix/ocf-infrastructure/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248208603,"owners_count":21065203,"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":["devops","infrastructure","terraform"],"created_at":"2024-11-14T04:46:06.776Z","updated_at":"2025-04-10T11:21:41.888Z","avatar_url":"https://github.com/openclimatefix.png","language":"HCL","readme":"\u003ch2 align=\"center\"\u003e\nOCF Infrastructure\n\u003cbr\u003e\n\u003cbr\u003e\nTerraform infrastructure-as-code for cloud environments.\n\u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\n\n[![ease of contribution: medium](https://img.shields.io/badge/ease%20of%20contribution:%20medium-f4900c)](https://github.com/openclimatefix/ocf-meta-repo?tab=readme-ov-file#how-easy-is-it-to-get-involved)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-15-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n  \u003ca href=\"https://app.terraform.io/app/openclimatefix/workspaces\" alt=\"Terraform Cloud\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/console-terraform.io-blue?style=for-the-badge\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc\" alt=\"Issues\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/issues/openclimatefix/ocf-infrastructure?style=for-the-badge\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/actions/workflows/terraform-validate.yaml\" alt=\"Validate\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/openclimatefix/ocf-infrastructure/terraform-validate.yaml?label=validate\u0026style=for-the-badge\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/graphs/contributors\" alt=\"Contributors\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/contributors/openclimatefix/ocf-infrastructure?style=for-the-badge\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\nA repository for managing the cloud infrastructure for the Open Climate Fix organisation. Contains terraform code for\ndefining services and describing environments. Each contextual domain and each deployment environment are specified in\nfolders within the `terraform` directory, along with reusable modules and unittests.\n\n\n## Repository Structure\n\n```yaml\nocf-infrastructure:\n  terraform: # Contains all the terraform code for OCF's cloud infrastructure\n    modules: # Portable terraform modules defining specific cloud infrastructure blocks\n    nowcasting: # Specific code for the nowcasting domain's cloud infrastructure\n    pvsite: # Specific code for the nowcasting domain's cloud infrastruture\n    unittests: # Specific infrastructure code for a environment to test the modules\n  local-stack: # Code to run the terraform stack locally for local testing/development\n  .github: # Contains github-specific code for automated CI workflows\n```\n\nSee the README's in the domain folders for more information on their architecture:\n- [Nowcasting Domain](terraform/nowcasting/README.md)\n- [PVSite Domain](terraform/pvsite/README.md)\n- [Modules](terraform/modules/README.md)\n\n\n## Terraform Overview\n\n[Terraform](https://learn.hashicorp.com/terraform) is a declarative language which is used to specify and build cloud environments. To install the CLI locally, ensure [Homebrew](https://brew.sh/) is installed, then run\n\n```bash\n$ brew install terraform\n```\n\nIf you aren't on Mac or don't want to use Homebrew,\n[check out the official terraform installation instructions](https://learn.hashicorp.com/tutorials/terraform/install-cli#install-terraform).\n\n## Pre-Commit\n\nThis repository implements a [pre-commit](https://pre-commit.com/#install) config that enables automatic fixes to code when you create a commit. This helps to maintin consistency in the main repo. To enable this, follow the [installation instructions on the precommit website](https://pre-commit.com/#install).\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/peterdudfield\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/34686298?v=4?s=100\" width=\"100px;\" alt=\"Peter Dudfield\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePeter Dudfield\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=peterdudfield\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/flowirtz\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/6052785?v=4?s=100\" width=\"100px;\" alt=\"Flo\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFlo\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/pulls?q=is%3Apr+reviewed-by%3Aflowirtz\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/vnshanmukh\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/67438038?v=4?s=100\" width=\"100px;\" alt=\"Shanmukh\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eShanmukh\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=vnshanmukh\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/lordsonfernando\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/68499565?v=4?s=100\" width=\"100px;\" alt=\"lordsonfernando\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003elordsonfernando\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=lordsonfernando\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/gmlyth\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/88547342?v=4?s=100\" width=\"100px;\" alt=\"gmlyth\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003egmlyth\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=gmlyth\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://bio.link/klj\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2559382?v=4?s=100\" width=\"100px;\" alt=\"Keenan Johnson\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKeenan Johnson\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=keenanjohnson\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/devsjc\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/47188100?v=4?s=100\" width=\"100px;\" alt=\"devsjc\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003edevsjc\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=devsjc\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#design-devsjc\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/wsharpe41\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/122390836?v=4?s=100\" width=\"100px;\" alt=\"wsharpe41\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ewsharpe41\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=wsharpe41\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.pgarcia.dev\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/10740572?v=4?s=100\" width=\"100px;\" alt=\"Pedro Garcia Rodriguez\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePedro Garcia Rodriguez\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=BreakingPitt\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/erikg16\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/81220397?v=4?s=100\" width=\"100px;\" alt=\"erikg16\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eerikg16\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=erikg16\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://aatmanvaidya.github.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/56875084?v=4?s=100\" width=\"100px;\" alt=\"Aatman Vaidya\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAatman Vaidya\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=aatmanvaidya\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ACSE-vg822\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/82698606?v=4?s=100\" width=\"100px;\" alt=\"Vidushee Geetam\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVidushee Geetam\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#maintenance-ACSE-vg822\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/mahmoud-40\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/116794637?v=4?s=100\" width=\"100px;\" alt=\"Mahmoud Abdulmawlaa\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMahmoud Abdulmawlaa\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=mahmoud-40\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/reckt32\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/114190094?v=4?s=100\" width=\"100px;\" alt=\"Divyansh Singh.\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDivyansh Singh.\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=reckt32\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/felix-se-cat\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/145403025?v=4?s=100\" width=\"100px;\" alt=\"Felix\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFelix\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/ocf-infrastructure/commits?author=felix-se-cat\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","funding_links":["https://github.com/sponsors/openclimatefix","https://opencollective.com/openclimatefix"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenclimatefix%2Focf-infrastructure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenclimatefix%2Focf-infrastructure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenclimatefix%2Focf-infrastructure/lists"}