Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR enables use of image stored in remote LXD servers in Bravefiles. These remote images can be used as "Base" images during build or as "source" images during container deployment. In addition, during the build phase it is now possible to push the resulting image into a remote LXD server.
An example Bravefile using these features:
During build:
The "store" remote provides the base image for the build phase ("alpine/edge"). The resulting image "test-image/1.0" is built and then pushed into the "store" remote server.
During deploy:
The "store" remote holds the source image "test-image/1.0" to be deployed as a container. If bravetools does not have a local copy of the image already it will import it from the "store" remote. Then the resulting container will be pushed to the "deploy" remote.
Bravetools will always make a local copy of images it imports when possible, whether during build or if deploying a remotely stored image. Local images will be prioritized over remotely stored images if present; this last point may be debated - perhaps it's better to do the opposite and favour remote images by default instead? Or perhaps some validation could be done like checking fingerprints.
The mechanism used to import these images is the same as
brave base
, meaning a container will be spun up and turned into an image and exported as a single .tar.gz file.