Fortistacks is a collection of examples, scripts and documentation to use Fortinet products in Clouds/fully automated environments.
Initial focus is on OpenStack, more to come.
THis doc is for those who wants direct hands on, follow me instruction. More explanation in the Fortistacks section.
Openstack and API access to openstack. You are supposed to have the .rc file corresponding to your environement.
Docker installed on your host or a jumphost
git cli
an ssh key generated in you home environement (can be done later in Docker)
To correctly get the referenced submodules please use the --recursive option of git clone like this:
git clone https://github.com/fortinet-solutions-cse/fortistacks.git --recursive
Copy your .rc file with the openstack credentials in fortistacks folder. Add the following line:
export OS_FLAVOR=1C-1GB
export EXT_NET=ext-net
Adapt to your environment those variables are for a Citycloud deployment. If not set the values will be "m1.small" and "ext_net" We recommend to had them to your .rc file.
From fortistacks folder:
cd fortistacks
docker run -v $PWD:/fortistacks/ -v $HOME/.ssh:/home/ubuntu/.ssh/ --rm -i --name fortistacks-cli -h fortistacks-cli -t fortinetsolutioncse/fortistacks-cli
source you .rc file
. myopenstackcreds.rc
openstack image list
The list command must return the list of available image. If this is the case your fortistacks cli is ready. If not review/debug all the previous points.
cd openstack/
./configure-openstack
This will create the mgmt network, upload default ssh key and configure security group. The examples in this project relies on this to be available.
To get the latest enhancements:
git pull --recurse-submodule
docker pull fortinetsolutioncse/fortistacks-cli
You must have an Ubuntu 18.04 minimum jumphost that will connect between your access to the mgmt network.
Can do manually or check: ovh-jumphost.sh as an automated example.
Once created
To correctly get the referenced submodules please use the --recursive option of git clone like this:
git clone https://github.com/fortinet-solutions-cse/fortistacks.git --recursive
Then install the right setup/packages
cd fortistacks
./fortistacks install
It will create a local ssh key pair.
You have 2 more options to fortistacks script: sudoers to setup sudo without password for the user (default on cloud-images) desktop to setup a full ubuntu desktop environement and VNC accessible screen sharing (working with Mac/Windows client)
Copy your .rc file with the openstack credentials in fortistacks folder. Add the following line:
export OS_FLAVOR=1C-1GB
export EXT_NET=ext-net
Adapt to your environment those variables are for a Citycloud deployment. If not set the values will be "m1.small" and "ext_net" We recommend to had them to your .rc file.
source you .rc file
. myopenstackcreds.rc
openstack image list
The list command must return the list of available image. If this is the case your fortistacks cli is ready. If not review/debug all the previous points.
cd openstack/
./configure-openstack
This will create the mgmt network, upload default ssh key and configure security group. The examples in this project relies on this to be available.
To get the latest enhancements:
git pull --recurse-submodule
You have setup the basic interaction with your Openstack, you can now experiment with Fortigate product and automation (MANO) environment. The different working demos are in self explanatory directory. The examples are build to be easily adaptable to your environment (fortistacks-cli in docker is an helper not mandatory)