Comments (12)
/cc @sgotti
from image.
/cc @philips also
from image.
- appc Destination: I'll convert the docker/oci config to an appc manifest and squash the layers in the appc rootfs (since given the ref vs appc name/labels it'll become a mess to map a layer to an aci). Basically what docker2aci does (I think we can borrow many things from it).
There're some special annotations added by docker2aci (https://github.com/appc/docker2aci/blob/master/lib/common/common.go#L33-L39) and some of them are needed by rkt (for example to detect a docker converted image to handle docker volume semantic rkt/rkt#2315). If we want the generated ACIs being directly and correctly usable by rkt they should be implemented.
- appc Source: I'll convert the appc manifest to a docker/oci config and fetch and render (for the above reason) the aci to a unique layer.
Implementing it we'll see how the interfaces work or if they need some changes.
from image.
I'm +1 on everything you said for appc Image destination - all the doubts around rkt specific pieces will be confined uner appc/
pkg so I don't mind having them if they're actually needed
I think we can start with the destination as it's pretty straightforward to do (I hope so) and re-iterate on the source
from image.
(I know about zero about appc, but :) )
The above suggests that both source and destination always do some kind of conversion. I hope that would work fine, and it would of course be very useful to be able to convert between formats; eventually we should also consider some kind of native support so that skopeo copy
can do an appc→appc copy with no conversion (and in particular, without breaking the signatures).
I have no idea whether it would be easy enough, or how would that happen (DockerLikeImage{Source,Destination}
and so on, and conversion logic in a copy
library?); just throwing this out here as something to consider for the future.
from image.
@mtrmac good point!
@runcom @mtrmac before opening a new issue what about the idea of implementing a source->converter->output pipeline (a la gstreaner)
sources will register their output format(s)
outputs(destinations) will register their accepted input formats
converters will register their accepted input output formats
The lib will find a converter for the requested source and output and start the pipeline
There can be for example an oci2appc, appc2oci and a passtrought converters.
from image.
@sgotti Yes, I think we are moving in that direction (already #23 is doing some conversion). I would hate for this to end up a graph and Dijkstra path search unless we end up really needing it, but a source → single converter → output seems inevitable, as does turning most of skopeo’s copy.go
into a library.
from image.
And FYI I'll soon want to add a docker tar image destination to output docker loadable tars
from image.
So oci2appcs or whatever makes sense for me
from image.
I would hate for this to end up a graph and Dijkstra path search
from image.
@runcom @vrothberg @mtrmac Three year old issue? Should I just close?
from image.
Closing
from image.
Related Issues (20)
- Image upload fails if PATCH lasts longer than expiry time of an OAuth token HOT 3
- Copy with encryption does not trigger a required conversion when the destination accepts all manifest formats HOT 1
- issues about copy with encryption/decryption for docker image format HOT 3
- Non-digested containers-storage references should resolve to the manifest that exists HOT 1
- Consider copying associated cosign artifacts HOT 1
- Fails to pull image from Quay Enterprise with auth and proxy storage enabled HOT 1
- Sigstore: allow registry substitution for `signedIdentity`. HOT 5
- Sigstore: Signed manifest list does not find signature HOT 2
- Can the server be upgraded to TLS1.2? HOT 2
- http auth scope parsing fails with multiple scopes HOT 7
- Creation of Zstd:chunked layers seems racy HOT 5
- Docs unclear about whether ostree is default HOT 1
- Warn if `registries.conf` contains config keys the consumer does not intend to use HOT 12
- inquiry about next release HOT 2
- Request for Sigstore signature verification enhancement and flexibility in cosign verify. HOT 1
- Request for Feedback: OCI image-spec 1.1.0 HOT 7
- `NewImage` does not fallback to other registries if image is not fully readable from a mirror HOT 5
- Fails to convert manifest.List to manifest.Schema2List HOT 2
- "unexpected MIME type for sigstore attachment manifest" when pulling a Cosign-ed image from Artifactory HOT 1
- podman search seems not to use registries.conf mirror for docker.io HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from image.