Commit Graph

14 Commits

Author SHA1 Message Date
David Cassany
f71f7aea18 Refactor RootImport to keep images with a default name
RootImport has been refactored so the image is kept with a known
name that can be obtained with the Defaults class.
2017-03-15 09:47:35 +01:00
Marcus Schäfer
ad2ca8d2aa
Refactor ContainerBuilder
Use Checksum instance to run a checksum match
Check for existence of base image at earliest opportunity
when constructing a ContainerBuilder
2017-03-14 10:22:59 +01:00
Marcus Schäfer
0f68081211 Handle derived image as Uri instance 2017-03-13 20:20:24 +01:00
David Cassany
98d56ea34f Refactored RootImport and included checksum validation
First, commit refactors RootImport in order to also copy
the imported image after sychronizing the import.

Second, it includes a checksum of the copied image which is
validated in later steps.
2017-03-13 20:20:24 +01:00
David Cassany
9e8eb94d6d Support for layered docker images
This commit includes support for building layered docker. A new
layer is added on top of the base image referenced by `derived_from`
attribute.
2017-03-13 20:20:24 +01:00
Marcus Schäfer
1a5257a0e8 Prevent use of project relative import statements
For details on the motivation of this change please visit:
https://wiki.python.org/moin/FutureProofPython
2017-03-07 11:23:37 +01:00
Marcus Schäfer
3e6848ed88 Refactor docker container creation
Instead of creating a simple tarball the tools umoci and skopeo
from the docker tool chain are used to create official docker
images. Along with those tools more information to describe a
container has been added to the schema. A complete container
setup now consists of the following elements

<type image="docker">
    <containerconfig name="..." maintainer="..." user="..." workingdir="...">
        <entrypoint execute="command">
            <argument name="option"/>
            ...
        </entrypoint>
        <subcommand execute="command">
            <argument name="option"/>
            ...
        </subcommand>
        <expose>
            <port number="..."/>
            ...
        </expose>
        <volumes>
            <volume name="..."/>
            ...
        </volumes>
        <environment>
            <env name="variable" value="value"/>
            ...
        </environment>
        <labels>
            <label name="..." value="..."/>
            ...
        </labels>
    </containerconfig>
</type>
2017-02-27 15:28:38 +01:00
Marcus Schäfer
760c88682f
Update container builder code to new schema layout 2017-01-09 11:30:01 +01:00
Marcus Schäfer
9fd988f4e5
Update builder inline API documentation
References #49
2016-04-13 12:52:25 +02:00
Marcus Schäfer
773033eebe
Refactor SystemSetup class
the information about the description_dir is part of the
provided xml_state instance. There is no need to pass that
information along twice
2016-03-24 16:41:47 +01:00
Marcus Schäfer
39d08c35f3 Continue Refactor into subpackage
Move container_setup from toplevel into container.setup
2016-03-09 10:05:47 +01:00
Marcus Schäfer
612c574148
Continue Refactor into subpackage
system install, update, size, users, result should have their own namespace
2016-03-07 17:33:39 +01:00
Marcus Schäfer
10a036932f
Continue Refactor into subpackage
container and container_setup should have their own namespace
2016-02-29 11:02:58 +01:00
Marcus Schäfer
1e21da7201
Continue Refactor into subpackage
The builder classes should have their own namespace
2016-02-29 10:32:01 +01:00