Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: run OCI image sources via temporary bundle #1125

Merged
merged 3 commits into from
Nov 17, 2022
Merged

Commits on Nov 16, 2022

  1. feat: run OCI image sources via temporary bundle

    When running containers in `--oci` mode, the argument to run is now an
    image reference corresponding to a native OCI format handled by
    containers/image, i.e.
    
    * docker://
    * docker-archive:
    * docker-daemon:
    * oci-archive:
    * oci:
    
    The source image is extracted into a temporary OCI bundle, with a
    minimally valid configuration that:
    
    * Runs the process specified by CMD & ENTRYPOINT only.
    * Sets the environment specified by the image ENV only.
    
    The approach is very naive - we pull through Singularity's OCI blob
    cache into a temporary oci layout dir, before creating the bundle from
    it. Auth handling for registries is not yet wired up. There is
    duplication of various pieces of code from the build / SIF OCI flows
    as these are not easily exposed to the area we are working in.
    
    The intent of the PR, at this stage, is simply to allow e.g.
    
        singularity run --oci docker://sylabsio/lolcow
    
    Closes sylabs#1036
    dtrudg committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    ecb1efe View commit details
    Browse the repository at this point in the history
  2. test: Add native OCI bundle verification test

    Simple test to create a native oci bundle from the supported sources,
    and verify it is valid with runtime-tools/validate.
    dtrudg committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    37d07de View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dbc2f37 View commit details
    Browse the repository at this point in the history