This project requires specific versions of the following tools. To make sure your development setup matches with production follow the recommended installation methods.
-
Node.js
Use nodenv to install the required version of
Node.js
.nodenv install node --version
-
Yarn
Yarn must be installed using Corepack, included by default in
Node.js
.corepack enable yarn --version
-
Terraform
Use tfenv to install the required version of
terraform
.tfenv install terraform version
-
pre-commit
Follow the official documentation to install
pre-commit
in your machine.pre-commit install
-
Install the dependencies using
yarn
yarn install
All infrastructure-related configurations are within the infra
folder, except for the .terraform-version
file necessarily defined at the root level to set the Terraform version for the entire repository.
In details:
identity
: user-assigned managed identity definition used by the GitHub workflows of this repository. Must be run from the local development environment and high-level roles are required on target subscriptionrepository
: this GitHub repository settings. Due to some GitHub limitations, this must run from local development environment. Depends on theidentity
configuration since it gets the client ids of the user-assigned managed identity and stores them as repository secretsprod
: the actual infrastructure where FIMS code runs. This configuration is fully automated by GitHub workflows