Coalfire created reference architecture for FedRAMP AWS builds. This repository is used as a parent directory to deploy Coalfire-CF/terraform-aws-<service>
modules.
Learn more at Coalfire OpenSource.
- AWS Account
- AWS CLI is installed
Directory | Purpose |
---|---|
aws/terraform/us-gov-west-1/management-account/day0 |
Account Setup Terraform files |
aws/terraform/us-gov-west-1/global-vars.tf |
Global variables |
aws/terraform/us-gov-west-1/networking |
Networking deployment Terraform files |
aws/terraform/us-gov-west-1/org-creation |
AWS Organization Terraform files |
aws/terraform/us-gov-west-1/org-onboarding |
AWS Organization Onboarding Terraform files |
- Update
global-vars.tf
inaws/terraform/us-gov-west-1/global-vars.tf
- Update
tstate.tf
in each directory (when applicable). Example below:
terraform {
required_version = ">=1.5.0"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
backend "s3" {
bucket = "pak-us-gov-west-1-tf-state"
region = "us-gov-west-1"
key = "pak-us-gov-west-1-tfsetup.tfstate"
dynamodb_table = "pak-us-gov-west-1-state-lock"
encrypt = true
}
}
- Update
remote-data.tf
in each directory (when applicable). Example below:
data "terraform_remote_state" "day0" {
backend = "s3"
config = {
bucket = "${var.resource_prefix}-${var.aws_region}-tf-state"
region = var.aws_region
key = "${var.resource_prefix}-${var.aws_region}-tfsetup.tfstate"
profile = "pak-mgmt"
}
}
- Update
vars.tfvars
in each directory (when applicable).
- Log in with with AWS creds into AWS CLI. `aws configure'.
- Navigate to
aws/terraform/us-gov-west-1/management-account/day0
and runterraform init
andterraform plan
. If everything looks correct, then runterraform apply
. - Navigate to
aws/terraform/us-gov-west-1/org-creation
and runterraform init
andterraform plan
. If everything looks correct, then runterraform apply
. - Navigate to
aws/terraform/us-gov-west-1/org-onboarding
and runterraform init
andterraform plan
. If everything looks correct, then runterraform apply
. - Navigate to
aws/terraform/us-gov-west-1/networking
and runterraform init
andterraform plan
. If everything looks correct, then runterraform apply
. - Navigate to
aws/terraform/us-gov-west-1/management-account/bastion
and runterraform init
andterraform plan
. If everything looks correct, then runterraform apply
.
- Ensure that the
vars.tfvars
file is never uploaded or committed to any public repository platform (e.g., GitHub, GitLab, Bitbucket, etc.). This file contains sensitive information and should be kept private.
No requirements.
No providers.
No modules.
No resources.
No inputs.
No outputs.
If you're interested in contributing to our projects, please review the Contributing Guidelines. And send an email to our team to receive a copy of our CLA and start the onboarding process.
Copyright © 2024 Coalfire Systems Inc.