Home

Awesome

<h2 align="center"> OCF Infrastructure <br> <br> Terraform infrastructure-as-code for cloud environments. </h2> <p align="center">

ease of contribution: medium

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->

All Contributors

<!-- ALL-CONTRIBUTORS-BADGE:END --> <a href="https://app.terraform.io/app/openclimatefix/workspaces" alt="Terraform Cloud"> <img src="https://img.shields.io/badge/console-terraform.io-blue?style=for-the-badge"/></a> <a href="https://github.com/openclimatefix/ocf-infrastructure/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc" alt="Issues"> <img src="https://img.shields.io/github/issues/openclimatefix/ocf-infrastructure?style=for-the-badge"/></a> <a href="https://github.com/openclimatefix/ocf-infrastructure/actions/workflows/terraform-validate.yaml" alt="Validate"> <img src="https://img.shields.io/github/actions/workflow/status/openclimatefix/ocf-infrastructure/terraform-validate.yaml?label=validate&style=for-the-badge"/></a> <a href="https://github.com/openclimatefix/ocf-infrastructure/graphs/contributors" alt="Contributors"> <img src="https://img.shields.io/github/contributors/openclimatefix/ocf-infrastructure?style=for-the-badge"/></a> </p> <br>

A repository for managing the cloud infrastructure for the Open Climate Fix organisation. Contains terraform code for defining services and describing environments. Each contextual domain and each deployment environment are specified in folders within the terraform directory, along with reusable modules and unittests.

Repository Structure

ocf-infrastructure:
  terraform: # Contains all the terraform code for OCF's cloud infrastructure
    modules: # Portable terraform modules defining specific cloud infrastructure blocks
    nowcasting: # Specific code for the nowcasting domain's cloud infrastructure
    pvsite: # Specific code for the nowcasting domain's cloud infrastruture
    unittests: # Specific infrastructure code for a environment to test the modules
  local-stack: # Code to run the terraform stack locally for local testing/development
  .github: # Contains github-specific code for automated CI workflows

See the README's in the domain folders for more information on their architecture:

Terraform Overview

Terraform is a declarative language which is used to specify and build cloud environments. To install the CLI locally, ensure Homebrew is installed, then run

$ brew install terraform

If you aren't on Mac or don't want to use Homebrew, check out the official terraform installation instructions.

Pre-Commit

This repository implements a pre-commit 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.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/peterdudfield"><img src="https://avatars.githubusercontent.com/u/34686298?v=4?s=100" width="100px;" alt="Peter Dudfield"/><br /><sub><b>Peter Dudfield</b></sub></a><br /><a href="https://github.com/openclimatefix/ocf-infrastructure/commits?author=peterdudfield" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/flowirtz"><img src="https://avatars.githubusercontent.com/u/6052785?v=4?s=100" width="100px;" alt="Flo"/><br /><sub><b>Flo</b></sub></a><br /><a href="https://github.com/openclimatefix/ocf-infrastructure/pulls?q=is%3Apr+reviewed-by%3Aflowirtz" title="Reviewed Pull Requests">👀</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/vnshanmukh"><img src="https://avatars.githubusercontent.com/u/67438038?v=4?s=100" width="100px;" alt="Shanmukh"/><br /><sub><b>Shanmukh</b></sub></a><br /><a href="https://github.com/openclimatefix/ocf-infrastructure/commits?author=vnshanmukh" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/lordsonfernando"><img src="https://avatars.githubusercontent.com/u/68499565?v=4?s=100" width="100px;" alt="lordsonfernando"/><br /><sub><b>lordsonfernando</b></sub></a><br /><a href="https://github.com/openclimatefix/ocf-infrastructure/commits?author=lordsonfernando" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/gmlyth"><img src="https://avatars.githubusercontent.com/u/88547342?v=4?s=100" width="100px;" alt="gmlyth"/><br /><sub><b>gmlyth</b></sub></a><br /><a href="https://github.com/openclimatefix/ocf-infrastructure/commits?author=gmlyth" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://bio.link/klj"><img src="https://avatars.githubusercontent.com/u/2559382?v=4?s=100" width="100px;" alt="Keenan Johnson"/><br /><sub><b>Keenan Johnson</b></sub></a><br /><a href="https://github.com/openclimatefix/ocf-infrastructure/commits?author=keenanjohnson" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/devsjc"><img src="https://avatars.githubusercontent.com/u/47188100?v=4?s=100" width="100px;" alt="devsjc"/><br /><sub><b>devsjc</b></sub></a><br /><a href="https://github.com/openclimatefix/ocf-infrastructure/commits?author=devsjc" title="Code">💻</a> <a href="#design-devsjc" title="Design">🎨</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/wsharpe41"><img src="https://avatars.githubusercontent.com/u/122390836?v=4?s=100" width="100px;" alt="wsharpe41"/><br /><sub><b>wsharpe41</b></sub></a><br /><a href="https://github.com/openclimatefix/ocf-infrastructure/commits?author=wsharpe41" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.pgarcia.dev"><img src="https://avatars.githubusercontent.com/u/10740572?v=4?s=100" width="100px;" alt="Pedro Garcia Rodriguez"/><br /><sub><b>Pedro Garcia Rodriguez</b></sub></a><br /><a href="https://github.com/openclimatefix/ocf-infrastructure/commits?author=BreakingPitt" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/erikg16"><img src="https://avatars.githubusercontent.com/u/81220397?v=4?s=100" width="100px;" alt="erikg16"/><br /><sub><b>erikg16</b></sub></a><br /><a href="https://github.com/openclimatefix/ocf-infrastructure/commits?author=erikg16" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://aatmanvaidya.github.io/"><img src="https://avatars.githubusercontent.com/u/56875084?v=4?s=100" width="100px;" alt="Aatman Vaidya"/><br /><sub><b>Aatman Vaidya</b></sub></a><br /><a href="https://github.com/openclimatefix/ocf-infrastructure/commits?author=aatmanvaidya" title="Code">💻</a></td> </tr> </tbody> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the all-contributors specification. Contributions of any kind welcome!