Ettore Di Giacinto
196cdc5cfc
🔧 Extract common func into api function, also set sane defaults
2021-12-28 18:55:59 +01:00
Ettore Di Giacinto
c98f427156
🎨 Introduce contextualized logging
...
This commit is multi-fold as it also refactors internally context and logger
as interfaces so it is easier to plug luet as a library externally.
Introduces a garbage collector (related to #227 ) but doesn't handle yet
parallelism.
Closes #265
2021-12-21 21:54:14 +01:00
Ettore Di Giacinto
c7f9708f90
Add CreateTar to image API
...
Add api call which uses go-container registry to create OCI images from
standard tar archives.
Consume new API when generating final images instead of docker building them
and adapts/add tests as necessary.
This change now allows to carry over xattrs to final images.
Fixes #266
2021-10-29 10:35:03 +02:00
Ettore Di Giacinto
aea3cdff8d
Use ondisk reference for deltas
2021-10-26 16:56:49 +02:00
Ettore Di Giacinto
c220eac061
Move bus to api/core
2021-10-24 19:07:41 +02:00
Ettore Di Giacinto
ebbb3aad27
Use API also when pulling from helpers used in client
2021-10-24 18:26:30 +02:00
Ettore Di Giacinto
6a9f19941a
Add crane-based methods for extraction
...
- create a new api package to encapsulate image manipulation
- use new api method to calculate delta
Fixes #258
Fixes #204
Fixes #90
2021-10-24 18:26:08 +02:00
Ettore Di Giacinto
a1c669d3ae
Define context for scoped operation across core types
...
It holds necessary state plus additional information relative to the
context which we are being run to (e.g. if we are in a terminal or not).
Besides in the future we can use it also as a contextual logger to
provide more smart logging capabilities.
This also replace the general global configuration instance that
previously was share between the core components.
2021-10-21 23:58:24 +02:00
Ettore Di Giacinto
57c769b4a5
Refactor compiler and annotate buildoptions into compiler metadata
...
This allows to later pick up values used during build of each package
2021-04-16 13:57:54 +02:00
Ettore Di Giacinto
662742851a
Generate backend bus events in the backends
2021-03-16 14:46:28 +01:00
Ettore Di Giacinto
749a4cb615
Add --backend-args
...
Allow to add arguments to the backend build arguments
Fixes #146
2021-02-22 13:49:29 +01:00
Ettore Di Giacinto
21bd76af9c
Uncomplicate runCommand and return command output
...
Fixes #189
2021-02-22 11:44:46 +01:00
Ettore Di Giacinto
b3e3abec8f
Fixup spinner data race
...
Add spinner lock
2021-02-17 13:01:32 +01:00
Daniele Rondina
c22adb3a47
compiler: Move spinner at the low level
2021-02-13 09:28:54 +01:00
Daniele Rondina
c1fe3278fa
backend: Add realtime output on building phase
...
The realtime output could be configured through
LUET_GENERAL__SHOW_BUILD_OUTPUT environment
variable or related config option or through
`--live-output` option.
2021-02-02 12:58:34 +01:00
Ettore Di Giacinto
85b5c96bdd
Promote to info building image messages
...
The user wants to know whats going on in this case. Image builds can
take up also long time
2021-01-24 19:09:09 +01:00
Ettore Di Giacinto
6f5f400765
Don't bail out if image doesn't exist locally
...
The backend will figure out if we have the image or not, otherwise will
atempt to pull if not there.
Skip retrieve integration test with img as its not supported.
2021-01-24 19:05:21 +01:00
Ettore Di Giacinto
be87861657
img: pull image if not locally present while extracting
2021-01-24 13:17:11 +01:00
Ettore Di Giacinto
b9f0ef1c55
Implement ImageExists in the img backend
2021-01-23 22:01:29 +01:00
Ettore Di Giacinto
a1f4c28973
Add GenerateFinalImage to package artifacts
...
GenerateFinalImage generates a docker image from scratch with the
artifact content.
Related to #169
2021-01-18 12:08:47 +01:00
Ettore Di Giacinto
43b0b11028
Define a build context for backends
2021-01-18 11:06:54 +01:00
Ettore Di Giacinto
ef034d87b0
Detect if images are available if we don't have to generate a Package
...
While building, if we aren't doing a clean build, we scan now to see if
images are available and we skip, in case we don't find a metadata
already.
2020-12-14 18:32:32 +01:00
Ettore Di Giacinto
a1453b7242
Fixup error messages
2020-12-11 23:03:56 +01:00
Ettore Di Giacinto
b5990b5333
Generate changes from CompilerBackendOptions and pass by image name so img can unpack images
2020-12-09 00:27:37 +01:00
Ettore Di Giacinto
66513955c7
Compute image diffs internally
...
Is it more faster in this way as we already have all the needed folders
to the comparison extracted. In this way we don't repeat I/O operation
twice by calling container-diff.
Do not depend on container-diff anymore
2020-08-05 19:09:45 +02:00
Ettore Di Giacinto
9e0e1199df
Check if image exists before skipping compilation
2020-06-03 21:00:30 +02:00
Ettore Di Giacinto
fcec6c5699
Add Push to hub feature
...
Add to the backends the Push capabilities to push images that were correctly built.
Also expose them to the CLI, along with KeepImg which was hidden.
2020-02-15 14:45:05 +01:00
Ettore Di Giacinto
1a584d0bfa
Fix img backend calls
...
Options have to go first always.
Note: it needs runc when unpacking
2019-12-02 16:36:29 +01:00
Ettore Di Giacinto
f107f47242
Prepare for 0.1 tag
2019-11-17 19:45:20 +01:00
Ettore Di Giacinto
6e662c75ce
Reuse docker backend in some Img functions
2019-11-17 18:38:57 +01:00
Ettore Di Giacinto
d752c0572b
Add unpack field to specify a package used as layer
...
Closes #9
2019-11-13 09:43:54 +01:00
Ettore Di Giacinto
c51c6264d7
Backend nows must expose a way to unpack rootfs of images
2019-11-10 10:47:28 +01:00
Ettore Di Giacinto
45651a3bcc
Define Artifact diffs layers
...
It also add in simpledocker a naive implementation using the container-diff binary, which is supposed to go away with a proper API implementation.
2019-11-09 13:58:15 +01:00
Ettore Di Giacinto
300e60984a
CompilerBackend now consumes a CompilerOptions
2019-11-08 18:29:51 +01:00
Ettore Di Giacinto
287212db1c
Add simple img backend
2019-11-05 17:37:21 +01:00