Skip to content

ventx/terraform-stackit-fortigate-ha-cluster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ventx logo

STACKIT FortiGate HA cluster

This project creates a FortiGate HA cluster on STACKIT. It's based on the example given in the Fortinet OpenStack Administration Guide.

Prerequisites

A STACKIT service account with owner permissions at the organization level is needed. If you don't have one already, follow these steps:

  1. In the resource manager, create a dummy project within your STACKIT organization where the service account lives (e. g. pro-dummy).
  2. In the resource manager, switch to the newly created project and create a service account.
  3. Create a service account key for the service account and save it.
  4. In the resource manager, switch to your STACKIT organization and assign the owner role to the service account.

The following tools need to be available on the machine that shall run the code:

  • Terraform / OpenTofu

Requirements

Name Version
stackit ~> 0.69.0

Providers

Name Version
stackit 0.69.0

Modules

No modules.

Resources

Name Type
stackit_image.alpine resource
stackit_image.fortios resource
stackit_key_pair.main resource
stackit_network.ha_sync resource
stackit_network.l resource
stackit_network.private01 resource
stackit_network.r resource
stackit_network_interface.alpine_l resource
stackit_network_interface.alpine_r resource
stackit_network_interface.fortigate1_ha_sync resource
stackit_network_interface.fortigate1_network_l resource
stackit_network_interface.fortigate1_network_r resource
stackit_network_interface.fortigate1_private01 resource
stackit_network_interface.fortigate2_ha_sync resource
stackit_network_interface.fortigate2_network_l resource
stackit_network_interface.fortigate2_network_r resource
stackit_network_interface.fortigate2_private01 resource
stackit_public_ip.alpine_l resource
stackit_public_ip.alpine_r resource
stackit_public_ip.fortigate1 resource
stackit_public_ip.fortigate2 resource
stackit_resourcemanager_project.fortigate resource
stackit_security_group.web resource
stackit_security_group_rule.ssh resource
stackit_server.alpine_l resource
stackit_server.alpine_r resource
stackit_server.fortigate1 resource
stackit_server.fortigate2 resource

Inputs

Name Description Type Default Required
environment The environment name, e. g. test or prod. string "test" no
owner_email Your email address. string n/a yes
public_key_path Path to your SSH key public key. string n/a yes
stackit_organization_id Your STACKIT organization ID. string n/a yes
stackit_service_account_key_path Path to your STACKIT service account key JSON file. string n/a yes

Outputs

No outputs.

Usage

  1. Make sure the prerequisites are met
  2. Assign values to the variables (e. g. through a .tfvars file or environment variables)
  3. Place the needed Alpine image as alpine.qcow2 (download here) and the FortiGate KVM image as fortios.qcow2 (download here) into the project's root folder
  4. Run terraform plan / tofu plan and check if the plan matches your expectations
  5. Run terraform apply / tofu apply to deploy the infrastructure

Support

If you need help with the usage of this project, feel free to create an issue. For help with STACKIT in general, contact us at stackit@ventx.de and we'll see how we can assist you on your journey with STACKIT 😊

Need help with anything else? Come visit us at ventx.de to get an overview of what we have to offer!

Contributing

Ideas for improvements? Create an issue or a pull request!

About

Terraform code to create a FortiGate HA cluster on STACKIT

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages