FAQ

Is EVE usable today?

EVE is operable today to provide virtualization for edge devices. EVE powered devices can be managed by any centralized manager that implements the EVE controller API. Currently the only compliant manager is Z Central by Zededa, with more expected soon.  There is an open source project called Adam that is community driven and is a good way to get started in a pure OS solution. 

How can I set up a test & evaluation system with EVE?

Currently you can load EVE on an ARM board or an AMD board.  For specific devices that the community has used and verified to be compatible, see the EVE in the Market or the next entry.

What is an "edge container"?

Edge containers are virtual machines with a manifest that describes the runtime environment including device resource and connectivity requirements.

The specification of this manifest will be better documented soon, but you can discern its requirements by studying the code of EVE’s configuration API.

What is the difference between Adam and Eden?

Adam is an OSS controller, reference implementation. It’s at github.com/lf-edge/adam, and it can run standalone or from inside a container.

Eden is a test harness. It starts up several different services, provides simplified ways of controlling adam, getting logs, running tests, etc. it’s at github.com/lf-edge/eden

RPi- Will EVE work with my Raspberry Pi?

Yes, the Raspberry Pi 4 works well with EVE, we even have a tutorial that shows you how to run Windows 10 on it.  If you don't want Windows and want use your RPi in a more 'normal' sense, just do steps 0-3.  

For RPi 3 and earlier lack a proper GIC so we can't take advantage of virtualization features. 

What device hardware does EVE work with?

See our wiki page for supported platforms for an up to date list.

What are the minimum system requirements to use EVE?

We list some good guidelines below   Yet there are a wide variety of IoT devices out there.  The basic rule of thumb is:  is it a compute device at least the size of RPi4, then yes it will work.  If it is a lot smaller, you might want to reach out to our slack to see if the community thinks that it would work.  The EVE community is continuously working on EVE and we have shrunk its minimum size down. 

In addition to tested Intel and ARM CPU-based platforms, the following are recommended minimum requirements for a hardware platform to work with EVE:

  • 1 gigabyte RAM

  • 1 gigabyte persistent storage

  • 1 network interface

  • 1 serial port for development

  • A Trusted Platform Module (TPM) or some way to implement Trusted Execution Environments (TEE)

 

What security features does EVE provide?

EVE is designed to work with devices that are deployed in physically insecure and connected environments. First, EVE-managed devices make use of Trusted Platform Modules (TPM) or Trusted Execution Environments (TEE) when available for managing private keys for strong device and application instance  identities, and implementing measured boot. This also allows the EVE device API to work without needing to store login credentials. Next, following a zero trust, secure-by-default design approach, all EVE-managed devices have all physical and unused network ports disabled by default, disallowing SSH and keyboard access.  Remember, our default assumption is that the devices that EVE will run on are not in a secure location. 

EVE has multiple layers of network security built in.  VPNs can be provisioned to cloud services. Applications are deployed with firewall rules. Firewall rules can be managed remotely, and violations are logged. EVE’s has its own highly secure overlay network for device management that is also available to hosted applications. EVE supports TLS 1.2 for secure network communications.

Can I use any virtual machine with EVE?

Yes, EVE can run Xen compatible virtual machines.

What type of workloads do EVE support?

VMs (running on top of Xen, KVM or ACRN)
Containers (running in micro VMs on top of Xen, KVM and ACRN)
Containers running on bare metal
A random combination of all three can run on the same piece of hardware.

We allow for easy packaging of VMs (and Unikernels — since those are just tiny VMs) inside of Containers and that’s where your confusion may stem from. More on that here:
https://github.com/lf-edge/edge-containers/blob/master/README.md

Can I use Docker containers with EVE?

You can run a virtual machine with Linux that runs Docker Install within it.

What operating systems can I use with EVE?

Any operating system which can run in a Xen compatible virtual machine should be able to run on top of EVE.  Linux, Windows, Mirage OS have all been successfully tested so far.

Can EVE run on VMs in a production environment?
We’re very happy with running EVE as a VM on top of GCP. GCP is currently the only public Cloud that support nested virtualization well (Azure is a 2nd one — but it requires a bit more work). Nested virtualization is required if you want to install EVE as a Virtual Machine. More details on GCP can be found here: https://github.com/lf-edge/eden#google-cloud-support

What other LF Edge project software does EVE interoperate with?

EVE has been used successfully with EdgeX Foundry and Fledge.  We have worked with the Akraino community to create an IIoT (IIoT at the Smart Device Edge) Blueprint family.  We have also started to do some work with EdgeXOpen Horizon (OH) and Secure Device Onboarding (SDO).

How does EVE affect my connectivity with cloud services?

Applications have their own network interfaces and can be connected to different cloud services.  The EVE runtime can deploy VPNs that can securely connect to public clouds. The edge container manifest includes a firewall list that dictates which internet services can be connected to the application.

How do I control my EVE-powered devices?

Devices can be managed by any controller that implements EVE’s device API.  Currently the only compliant controller is Zededa’s Z Central service.  We do have a simple dev & test controller.  Check it out here: https://github.com/lf-edge/adam. We welcome any other controlling services that want to implement the device API.