Closed lueschem closed 6 years ago
edi shall be able to build "images". Images can target various environments such as bare metal, lxd, Docker, ... .
Implement a command edi image create CONFIG.
edi image create CONFIG
The create command shall just expose access to plugins, enable introspection and provide the clean functionality.
create
clean
The configuration section of the create command might look as follows:
postprocessing_commands: 10_create_iso: path: path to iso plugin/script output: {{ edi_project_name }}.iso require_root: True parameters: bingo: bongo skip: False 20_create_vmdk: path: path to packer plugin/script output: {{ edi_project_name }}.vmdk
Hints:
edi_input_artifact
edi_output_artifact
edi_current_plugin_directory
edi_log_level
edi image clean
Plugin:
A plugin might look as follows:
#!/bin/bash {{ edi_current_plugin_directory }}/some_command --input {{ edi_input_artifact }} --output {{ edi_output_artifact }}
The plugins will be loaded using the jinja2 template engine and then executed. Attention: It will not get executed within its original folder!
A sample configuration that shows the edi image create functionality will follow.
edi image create
Issue Type
Desired Behaviour
edi shall be able to build "images". Images can target various environments such as bare metal, lxd, Docker, ... .
Design Ideas
Implement a command
edi image create CONFIG
.The
create
command shall just expose access to plugins, enable introspection and provide theclean
functionality.The configuration section of the
create
command might look as follows:Hints:
edi_input_artifact
,edi_output_artifact
,edi_current_plugin_directory
,edi_log_level
.edi_output_artifact
will become theedi_input_artifact
of the next script plugin.edi image clean
will delete the output artifacts.Plugin:
A plugin might look as follows:
The plugins will be loaded using the jinja2 template engine and then executed. Attention: It will not get executed within its original folder!