Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

azure: support Hub/Spoke network architecture and add Fortinet deployment #763

Draft
wants to merge 162 commits into
base: develop
Choose a base branch
from

Conversation

yeoldegrove
Copy link
Collaborator

@yeoldegrove yeoldegrove commented Sep 29, 2021

Hub/Spoke Architecture

This adds support for Microsoft Azure's Hub/Spoke Architecture.
It does so by implementing a new variable network_topologywhich is set to plain(current setup) by default.
The new variable executes different terraform modules called network_{plain,hub,spoke} which implement the different network scenarios.
If network_topology="hub_spoke" is set, the new hub/spoke scenario is deployed.

A refernce to "Use Hub/Spoke network architecture" is in README.md and examples (to just uncomment) are in terraform.tfvars.

e.g.

plain network (default/current setup)

The plain network is still the default.

# no need to set this, as this is already the default.
network_topology = "plain" 

create hub + spoke network

To create both Hub/Spoke networks and a bastion host, set this in terraform.tfvars:

network_topology = "hub_spoke"                        # set network topology
vnet_hub_create = true                                # create hub vnet
bastion_enabled = true                                # deployment of bastion host
spoke_name = "sap-1"                                  # name for spoke to create

existing hub + create spoke network

To use an existing Hub network and bastion host and only deploy the Spoke network, set this in terraform.tfvars:

network_topology = "hub_spoke"                        # set network topology
vnet_hub_create = false                               # do not create hub vnet
vnet_hub_name = "myhubnet"                            # name of existing hub vnet
bastion_enabled = false                               # disable deployment of bastion host
bastion_host = "X.X.X.X"                              # public IP of existing bastion host in hub network
spoke_name = "sap-2"                                  # name for spoke to create

Fortinet Deployment

Copy link
Collaborator

@arbulu89 arbulu89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Many many comments.
I just checked the logic of the new code. I didn't check whether the terraform usage of the new components is correct or not, as it is pretty complex.

In any case, I miss some documentation in the terraform.tfvars.example file. This is the file most people use rather than the README file

azure/README.md Outdated Show resolved Hide resolved
azure/infrastructure.tf Outdated Show resolved Hide resolved
azure/infrastructure.tf Outdated Show resolved Hide resolved
azure/infrastructure.tf Outdated Show resolved Hide resolved
azure/infrastructure.tf Outdated Show resolved Hide resolved
azure/modules/network_spoke/variables.tf Outdated Show resolved Hide resolved
azure/variables.tf Outdated Show resolved Hide resolved
azure/variables.tf Outdated Show resolved Hide resolved
azure/variables.tf Outdated Show resolved Hide resolved
azure/variables.tf Outdated Show resolved Hide resolved
azure/modules/bastion/variables.tf Outdated Show resolved Hide resolved
azure/modules/network_spoke/infrastructure.tf Outdated Show resolved Hide resolved
yeoldegrove and others added 30 commits February 9, 2022 13:55
…fen/ha-sap-terraform-deployments into mayerhofen
…fen/ha-sap-terraform-deployments into develop-mayerhofen
…terraform-deployments into develop-mayerhofen
…fen/ha-sap-terraform-deployments into mayerhofen
…terraform-deployments into develop-mayerhofen
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants