v.0.1 - WIP
Overview
The Eden project is about:
- Build & deploy EVE with ADAM and other runtime supplements in Docker containers and control this deployment
- Administer existing configurations (now only one or controller command)
- Upgrade EVE images on any amount of devices
- Handle test suits and configuration of tests
- Run runtime test suits and provide comprehensive logs
- Test 1/10 : Test name 1 : Passed
- Test 2/10 : Test name 2: Failed log:
- Discover EVEs and get comprehensive configurations from ADAM
- Monitor existing EVE/ADAM for critical errors
- View EVE and ADAM logs and filter logs
- Deploy containers/EVE VM's to any amount of EVEs
Questions:
- Does user change config manually - can we validate the config overall.
- Now we don't have options to substitute modules - no package manager for EVE
Building EVE
builds are done in a separate place. Eden can work only with pre-built binaries.
Deploy EVE/ADAM
Now EDEN supports only one ADAM/ one EVE
- eden config + eden setup + eden start - creates config, downloads base docker images + repack docker image for HTTP access from EVE
- eden status.
- I should be able to set a command for taking eve from my git repo or local folder, build it and deploy.
- If I change the config it should be tested against formal requirements before any deploy/change is done
Work with existing EVE/ADAM
I wanna be able to pass explicitly ADAM parameters and use ADAM + EVEs that are connected to this ADAM to
Running tests
Test bundles. - A list of go tests.
I should be able to list test bundles
I should be able to create test bundle by listing individual items
I should be able to get a comprehensive description of a test bundle
I should be able to run a test bundle and on each stage be sure what happens with the test. Get what item am I running and it's stage.
I should be able to turn off (and it should be default option) any output except SUCCESS/PASSED for individual items
I should be able at any time get a sequential number and the name of the test in the itemlist
I should get back the error of the test once it occurs.
I should have an option to stop the test on the first occurred error or continue. In that case I would like to see
Test 1: Test name 1 -PASSED
Test 2: Test name 2 - FAILED
<Error log>
Test 3: Test name 3 - PASSED
Proposed commands:
Config
A config is a configuration of eden. It contains EDEN setup and handles the default config that is used in other commands
- eden config generate default
- eden config add
- eden config list
- eden config delete
- eden config set-context
Eden
Eden itself as a bundle. When Eden is started or stopped all services within eden are started and stopped.
Status returns the list of all eden services from the current config.
- eden start/stop/restart/status
Eden adam
Work with adams in the eden config
- eden adam list
- eden adam start/stop/restart/status
- eden adam get-config
- eden adam update-config
- eden adam logs
Eden eve
Work with eve in the eden config
- eden eve list
- eden eve start/stop/restart/status
- eden eve eveimage-update
- eden eve eveimage-remove
- eden eve update-config
- eden eve logs
- eden eve get-config
- eden eve attach
- eden eve exec
Eden tests
Perform tests within current eden config. Works with test bundles that are a list of go tests executed sequentially
- eden tests list
- eden tests add
- eden tests delete
- eden tests start
- eden tests stop
- eden tests logs
Eden pods
Work with containers within eves from eden config
- eden pod list
- eden pod add
- eden pod run
- eden pod delete
- eden pod start/stop/restart/status
- eden pod logs
- eden pod attach
- eden pod exec