Eden is able to control different environments.
The environment should contain one EVE block at least and one controller block.
It may contain other blocks with other services, such as eserver, redis and any other service
Environment is launched by command
eden start
Environment can be stopped by the command
eden stop
Environment can be restarted by the command
eden restart.
It is an equivalent of eden stop/ eden start
I can have a small config.
Use case:
I want to test different eve bundles and be able to switch between them.
eden config generate default.
eden start
eden config add config2.yml (eden context add --name context1 --file config2.yml) - creates context file
eden config list
--default
–-config2
eden config (current name)
eden config set-context config2
eden start
eden test
eden config set-context default
eden test
Current variant of contexts github:
eden context - show current context
eden context list - show all available contexts
eden context add NAME - add context with name NAME and default config
eden context add NAME CONFIG_FILE.yml - add context with name NAME and config from CONFIG_FILE.yml
eden context set NAME - set NAME as current context
Now context stored in ./eden/contexts/<name.yml>
Local tests- should be stored in context-aware directories
local files that are downloaded or used for environment/context are stored in ./eden/context-files/<context-name>/
#config is generated by eden adam: #tag on adam container to pull tag: 0.0.36 #location of adam dist: adam #port of adam port: 3333 #domain of adam domain: mydomain.adam #ip of adam for EVE access eve-ip: 192.168.0.2 #ip of adam for EDEN access ip: 192.168.1.241 #force adam rebuild force: true #certificate for communication with adam ca: adam/run/config/root-certificate.pem #use remote adam remote: true #use v1 api v1: true eve: #devmodel devmodel: Qemu #EVE arch (amd64/arm64) arch: amd64 #EVE os (linux/darwin) os: linux #EVE acceleration (set to false if you have problems with qemu) accel: true #variant of hypervisor of EVE (kvm/xen) hv: kvm #serial number in SMBIOS serial: 31415926 #onboarding certificate of EVE to put into adam cert: certs/onboard.cert.pem #EVE pid file pid: eve.pid #EVE log file log: eve.log #EVE firmware firmware: eve/dist/amd64/OVMF.fd #eve repo used in clone mode (eden.download = false) repo: https://github.com/lf-edge/eve.git #eve tag tag: 5ee6043906449f7fa3447c96fd38dc9a536c5693 #eve tag for base os base-tag: 571d94a11fa19d79805a0465030175b7257d343b #eve version (without hv and os) base-version: 0.0.0-snapshot-master-93c2dbb2-2020-05-08.13.15 #forward of ports in qemu [(HOST:EVE)] hostfwd: 2222: 22 5912: 5901 5911: 5900 8027: 8027 8028: 8028 #location of eve directory dist: eve #location of EVE base os directory base-dist: evebaseos #file to save qemu config qemu-config: /home/fleandr/.eden/qemu.conf #uuid of EVE to use in cert uuid: 54236a31-7ddb-4610-ba68-9d9a1db17e24 #live image of EVE image-file: eve/dist/amd64/live.qcow2 #dtb directory of EVE dtb-part: #config part of EVE config-part: adam/run/config eden: #root directory of eden root: /home/fleandr/eden2/eden/dist images: #directory to save images dist: images #yml to build docker image docker: /home/fleandr/eden2/eden/images/docker/alpine/alpine.yml #yml to build vm image vm: /home/fleandr/eden2/eden/images/vm/alpine/alpine.yml #download eve instead of build download: true #eserver is tool for serve images eserver: #ip (domain name) of eserver for EVE access ip: mydomain.adam #port for eserver port: 8888 #pid for eserver pid: eserver.pid #log of eserver log: eserver.log #directory to save certs certs-dist: certs #directory to save binaries bin-dist: bin #ssh-key to put into EVE ssh-key: certs/id_rsa.pub #observe logs in tests logs: false #eden binary eden-bin: eden #test binary test-bin: eden.integration.test #test script test-script: eden.integration.tests.txt