> **Page index:** https://km.oslo.systems/llms.txt lists every page on this site, with a link to its Markdown version.

# Set up GitHub repository for IaC

GitHub is used to host the Terraform code for your infrastructure.

> [!TIP]
>
> **Naming convention**
>
> A good naming convention is to use the name of your team along with `-iac`, for example `barnehageplass-iac`.

> [!TIP]
>
> **Give Team Utviklerflyt read access to your repository**
>
> To better help out your team in case of need, Team Utviklerflyt would like read access to your infrastructure repository. This can be achieved two ways: By setting the privacy of the repository to "Internal", or by granting read access for the repository to [the `kjoremiljo` team in GitHub](<https://github.com/orgs/oslokommune/teams/kjoremiljo>).

## Create a GitHub repository for infrastructure

Create a new empty repository for your team (see [how to create a new repository](<https://docs.github.com/en/get-started/quickstart/create-a-repo>)).

Checkout the repository locally on your machine (see [how to clone a repository](<https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository>)).

Initialize with a `.gitignore` file to avoid checking in Terraform cache files etc:

.gitignore

```
.DS_Store

**/.terraform/*
**.tfstate
*.tfstate.*
```

## Next step

Follow [Set up environment](<https://km.oslo.systems/initial-setup-of-your-aws-environment/set-up-environment/index.md>) to create configuration files for your first environment.
