You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 0-bootstrap/README-Jenkins.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,5 @@
1
+
*Warning: the guidance for deploying with Jenkins is no longer actively tested or maintained. While we have left the guidance available for users who prefer Jenkins, we make no guarantees about its quality, and you might be responsible for troubleshooting and modifying the directions.*
2
+
1
3
# 0-bootstrap - deploying a Jenkins-compatible environment
2
4
3
5
The purpose of this step is to bootstrap a GCP organization, creating all the required resources & permissions to start using the Cloud Foundation Toolkit (CFT). This step also guides you on how to configure a CI/CD project to host a Jenkins Agent, which connects to your existing Jenkins Controller infrastructure & your own Git repos (which might live on-prem). The Jenkins Agent will run [CI/CD Pipelines](../docs/GLOSSARY.md#foundation-cicd-pipeline) for foundations code in subsequent stages.
Copy file name to clipboardExpand all lines: 0-bootstrap/README.md
+19-1Lines changed: 19 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,6 +58,20 @@ file.
58
58
59
59
The purpose of this step is to bootstrap a Google Cloud organization, creating all the required resources and permissions to start using the Cloud Foundation Toolkit (CFT). This step also configures a [CI/CD Pipeline](/docs/GLOSSARY.md#foundation-cicd-pipeline) for foundations code in subsequent stages. The [CI/CD Pipeline](/docs/GLOSSARY.md#foundation-cicd-pipeline) can use either Cloud Build and Cloud Source Repos or Jenkins and your own Git repos (which might live on-premises).
60
60
61
+
## Intended usage and support
62
+
63
+
This repository is intended as an example to be forked, tweaked, and maintained in the user's own version-control system; the modules within this repository are not intended for use as remote references.
64
+
Though this blueprint can help accelerate your foundation design and build, we assume that you have the engineering skills and teams to deploy and customize your own foundation based on your own requirements.
65
+
66
+
We will support:
67
+
- Code is semantically valid, pinned to known good versions, and passes terraform validate and lint checks
68
+
- All PR to this repo must pass integration tests to deploy all resources into a test environment before being merged
69
+
- Feature requests about ease of use of the code, or feature requests that generally apply to all users, are welcome
70
+
71
+
We will not support:
72
+
- In-place upgrades from a foundation deployed with an earlier version to a more recent version, even for minor version changes, might not be feasible. Repository maintainers do not have visibility to what resources a user deploys on top of their foundation or how the foundation was customized in deployment, so we make no guarantee about avoiding breaking changes.
73
+
- Feature requests that are specific to a single user's requirement and not representative of general best practices
74
+
61
75
## Prerequisites
62
76
63
77
To run the commands described in this document, install the following:
@@ -153,6 +167,8 @@ See [troubleshooting](../docs/TROUBLESHOOTING.md) if you run into issues during
153
167
154
168
## Deploying with Jenkins
155
169
170
+
*Warning: the guidance for deploying with Jenkins is no longer actively tested or maintained. While we have left the guidance available for users who prefer Jenkins, we make no guarantees about its quality, and you might be responsible for troubleshooting and modifying the directions.*
171
+
156
172
If you are using the `jenkins_bootstrap` sub-module, see [README-Jenkins](./README-Jenkins.md)
157
173
for requirements and instructions on how to run the 0-bootstrap step. Using
158
174
Jenkins requires a few manual steps, including configuring connectivity with
@@ -178,7 +194,9 @@ Using Terraform Cloud requires manual creation of the GitHub repositories or Git
178
194
179
195
## Deploying with Cloud Build
180
196
181
-
**Note:** When deploying with cloud build is also possible to use a [script helper](../helpers/foundation-deployer/README.md) to do the deploy.
197
+
*Warning: This method has a dependency on Cloud Source Repositories, which is [no longer available to new customers](https://cloud.google.com/source-repositories/docs). If you have previously used the CSR API in your organization then you can use this method, but a newly created organization will not be able to enable CSR and cannot use this deployment method. In that case, we recommend that you follow the directions for deploying locally, Github, Gitlab, or Terraform Cloud instead.*
198
+
199
+
The following steps introduce the steps to deploy with Cloud Build Alternatively, use the [helper script](../helpers/foundation-deployer/README.md) to automate all the stages of. Use the helper script when you want to rapidly create and destroy the entire organization for demonstration or testing purposes, without much customization at each stage.
182
200
183
201
1. Clone [terraform-example-foundation](https://github.com/terraform-google-modules/terraform-example-foundation) into your local environment and navigate to the `0-bootstrap` folder.
Copy file name to clipboardExpand all lines: README.md
+19-3Lines changed: 19 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,29 @@
1
1
# terraform-example-foundation
2
2
3
3
This example repository shows how the CFT Terraform modules can build a secure Google Cloud foundation, following the [Google Cloud Enterprise Foundations Blueprint](https://cloud.google.com/architecture/security-foundations) (previously called the _Security Foundations Guide_).
4
-
The supplied structure and code is intended to form a starting point for building your own foundation with pragmatic defaults that you can customize to meet your own requirements. Currently, the step 0 is manually executed.
5
-
From step 1 onwards, the Terraform code is deployed by using either Google Cloud Build (default) or Jenkins.
6
-
Cloud Build has been chosen by default to allow you to quickly get started without having to deploy a CI/CD tool, although it is worth noting the code can easily be executed by your preferred tool.
4
+
The supplied structure and code is intended to form a starting point for building your own foundation with pragmatic defaults that you can customize to meet your own requirements.
5
+
6
+
The intended audience of this blueprint is large enterprise organizations with a dedicated platform team responsible for deploying and maintaining their GCP environment, who is commited to separation of duties across multiple teams and managing their environment solely through version-controlled Infrastructure as Code. Smaller organizations looking for a turnkey solution might prefer other options such as [Google Cloud Setup](https://console.cloud.google.com/cloud-setup/overview)
7
+
8
+
## Intended usage and support
9
+
10
+
This repository is intended as an example to be forked, tweaked, and maintained in the user's own version-control system; the modules within this repository are not intended for use as remote references.
11
+
Though this blueprint can help accelerate your foundation design and build, we assume that you have the engineering skills and teams to deploy and customize your own foundation based on your own requirements.
12
+
13
+
We will support:
14
+
- Code is semantically valid, pinned to known good versions, and passes terraform validate and lint checks
15
+
- All PR to this repo must pass integration tests to deploy all resources into a test environment before being merged
16
+
- Feature requests about ease of use of the code, or feature requests that generally apply to all users, are welcome
17
+
18
+
We will not support:
19
+
- In-place upgrades from a foundation deployed with an earlier version to a more recent version, even for minor version changes, might not be feasible. Repository maintainers do not have visibility to what resources a user deploys on top of their foundation or how the foundation was customized in deployment, so we make no guarantee about avoiding breaking changes.
20
+
- Feature requests that are specific to a single user's requirement and not representative of general best practices
7
21
8
22
## Overview
9
23
10
24
This repo contains several distinct Terraform projects, each within their own directory that must be applied separately, but in sequence.
25
+
Stage `0-bootstrap` is manually executed, and subsequent stages are executed using your preferred CI/CD tool.
26
+
11
27
Each of these Terraform projects are to be layered on top of each other, and run in the following order.
0 commit comments