Applications

Eve & Controller (Either open-source Eden or commercial one  - ZedCloud ) are enough for DevOps to deploy applications. For Eve an application is either a Docker container or a Virtual Machine. 

Currently, the following applications were tested on Eve: 

  • Nginx Webserver - Docker image 

eden pod deploy -p 8028:80 docker://nginx

Deploys  Nginx web server. Exposes web-service on port 8028. Doesn't allow uploading website files anywhere or change the config. 

eden pod deploy -p 8027:22 https://cloud-images.ubuntu.com/releases/groovy/release-20210108/ubuntu-20.10-server-cloudimg-amd64.img 
-v debug --metadata='#cloud-config\npassword: passw0rd\nchpasswd: { expire: False }\nssh_pwauth: True\n'

Deploys a VM with login ubuntu and password passw0rd. Exposes ssh on port 8027

eden pod deploy docker://rancher/k3s --metadata='K3S_URL=https://<MASTER_K3S_IP>:6443\nK3S_TOKEN=<K3S_TOKEN>' --volume-type=none

Deploys K3S node without exposing any ports.

  • MongoDB - Docker image

eden pod deploy  docker://mongo  -p 8028:27017 --metadata='MONGO_INITDB_ROOT_USERNAME=admin\n MONGO_INITDB_ROOT_PASSWORD=password'

Deploys MongoDB. Exposes the port 8028 for the control interface. 

Connect from the other machine using standard mongo client: mongo --host 127.0.0.1 --port 8028 --username admin --password --authenticationDatabase admin

eden network create 10.11.12.0/24 -n indirect

eden network create --type switch --uplink none -n direct

eden pod deploy -v debug -n eclient docker://itmoeve/eclient:0.7 -p 8027:22 --networks=indirect --networks=direct

eden pod deploy -n openwrt file:///openwrt-19.07.7-x86-64-combined-squashfs.img --format=raw --networks=direct --networks=indirect --disk-size=1G

ssh -o ConnectTimeout=10 -o StrictHostKeyChecking=no -o PasswordAuthentication=no -i tests/eclient/image/cert/id_rsa -p 8027 root@127.0.0.1

ssh 192.168.1.1 


The default IP of the LAN ports of an OpenWrt device is 192.168.1.1. We creating a switch(available only for apps, without internet)  and deploy a standard eclient container to make the first ssh connection to OpenWrt.  After connection, you can config the network according to this documentation https://openwrt.org/docs/guide-user/base-system/basic-networking.