Skip to content

VNS3 topology use case automations with Infra as Code

Notifications You must be signed in to change notification settings

cohesive/vns3-infra-templates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VNS3 Infrastructure templates

contact

This project contains code for getting started with different network architectures using VNS3 to enable secure connectivity. The topologies are defined using common IaaC templating systems such as terraform and cloudformation.

Common Use-Cases

  • VPN Site to Site
  • Multi-Cloud
  • Encrypted overlay network
  • Plug in functionality on your Network Edge with our Plugin System

This is a work in progress as we collect and organize the work we've done the last number of years so we appreciate your understanding. If you'd like to see an example use case using a certain templating system, let us know! You can Create an Issue here or open a support ticket for some one on one help getting started.

Building topologies

Each templating system has different conventions but are all relatively easy to use. After building your infrastructure, you can automate configuration of your network topology using the VNS3 API. We also currently support a Python SDK (with Bash and Ruby to come!) which has some example code for getting started.

Terraform

You can deploy terraform templates using the Terraform command line tool. We also wrote a little helper script to output your build plans @ scripts/tfplan

terraform plan              # view the resources to be built
terraform apply -force      # create resources using force to skip confirming step
./tfplan [path to dir]      # create a timestamped build plan, optional path to dir
terraform apply -force build__2019-09-23T19-06-08Z.tfplan

Cloudformation

You can deploy AWS Cloudformation templates via the AWS console or utilizing the AWS SDKs, most easily with the CLI and the create-stack method.

aws cloudformation create-stack --stack-name myteststack \
  --template-body file://sampletemplate.json \
  --parameters ParameterKey=KeyPairName,ParameterValue=TestKey \
  ParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2

Azure Resource Manager Templates

You can deploy azure resource manager templates via the Azure console or utilizing the Azure SDKs, most easily with the CLI and the resource manager deploy method.

az group create --name ExampleGroup --location "Central US"
az group deployment create \
  --name ExampleDeployment \
  --resource-group ExampleGroup \
  --template-file multi-region-peering-topology.json \
  --parameters storageAccountType=Standard_GRS

Configuring Topologies

Now that your infrastructure is deployed, you can programmatically configure the topology with the VNS3 API.. We also currently support a Python SDK (with Bash and Ruby to come!) which has some example code for getting started with configuration your topology.

Automated Topology Verification

To come!

About

VNS3 topology use case automations with Infra as Code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published