Caution
CloudSurge currently save your API keys in CLEARTEXT. Please do not use this program for anything besides testing it!
CloudSurge is a program that you can use to set up GNS3 in the cloud automagically ✨. There are three main components:
- the
cloudsurge.sh
script - the front end
- the back end
The cloudsurge.sh
script can be used on its own to connect to a remote VPS
via ssh to install GNS3 and all the dependencies. It also installs ZeroTier
which then is used to connect to the VPS. The reason for that is pretty easy:
some providers like Azure have a own firewall which blocks the traffic
regardless of if the firewall of the VPS itself allows it. That's why we
decided on using ZeroTier to work around this restriction.
There are two main ways you could use CloudSurge. Either you let us create a VM for you or you create one yourself and use our CLI to just set up GNS3 and ZeroTier (click for Documentation).
For more info take a look at the script's README
- Create an account on a provider that has KVM support
- Create a VM
- Download the SSH key or copy the password
- Clone the repository:
git clone https://github.com/TechTowers/CloudSurge
- Make the script executable:
cd scripts
chmod +x cloudsurge.sh
- Run the script:
./cloudsurge.sh -h
- After you installed and configured the VM with our script you need to authorize the VM on the ZeroTier Network
Currently, we support two Providers:
If you already have an account you should still read the sections below to do some things you may not have done!
First create a DigitalOcean account. It will ask you for a payment method and verify the payment method by charging you a little bit, but don't worry you'll get it refunded again!
It will ask you some Question to create a Droplet yourself, but if you're here you probably want to let us do that for you, so just skip it.
Open this page and generate a new API Token with Full Access.
After that you will need to add an SSH key on this page. Click on the Add SSH Key
button and follow the steps outlined there.
After that you can add a DigitalOcean provider in CloudSurge. You will be asked for the API Token, the SSH fingerprint and the path of your SSH key: just put in the three things, and you're good to go :)
The first step is to create an AWS account. During the registration process, you’ll need to provide some personal information and set up a payment method. Don’t worry—while a small temporary charge may appear on your bank account, it won’t be deducted and is purely for verification purposes.
Once logged into your account, search for “Users” in the search bar and open this IAM section.
- Click on “Create User” and enter a username of your choice.
- Enable the option “Provide user access to the AWS Management Console”.
- Choose either a manually set password or the system-generated default.
aws iam create-user --user-name <username>
- In the next step, select “Attach policies directly”.
- Assign the AmazonEC2FullAccess policy to the user.
aws iam attach-user-policy --user-name <username> --policy-arn arn:aws:iam::aws:policy/AmazonEC2FullAccess
- Go back to the user list and open the newly created user.
- Navigate to the “Security Credentials” tab and select “Create Access Key”.
- Specify the intended use of the key (e.g., "Third-party service") and proceed by accepting the terms.
- Save both the Access Key and Secret Access Key securely.
aws iam create-access-key --user-name <username>
The output will include the Access Key and Secret Access Key. Save them securely.
- Search for “Key Pairs”.
- Create a new key pair using the RSA type and the private key format .pem.
- Download the key file and save it under
~/.ssh/key-name.pem
. - Note the name of the key pair for future use.
- Ensure the
.ssh
directory exists:mkdir -p ~/.ssh chmod 700 ~/.ssh
- Create a new key pair and save it in the
.ssh
directory:aws ec2 create-key-pair --key-name <key-name> --query "KeyMaterial" --output text > ~/.ssh/key-name.pem chmod 400 ~/.ssh/key-name.pem
Enter the following details into CloudSurge:
- Access Key
- Secret Access Key
- Key Pair Name
And you’re done!