This repository contains reusable Terraform modules for Fides infrastructure.
Each module is versioned independently using a version.json
file in the module directory. When changes are pushed to the main branch, our CI pipeline automatically tags modules that have updated version numbers.
Tags follow the format {module-name}/v{version}
, for example: fides-aws-ecs/v1.0.0
To use a module in your Terraform configuration:
module "fides_aws_ecs" {
source = "github.com/ethyca/fides-terraform//fides-aws-ecs?ref=fides-aws-ecs/v1.0.0"
# Module inputs here
}
Note the double slash (//
) in the source URL, which is required when referencing a subdirectory in a Git repository.
- fides-aws-ecs: Deploys Fides on AWS ECS
- Clone the repository
- Install the Terraform version specified in the
.terraform-version
file a. You can usebrew install tfenv
to installtfenv
if you don't have it already. b. You can usetfenv use
to install the correct version. - Run
terraform init
to install the correct version of Terraform providers
- Make your changes to the module
- Update the
version
field in the module'sversion.json
file according to semantic versioning - Create a PR and merge to the
main
branch - The GitHub Actions workflow will automatically create a tag for the new version
Each module should include:
version.json
- Contains module metadata and versionREADME.md
- Module documentation- Terraform files, including at least a
main.tf
,variables.tf
, andoutputs.tf
The Fides ecosystem of tools are licensed under the Apache Software License Version 2.0. Fides tools are built on fideslang, the Fides language specification, which is licensed under CC by 4.
Fides is created and sponsored by Ethyca: a developer tools company building the trust infrastructure of the internet. If you have questions or need assistance getting started, let us know at [email protected]!