Try EDA#
We believe that EDA embodies what a network automation of the modern age should look like - declarative and programmable abstractions for both configuration and state, streaming-based engine, equipped with network-wide queries, extensible and multivendor-capable.
And we don't want you to blindly take our word for it, instead we made EDA easily accessible1 so that both network engineers and cloud practitioners could be the judge.
With no license and no registration required, you are mere couple commands away from having the full EDA experience wherever you are - with your laptop, in the cloud or logged in the VM.
To deliver the "Try EDA" experience, we have created an EDA playground - a repository that contains everything you need to install and provision a demo EDA instance with the virtual network on the side. Let us guide you through the installation process.
-
Choose where to run EDA
Since EDA uses Kubernetes as its application platform, you can deploy the EDA Playground anywhere a k8s cluster runs.
The most popular way to install the demo EDA instance is on a Linux server/VM, but you can also run it on macOS, in an existing Kubernetes cluster, or on Windows using WSL. -
Ensure minimal system requirements are met
Regardless of whether you run EDA Playground locally on a laptop, or in a VM locally or in the cloud, the underlying k8s cluster should have the following resources available to it2:
10 vCPUs
16GB of RAM
30GB of storageFor a VM-based installation, this means that the VM should be provisioned with (at the minium) this amount of resources.
-
Clone the EDA Playground repository
Proceed with cloning the EDA playground repository that contains everything you need to install and provision a demo EDA instance.
If you are using a Linux VM or a server to deploy the Playground, you should clone the repository on that VM/server.
You will need
git
3 to clone it: -
Prepare the VM/Server
If you are deploying the EDA Playground on a VM/Server, you should take care of the following:
Install
make
that orchestrates the installation of the EDA Playground.Install
docker
using our automated installer, if you don't have it already installed:Or install it manually, by following the official Docker installation guide for your OS. If you installed docker via the package manager of your distribution, remove it and install as per the Docker installation guide.
Ensure sudo-less docker access
After completing the docker installation, check if you can run docker commands without
sudo
by running:If you get a
permission denied
error, then you need to add your user to thedocker
group:-
Create the docker group.
-
Add your user to the docker group.
-
Log out and log back in so that your group membership is re-evaluated.
Ensure the relevant sysctl values are properly sized by pasting and running the following:
-
-
Install the EDA Playground
To configure the EDA Playground installation you need to provide a single variable - the domain name or IP address of the machine where you install EDA.
- In case of a VM, it is the IP address or a domain name of the VM.
- If you are using ssh tunnel to access the VM, then provide
localhost
as theEXT_DOMAIN_NAME
value4.
With the IP/domain-name noted, set the
EXT_DOMAIN_NAME
environment variable in your shell:LLM Key for the Natural Language Query
If you want to enable the Natural Language support for the EDA Query functionality, provide the LLM key (OpenAI) with an additional environment variable5:Now, run the EDA installer:
-
If
EXT_DOMAIN_NAME
environment variable left unset, the hostname of the machine where you executed themake
command will be used.preferences file
Instead of providing the configuration values such as
EXT_DOMAIN_NAME
andEXT_HTTPS_PORT
on the command line, you can also provide them in aprefs.mk
file that comes with the playground repository.
The installation will take approximately 10 minutes to complete. Once it is done, you can optionally verify the installation.
EDA License
As you may have noticed, the EDA Playground installation does not require a license. We wanted to ensure that automation with EDA is accessible to everyone, anytime.
The EDA system can perfectly run without a license with the following caveats:- Only virtual, CX-nodes can be onboarded. These are SR Linux nodes that will be deployed for you by the time
make try-eda
step finishes. No hardware, nor containerlab nodes can be used in an unlicensed EDA mode. - No integration with the cloud systems such as Openstack, VMware, etc.
-
Access the UI
EDA is an API-first framework, with its UI being a client of the very same API. At the end of the
make try-eda
output you will find the URL to access the UI.--> Exposing the UI to the host across the kind container boundary --> The UI can be accessed using https://10.10.1.1:9443 #(1)! --> Started background port forward with process id: 897027 --> INFO: EDA is launched
- Instead of
10.10.1.1
IP you will see the value you provided in theEXT_DOMAIN_NAME
environment variable.
Open your web browser and navigate to provided URL to access the EDA UI. As you would expect, credentials are required in order to log in. The default credentials are as follow:
- Username:
admin
- Password:
admin
- Instead of
Now that you completed the installation, you can either read more on the installation details, or continue with creating your first unit of automation with EDA.
-
Creating a resource
Now, that you are logged in, you are ready for your first EDA automation experience!
-
How does install work?
If you want to understand how EDA playground installer works and what makes up the EDA installation, you can continue with the Installation process section.
Production installation
For a production installation instructions, please refer to the Software Installation document.
-
As no other framework of comparable scale. ↩
-
This as well accounts for the playground network topology. ↩
-
Many distributions come with
↩git
preinstalled, but if not you should install it via your package manager.
For instance withapt
-enabled systems: -
In case of a local port forwarding you will access EDA UI via
↩https://localhost:9443
when establishing the tunnel with: -
You can provide the LLM key after the installation as well. ↩