Skip to content

Commit 635a91b

Browse files
committed
init/updateGCPTerraformModules: 1.1.0
Signed-off-by: FTNT-HQCM <hq-devops-admin@fortinet.com>
1 parent 05f3711 commit 635a91b

39 files changed

+2482
-213
lines changed

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
## 1.1.0 (Nov 1, 2024)
2+
3+
FEATURES:
4+
5+
* **New Module**: `fgt_single`. You can use this module to deploy one signle FortiGate.
6+
* **New Example**: `autoscale_fgt_as_hub`. Utilize Autoscale FortiGate as a central hub to connect up to eight existing VPCs. FortiGates connect your VPCs and manage traffic between VPCs.
7+
8+
IMPROVEMENTS:
9+
10+
* Improved the whole project to support Google Cloud 6.0.0
11+
* Example `autoscale_fgt_lb_sandwich`: Added new output `bucket_name`, `elb_ip` and `ilb_ip`.
12+
* Example `autoscale_fgt_lb_sandwich`: Supported `cloud_function.logging_level` to control the verbosity of logs. `cloud_function.print_debug_msg` is deprecated.
13+
* Example `autoscale_fgt_lb_sandwich`: Supported `zones`. If you use the parameter `zones` instead of `zone`, your FortiGates will be deployed in multiple zones.
14+
* Example `autoscale_fgt_lb_sandwich`: Added `image_source`, you can specify custom FortiGate image.
15+
* Example `autoscale_fgt_lb_sandwich`: Added `service_account_email`, you can specify a custom service account other than the default one.
16+
* Module `fgt_asg_with_function`: Supported `cloud_function.logging_level` to control the verbosity of logs. `cloud_function.print_debug_msg` is deprecated.
17+
* Module `fgt_asg_with_function`: Supported `zones`. If you use the parameter `zones` instead of `zone`, your FortiGates will be deployed in multiple zones.
18+
* Module `fgt_asg_with_function`: Added random strings to the storage bucket name to avoid global name conflict.
19+
* Module `fgt_asg_with_function`: Removed unnessary resource "google_compute_target_pool".
20+
* Module `fgt_asg_with_function`: Added validation for variable `fgt_password`. The `fgt_password` must be at least 8 characters long if specified.
21+
* Module `fgt_asg_with_function`: Added Google API requirements and Firestore database requirements in the document.
22+
* Module `fgt_asg_with_function`: Added autohealing for FortiGate instances group.
23+
* Module `fgt_asg_with_function`: Added `elb_ip` and `ilb_ip` in variable `network_interfaces`. If you specify `elb_ip` or `ilb_ip`, the cloud function will configure your FortiGates interfaces to support ELB and ILB.
24+
* Module `fgt_asg_with_function`: Added `image_source`, you can specify a custom FortiGate image.
25+
* Module `fgt_asg_with_function`: Added `service_account_email`, you can specify a custom service account other than the default one.
26+
27+
BUG FIXES:
28+
29+
* Module `fgt_asg_with_function`: Fixed an error that you can't set `cloud_function.fortiflex.password` as empty.
30+
* Module `fgt_asg_with_function`: `network_interfaces` is required now.
31+
132
## 1.0.0 (Aug 30, 2024)
233

334
* Initial release

README.md

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,42 +4,54 @@ Terraform modules for deploying Fortinet VM products (e.g. FortiGate VM) on GCP.
44

55
Folder `modules` contains reusable modules for GCP configurations (Subfolder `gcp`) and Fortinet VM products (Other subfolders).
66

7-
Folder `examples` contains examples for certain structures of security solutions. Please Note: Templates under folder `examples` are examples which the name or content may change. Directly reference a examples as module are not recommended.
7+
Folder `examples` contains examples for certain structures of security solutions. Please Note: Templates under folder `examples` are examples which the name or content may change. When you reference an example as a module, it is not recommended to update its version after it is deployed.
88

9-
## Supported features of examples
9+
## Supported Templates
1010

11-
1. [Autoscale-FGT-LB-Sandwich](./docs/autoscale_fgt_lb_sandwich.md):
11+
Please click the following links for visual diagrams, requirements, example deployment scripts, and additional information.
12+
13+
### Examples
14+
1. [Autoscale-FGT-LB-Sandwich](https://github.com/fortinetdev/terraform-google-cloud-modules/blob/main/docs/autoscale_fgt_lb_sandwich.md):
15+
16+
Autoscale FortiGate with Load Balancer Sandwich uses FortiGates as a firewall between your VPCs and the Internet. It offers a dynamically scalable FortiGate Group that efficiently manages the traffic flowing in and out of your VPCs.
17+
18+
2. [Autoscale-FGT-as-Hub](https://github.com/fortinetdev/terraform-google-cloud-modules/blob/main/docs/autoscale_fgt_as_hub.md):
1219

13-
Autoscale FortiGate with Load Balancer Sandwich offers a dynamically scalable network security solution that efficiently manages the traffic flowing in and out of your VPCs.
20+
Utilize Autoscale FortiGate as a central hub to connect up to eight existing VPCs. FortiGates connect your VPCs and manage traffic between VPCs.
21+
22+
### Modules
23+
1. [Single FortiGate](https://github.com/fortinetdev/terraform-google-cloud-modules/blob/main/docs/fgt_single.md):
24+
25+
You can use this module to quickly deploy one single FortiGate.
1426

15-
For a detailed visual diagram and additional information, please refer to [this document](./docs/autoscale_fgt_lb_sandwich.md).
1627

17-
## How to Use Examples:
28+
## How to Use Examples/Modules:
1829

19-
**Direct Use of Example**
30+
**Use it as a Terraform project (Examples only)**
2031

2132
1. Navigate to the example folder (e.g., "examples/autoscale_fgt_lb_sandwich").
2233
2. Edit the file "terraform.tfvars.template" and rename it to "terraform.tfvars".
23-
3. Execute the commands "terraform init" and "terraform apply".
34+
3. Execute the commands `terraform init` and `terraform apply`.
2435

25-
**Use it as a module**
36+
**Use it as a module (Examples and Modules)**
2637

2738
1. Create a new folder and add a file named "main.tf" within this folder.
28-
2. Update "main.tf" with the necessary module parameters, referencing "terraform.tfvars.template" for guidance.
39+
2. In "main.tf", specify the module with the necessary parameters.
2940

3041
```
3142
module "your_module_name" {
32-
source = "path_to_the_module"
43+
source = "fortinetdev/cloud-modules/google//examples/<example_name>"
44+
# source = "fortinetdev/cloud-modules/google//modules/fortigate/<module_name>"
3345
3446
other_variable = "xxx"
3547
}
3648
```
37-
3. Execute the commands "terraform init" and "terraform apply".
49+
3. Execute the commands `terraform init` and `terraform apply`.
3850

3951
## Request, Question or Issue
4052

4153
If there is a missing feature or a bug -- [open an issue](https://github.com/fortinetdev/terraform-google-cloud-modules/issues/new)
4254

4355
## License
4456

45-
[License](./LICENSE) © Fortinet Technologies. All rights reserved.
57+
[License](https://github.com/fortinetdev/terraform-google-cloud-modules/blob/main/LICENSE) © Fortinet Technologies. All rights reserved.

0 commit comments

Comments
 (0)