An open API service indexing awesome lists of open source software.

https://github.com/openclimatefix/ocf-infrastructure

Infrastructure code for OCF's cloud environments
https://github.com/openclimatefix/ocf-infrastructure

devops infrastructure terraform

Last synced: 10 months ago
JSON representation

Infrastructure code for OCF's cloud environments

Awesome Lists containing this project

README

          


OCF Infrastructure




Terraform infrastructure-as-code for cloud environments.

[![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)

[![All Contributors](https://img.shields.io/badge/all_contributors-15-orange.svg?style=flat-square)](#contributors-)










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

```yaml
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:
- [Nowcasting Domain](terraform/nowcasting/README.md)
- [PVSite Domain](terraform/pvsite/README.md)
- [Modules](terraform/modules/README.md)

## Terraform Overview

[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

```bash
$ brew install terraform
```

If you aren't on Mac or don't want to use Homebrew,
[check out the official terraform installation instructions](https://learn.hashicorp.com/tutorials/terraform/install-cli#install-terraform).

## Pre-Commit

This 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).

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):



Peter Dudfield
Peter Dudfield

💻
Flo
Flo

👀
Shanmukh
Shanmukh

💻
lordsonfernando
lordsonfernando

💻
gmlyth
gmlyth

💻
Keenan Johnson
Keenan Johnson

📖
devsjc
devsjc

💻 🎨


wsharpe41
wsharpe41

💻
Pedro Garcia Rodriguez
Pedro Garcia Rodriguez

💻
erikg16
erikg16

💻
Aatman Vaidya
Aatman Vaidya

💻
Vidushee Geetam
Vidushee Geetam

🚧
Mahmoud Abdulmawlaa
Mahmoud Abdulmawlaa

💻
Divyansh Singh.
Divyansh Singh.

📖


Felix
Felix

💻

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!