Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

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
  • No labels