Skip to content

Commit f5b2969

Browse files
authored
refactor: formatting README (#30)
1 parent e3cb718 commit f5b2969

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# terraform-example-foundation
22
This is an example repo showing how the CFT Terraform modules can be composed to build a secure GCP foundation.
3-
The supplied structure and code is intended to form a starting point for building your own foundation with pragmatic defaults you can customize to meet your own requirements. Currently, the code leverages Google Cloud Build for deployment of the Terraform from step 2 onwards.
3+
The supplied structure and code is intended to form a starting point for building your own foundation with pragmatic defaults you can customize to meet your own requirements. Currently, the code leverages Google Cloud Build for deployment of the Terraform from step 1 onwards.
44
Cloud Build has been chosen to allow teams to quickly get started without needing to deploy a CI/CD tool, although it is worth noting the code can easily be executed by your preferred tool.
55

66
## Overview
77
This repo contains several distinct Terraform projects each within their own directory that must be applied seperately, but in sequence.
88
Each of these Terraform projects are to be layered on top of each other, running in the following order.
99

10-
### 0. [bootstrap](./0-bootstrap/README.md)
10+
### [0. bootstrap](./0-bootstrap/)
1111

1212
This stage executes the [CFT Bootstrap module](https://github.com/terraform-google-modules/terraform-google-bootstrap) which bootstraps an existing GCP organization, creating all the required GCP resources & permissions to start using the Cloud Foundation Toolkit (CFT).
1313
This includes; projects, service accounts and a Terraform state bucket. After executing this step, you will have the following structure:
@@ -22,7 +22,7 @@ In addition, this step uses the optional Cloud Build submodule, which sets up Cl
2222
A simple trigger mechanism is configured, which runs a `terraform plan` for any non master branch and `terraform apply` when changes are merged to the master branch.
2323
Usage instructions are available in the bootstrap [README](./0-bootstrap/README.md).
2424

25-
### 1. [org](./1-org/README.md)
25+
### [1. org](./1-org/)
2626

2727
The purpose of this stage is to set up top level folders used to house projects which contain shared resources such as monitoring, networking, org level logging and also to set baseline security settings through organizational policy.
2828
This will create the following folder & project structure:
@@ -40,6 +40,7 @@ example-organization
4040
├── org-shared-vpc-nonprod
4141
└── org-shared-vpc-prod
4242
```
43+
4344
#### Logs
4445

4546
Under the logs folder, two projects are created. One for organization wide audit logs and another for billing logs.
@@ -59,15 +60,15 @@ If you have strong IAM requirements for these monitoring workspaces, it is worth
5960
Under the networking folder, a project is created per environment (prod & nonprod) which is intended to be used as a [Shared VPC Host project](https://cloud.google.com/vpc/docs/shared-vpc) for all projects in that environment.
6061
This stage only creates the projects and enables the correct APIs, the following networks stage creates the actual Shared VPC networks.
6162

62-
#### Organization policy
63+
#### Organization Policies
6364

6465
Finally, the this step also applies a number of baseline [Organizational Policies](https://cloud.google.com/resource-manager/docs/organization-policy/overview).
6566
It is important to understand what restrictions these policies are applying within your GCP organization, so please take the time to review and update these restrictions to meet your own requirements.
6667
A full list of policies is [available here](https://cloud.google.com/resource-manager/docs/organization-policy/org-policy-constraints).
6768

6869
Usage instructions are available for the org step in the [README](./1-org/README.md).
6970

70-
### 2. [networks](./2-networks/README.md)
71+
### [2. networks](./2-networks/)
7172

7273
This step focuses on creating a Shared VPC per environment (prod & nonprod) in a standard configuration with a reasonable security baseline. Currently this includes:
7374

@@ -83,7 +84,7 @@ This step focuses on creating a Shared VPC per environment (prod & nonprod) in a
8384

8485
Usage instructions are available for the network step in the [README](./2-networks/README.md).
8586

86-
### 3. [projects](./3-projects/README.md)
87+
### [3. projects](./3-projects/)
8788

8889
This step, is focused on creating service projects in a standard configuration that are attached to the Shared VPC created in the previous step.
8990
Running this code as-is should generate a structure as shown below:
@@ -104,7 +105,7 @@ If relevant for your use case, there are also two optional submodules which can
104105

105106
Usage instructions are available for the network step in the [README](./3-projects/README.md).
106107

107-
### Final view
108+
### Final View
108109

109110
Once all steps above have been executed your GCP organization should represent the structure shown below, with projects being the lowest nodes in the tree.
110111

0 commit comments

Comments
 (0)